[
https://issues.apache.org/jira/browse/HIVE-8202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Szehon Ho updated HIVE-8202:
----------------------------
Attachment: HIVE-8202.1-spark.patch
This passes all the auto_convert_join.* tests. It is as I outlined in
design-doc. Most optimization happens in logical layer even before
SparkCompiler, all we do is attach the localWork to the MapWork with the right
informations.
I struggled for awhile about the bucket names not being same, for same data in
different tables. It seems just changing file-sink operations to use MR-style
shuffle (w/HashPartitioner) fixes it, as it was using RangePartitioner before.
However, this affects bunch of query plans so attaching first patch for a spin.
Also, I have a test about inserting to two tables via MR and spark, and doing
SMB join on them to verify bucket-name is consistent for same data. It seems
to work. But I probably need HIVE-7801 to checkin that test, as it will make
sense to run it only on Spark, maybe it can come later.
I even tried the test
> Support SMB Join for Hive on Spark [Spark Branch]
> -------------------------------------------------
>
> Key: HIVE-8202
> URL: https://issues.apache.org/jira/browse/HIVE-8202
> Project: Hive
> Issue Type: Sub-task
> Components: Spark
> Reporter: Xuefu Zhang
> Assignee: Szehon Ho
> Attachments: HIVE-8202.1-spark.patch, Hive on Spark SMB Join.docx,
> Hive on Spark SMB Join.pdf
>
>
> SMB joins are used wherever the tables are sorted and bucketed. It's a
> reduce-side join. The join boils down to just merging the already sorted
> tables, allowing this operation to be faster than an ordinary map-join.
> However, if the tables are partitioned, there could be a slow down as each
> mapper would need to get a very small chunk of a partition which has a single
> key. Thus, in some scenarios it's beneficial to convert SMB join to SMB map
> join as well.
> The task is to research and support the conversion from regular SMB join to
> SMB map join for Spark execution engine.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)