如何在spark中连接两个大型数据集

时间:2017-07-16 15:44:24

标签: apache-spark yarn

我目前可以处理大型数据集,一个是像670Gb镶木地板,带有200个唯一密钥的snappy文件,10000个分区和其他数据集也很大,有100多个密钥和200个分区但不能用作连接中的广播表。

--conf spark.sql.shuffle.partitions=4000
--conf spark.executor.memory=24g
--conf spark.yarn.executor.memoryOverhead=2048
--executor-cores 1 

每个节点我可以拥有最多28 Gb的容器,其他明智的纱线可以杀死它。我有570节点集群和128Gb内存。 我该如何处理数据集以加入操作。

[Stage 3:>                                                   (68 + 717) / 10136]

现在我不确定为什么我得到717活动任务,因为我每个节点只运行一个执行程序( - executor-cores 1),你能帮我理解这个吗? 请建议我应该如何使用此连接操作,因为如果我是正确的每个键的数据足够大,我不能适合在一个节点。 我收到错误

java.nio.channels.ClosedChannelException
17/07/16 02:49:10 ERROR LiveListenerBus: Dropping SparkListenerEvent because no remaining room in event queue. This likely means one of the SparkListeners is too slow and cannot keep up with the rate at which tasks are being started by the scheduler.

0 个答案:

没有答案