我创建了 3 个数据框,现在我想加入它们。但是,我遇到了此错误: NoSuchMethodError: org.apache.spark.rdd.RDD.mapPartitionsInternal$default$2()Z
这是代码:
val join1 = c1_df.join(ck_df, ck_df.col("APP_ID") === c1_df.col("ID"))
val joinFinal = join1.join(c2_df, c2_df.col("APP_ID") === join1.col("APP_ID"))
joinFinal.show()
以下代码片段可以正常工作。 您确定c1_df
、ck_df
和c2_df
是有效的数据帧吗?这也可能是火花版本控制设置问题。确保您使用的是正确版本的 Spark,并且相应地设置了SPARK_HOME变量。
val c1_df = sc.parallelize((1 to 10)).toDF("ID")
val ck_df = sc.parallelize((1 to 10)).toDF("APP_ID")
val c2_df = sc.parallelize((1 to 10)).toDF("APP_ID")
val join1 = c1_df.join(ck_df, ck_df.col("APP_ID") === c1_df.col("ID"))
val joinFinal = join1.join(c2_df, c2_df.col("APP_ID") === join1.col("APP_ID"))
joinFinal.show()
+---+------+------+
| ID|APP_ID|APP_ID|
+---+------+------+
| 1| 1| 1|
| 6| 6| 6|
| 3| 3| 3|
| 5| 5| 5|
| 9| 9| 9|
| 4| 4| 4|
| 8| 8| 8|
| 7| 7| 7|
| 10| 10| 10|
| 2| 2| 2|
+---+------+------+