我有两个Spark数据帧,每个数据帧为5.39亿行和4列。列A和B是字符串,列C,D,E和F是浮点数
DF1
-----------------
A B C D
"A1" "B1" 1.1 1.2
"A2" "B2" 1.3 1.4
DF2
-----------------
A B E F
"A1" "B1" 2.1 2.2
"A2" "B2" 2.3 2.4
我想加入DF1(5.39亿行)和DF2(也是5.39亿行)。我在50节点集群和8 GB执行程序内存上尝试了DF1.join(DF2 ,," fullouter")。它会自动终止带有内存不足错误消息的群集。
是否有替代方法可以加入rdds或数据集,这些数据集的内存效率高于df.join()?
答案 0 :(得分:0)
请检查以下内容
答案 1 :(得分:0)
您还需要检查以下内容: 1)您如何划分数据 2)您已根据分区数分配了多少执行程序 3)如上所述:驱动程序内存