[ 
https://issues.apache.org/jira/browse/SPARK-29427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Hagerf updated SPARK-29427:
-------------------------------------
    Description: 
The scenario I'm having is that I'm reading two huge bucketed tables and since 
a regular join is not performant enough for my cases, I'm using groupByKey to 
generate two KeyValueGroupedDatasets and cogroup them to implement the merging 
logic I need.

The issue with this approach is that I'm only grouping by the column that the 
tables are bucketed by but since I'm using groupByKey the bucketing is 
completely ignored and I still get a full shuffle. 
 What I'm looking for is some functionality to tell Catalyst to group by a 
column in a relational way but then give the user a possibility to utilize the 
functions of the KeyValueGroupedDataset e.g. cogroup (which is not available 
for dataframes)

 

At current spark (2.4.4) I see no way to do this efficiently. I think this is a 
valid use case which if solved would have huge performance benefits.

  was:
The scenario I'm having is that I'm reading two huge bucketed tables and since 
a regular join is not performant enough for these cases I'm using groupByKey to 
generate two KeyValueGroupedDatasets and cogroup them to implement the logic I 
need.

The issue with this approach is that I'm only grouping by the column that the 
tables are bucketed by but since I'm using groupByKey the bucketing is 
completely ignored and I still get a full shuffle. 
What I'm looking for is some functionality to tell Catalyst to group by a 
column in a relational way but then give the user a possibility to utilize the 
functions of the KeyValueGroupedDataset e.g. cogroup (which is not available 
for dataframes)

 

At current spark (2.4.4) I see no way to do this efficiently. I think this is a 
valid use case which if solved would have huge performance benefits.


> Create KeyValueGroupedDataset from RelationalGroupedDataset
> -----------------------------------------------------------
>
>                 Key: SPARK-29427
>                 URL: https://issues.apache.org/jira/browse/SPARK-29427
>             Project: Spark
>          Issue Type: New Feature
>          Components: Spark Core, SQL
>    Affects Versions: 2.4.4
>            Reporter: Alexander Hagerf
>            Priority: Major
>
> The scenario I'm having is that I'm reading two huge bucketed tables and 
> since a regular join is not performant enough for my cases, I'm using 
> groupByKey to generate two KeyValueGroupedDatasets and cogroup them to 
> implement the merging logic I need.
> The issue with this approach is that I'm only grouping by the column that the 
> tables are bucketed by but since I'm using groupByKey the bucketing is 
> completely ignored and I still get a full shuffle. 
>  What I'm looking for is some functionality to tell Catalyst to group by a 
> column in a relational way but then give the user a possibility to utilize 
> the functions of the KeyValueGroupedDataset e.g. cogroup (which is not 
> available for dataframes)
>  
> At current spark (2.4.4) I see no way to do this efficiently. I think this is 
> a valid use case which if solved would have huge performance benefits.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to