我有两个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()?
1 回答
请检查以下内容
已使用压缩 .
加入条件存在 .
从火花UI中检查 driver program heap memory 并进行更改 .