[
https://issues.apache.org/jira/browse/HIVE-8621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14202727#comment-14202727
]
Jimmy Xiang commented on HIVE-8621:
-----------------------------------
Attached v2 which is on RB: https://reviews.apache.org/r/27745/
> Dump small table join data for map-join [Spark Branch]
> ------------------------------------------------------
>
> Key: HIVE-8621
> URL: https://issues.apache.org/jira/browse/HIVE-8621
> Project: Hive
> Issue Type: Sub-task
> Reporter: Suhas Satish
> Assignee: Jimmy Xiang
> Fix For: spark-branch
>
> Attachments: HIVE-8621.1-spark.patch, HIVE-8621.2-spark.patch
>
>
> This jira aims to re-use a slightly modified approach of map-reduce
> distributed cache in spark to dump map-joined small tables as hash tables
> onto spark DFS cluster.
> This is a sub-task of map-join for spark
> https://issues.apache.org/jira/browse/HIVE-7613
> This can use the baseline patch for map-join
> https://issues.apache.org/jira/browse/HIVE-8616
> The original thought process was to use broadcast variable concept in spark,
> for the small tables.
> The number of broadcast variables that must be created is m x n where
> 'm' is the number of small tables in the (m+1) way join and n is the number
> of buckets of tables. If unbucketed, n=1
> But it was discovered that objects compressed with kryo serialization on
> disk, can occupy 20X or more when deserialized in-memory. For bucket join,
> the spark Driver has to hold all the buckets (for bucketed tables) in-memory
> (to provide for fault-tolerance against Executor failures) although the
> executors only need individual buckets in their memory. So the broadcast
> variable approach may not be the right approach.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)