[
https://issues.apache.org/jira/browse/FLINK-925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14046967#comment-14046967
]
Fabian Hueske commented on FLINK-925:
-------------------------------------
I am pretty sure that CoGroup uses the same mechanism as GroupBy (reduce) and
Join. The missing restriction for Comparable return types of the KeySelector
was just missing.
The limitation that a grouping key may only be an atomic type must be relaxed
for this issue such that also Tuples that contain atomic types are supported.
So in order to solve this issue you need to add support for having a Tuple with
atomic types as a key.
> 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)