You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Tobias (JIRA)" <ji...@apache.org> on 2014/07/02 17:42:26 UTC

[jira] [Commented] (FLINK-925) Support KeySelector function returning Tuples

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

Tobias commented on FLINK-925:
------------------------------

I added a case so that tuples in tuples are compared using all their keys. So when a Tuple is key field, a TupleComparator is created, which is using *all fields as key*.
[https://github.com/tobwiens/incubator-flink/commit/bd086ed9d1cbca30fe8540fb08a3124926ed3305]

Therefore all nested tuples should work, even more than 2. Those are now broken down until an atomic type or not supported (Exception thrown) type is reached.

I did not see any test cases for TupleTypeInfo.java. 
Should I add test cases? And how would a good designed test case look like? Since it has many possible execution paths and theoretically there could be many tuples nested. 


> Support KeySelector function returning Tuples
> ---------------------------------------------
>
>                 Key: FLINK-925
>                 URL: https://issues.apache.org/jira/browse/FLINK-925
>             Project: Flink
>          Issue Type: Improvement
>    Affects Versions: 0.6-incubating
>            Reporter: Fabian Hueske
>            Assignee: Tobias
>            Priority: Minor
>              Labels: starter
>
> KeySelector functions are used to extract keys on which DataSets can be grouped or joined.
> Currently, the keys types returned by KeySelector function are restricted to be comparable. However, Flinks Tuple data types are not comparable (because this depends on the types of its fields) which makes grouping and joining on composite keys difficult.
> We should change the signature of the groupBy(), join(), and coGroup() methods to allow also non-comparable keys as return types of a KeySelector function. 
> Instead we will check at optimization time whether the returned type is comparable (which is true for tuples if all elements are comparable).



--
This message was sent by Atlassian JIRA
(v6.2#6252)