[ 
https://issues.apache.org/jira/browse/FLINK-2309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14612399#comment-14612399
 ] 

Timo Walther commented on FLINK-2309:
-------------------------------------

Yes, indeed. Another reason to actually use the analyzer. This should not be 
too complicated to implement.

I can implement this feature, during the implementation of FLINK-2316.

> 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)

Reply via email to