Предположим, у вас есть датафрейм. df1 и если вы хотите соединить один и тот же кадр данных, вы можете использовать ниже

val rdd = sc.parallelize(Seq(("vskp", Array(2.0, 1.0, 2.1, 5.4)),("hyd",Array(1.5, 0.5, 0.9, 3.7)),("hyd", Array(1.5, 0.5, 0.9, 3.2)),("tvm", Array(8.0, 2.9, 9.1, 2.5))))
val df1= rdd.toDF("id", "vals")
val rdd1 = sc.parallelize(Seq(("vskp","ap"),("hyd","tel"),("bglr","kkt")))
val df2 = rdd1.toDF("id", "state")
val df3 = df1.join(df2,df1("id")===df2("id"),"left")

ция соединения работает нормально, но при повторном использовании df2 я сталкиваюсь с ошибкой неразрешенных атрибутов

val rdd2 = sc.parallelize(Seq(("vskp", "Y"),("hyd", "N"),("hyd", "N"),("tvm", "Y")))
val df4 = rdd2.toDF("id","existance")
val df5 = df4.join(df2,df4("id")===df2("id"),"left")

ОШИБКА: org.apache.spark.sql.AnalysisException: разрешенный атрибут (ы) id # 426

Ответы на вопрос(0)

Ваш ответ на вопрос