Apache spark Spark数据帧上连接的替代方案

Apache spark Spark数据帧上连接的替代方案,apache-spark,join,spark-dataframe,Apache Spark,Join,Spark Dataframe,我有两个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亿行)和D

我有两个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节点集群和8GB执行器内存上尝试了DF1.join(DF2,,“fullouter”)。它会自动终止群集,并显示内存不足错误消息


是否有比df.join()更节省内存的RDD或数据集连接的替代方案

请检查以下内容

  • 已使用的压缩
  • 存在联接条件
  • 从spark UI中检查驱动程序堆内存,并对其进行更改

  • 您还需要检查以下内容: 1) 您是如何对数据进行分区的 2) 您根据分区的数量分配了多少执行者
    3) 如上所述:驱动程序内存

    我想您没有提到这两个表的公共键。