You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Greg Hogan (JIRA)" <ji...@apache.org> on 2016/07/15 15:31:20 UTC

[jira] [Commented] (FLINK-1267) Add crossGroup operator

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

Greg Hogan commented on FLINK-1267:
-----------------------------------

I think my FLINK-3910 is a duplicate of this idea. I am both buoyed by Fabian having submitted this idea and deflated by Stephan's assessments.

Could this be implemented as {{cross()}} in the same way that {{reduce()}} can be applied to either a grouped or full DataSet?

> Add crossGroup operator
> -----------------------
>
>                 Key: FLINK-1267
>                 URL: https://issues.apache.org/jira/browse/FLINK-1267
>             Project: Flink
>          Issue Type: New Feature
>          Components: DataSet API, Local Runtime, Optimizer
>    Affects Versions: 0.7.0-incubating
>            Reporter: Fabian Hueske
>            Assignee: pietro pinoli
>            Priority: Minor
>
> A common operator is to pair-wise compare or combine all elements of a group (there were two questions about this on the user mailing list, recently). Right now, this can be done in two ways:
> 1. {{groupReduce}}: consume and store the complete iterator in memory and build all pairs
> 2. do a self-{{Join}}: the engine builds all pairs of the full symmetric Cartesian product.
> Both approaches have drawbacks. The {{groupReduce}} variant requires that the full group fits into memory and is more cumbersome to implement for the user, but pairs can be arbitrarily built. The self-{{Join}} approach pushes most of the work into the system, but the execution strategy does not treat the self-join different from a regular join (both identical inputs are shuffled, etc.) and always builds the full symmetric Cartesian product.
> I propose to add a dedicated {{crossGroup()}} operator, that offers this functionality in a proper way.



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