Apache spark Scala:在数据帧中定义主键

Apache spark Scala:在数据帧中定义主键,apache-spark,primary-key,spark-dataframe,Apache Spark,Primary Key,Spark Dataframe,使用数据帧时是否可以定义主键? 我有两个数据帧,我在“ID”上加入了它们。现在我想选择“Date”,并在输出中收到主键“ID” val join1 = df_2.join(df_3, df_3.col("ID") === df_2.col("APPLICATION2_ID")) val joinFinal = join1.join(df_1, df_1.col("ID") === join1.col("ID")) 为了在连接相同命名列时消除重复列,请使用Seq版本: val joinFina

使用数据帧时是否可以定义主键? 我有两个数据帧,我在“ID”上加入了它们。现在我想选择“Date”,并在输出中收到主键“ID”

val join1 = df_2.join(df_3, df_3.col("ID") === df_2.col("APPLICATION2_ID")) 
val joinFinal = join1.join(df_1, df_1.col("ID") === join1.col("ID"))

为了在连接相同命名列时消除重复列,请使用Seq版本:

val joinFinal = join1.join(df_1, Seq("ID"))

数据帧没有主键的概念,您的建议应该有效…您到底尝试了什么不起作用?val join1=df_2.join(df_3,df_3.col(“ID”)==df_2.col(“APPLICATION2_ID”))val joinFinal=join1.join(df_1,df_1.col(“ID”)==join1.col(“ID”))我有3个数据帧,我加入了其中,所有数据帧都有“ID”列。现在我正在尝试执行一个转换。val df_Move=joinFinal。选择(“ID”、“日期”)。但是,由于名为“ID”的多列,我得到了一个不明确的ID错误。@SFatima,错误是什么?线程“main”org.apache.spark.sql.AnalysisException中的异常:引用“ID”不明确,可能是:ID#132,ID#0