You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2015/07/01 19:22:04 UTC

[jira] [Created] (FLINK-2309) Use static code analysis to replace selector functions with field accesses.

Stephan Ewen created FLINK-2309:
-----------------------------------

             Summary: Use static code analysis to replace selector functions with field accesses.
                 Key: FLINK-2309
                 URL: https://issues.apache.org/jira/browse/FLINK-2309
             Project: Flink
          Issue Type: Improvement
          Components: Scala API
    Affects Versions: 0.9
            Reporter: Stephan Ewen
            Priority: Minor


In the Scala API, it is nice and safe to specify the fields that are used for joining or grouping as selector functions, like this:

{code}
val a: DataSet[MyType] = ...
val b: DataSet[(String, Int)] = ...
a join b where { _.name } equalTo { _._1 }
{code}

We could save the MapFunctions that run the key selectors if we run the static code analysis on the key selectors and determine that they have only some read fields that they forward, and no modifications. In this case the SCA could adjust the program to

{code}
val a: DataSet[MyType] = ...
val b: DataSet[(String, Int)] = ...
a.join(b).where("name").equalTo(1)
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)