Scala Spark 2.1.0,在执行第二次联接时无法解析列名
我有三个表,两个表在一个表中都有键,所以我在 A&B=D 现在我想用D&C的连接来完成连接 问题是我得到了这个错误:Scala Spark 2.1.0,在执行第二次联接时无法解析列名,scala,join,apache-spark,Scala,Join,Apache Spark,我有三个表,两个表在一个表中都有键,所以我在 A&B=D 现在我想用D&C的连接来完成连接 问题是我得到了这个错误: org.apache.spark.sql.AnalysisException: Cannot resolve column name "ClaimKey" among (_1, _2); at org.apache.spark.sql.Dataset$$anonfun$resolve$1.apply(Dataset.scala:219) 这是齐柏林飞艇的实际代码: join
org.apache.spark.sql.AnalysisException: Cannot resolve column name "ClaimKey" among (_1, _2);
at org.apache.spark.sql.Dataset$$anonfun$resolve$1.apply(Dataset.scala:219)
这是齐柏林飞艇的实际代码:
joinedperson.printSchema
filteredtable.printSchema
val joined = joinedperson.joinWith(filteredtable,
filteredtable.col("ClaimKey") === joinedperson.col("ClaimKey"))
这是我试图加入的两个表的模式,问题是第一个模式中的ClaimKey
root
|-- _1: struct (nullable = false)
| |-- clientID: string (nullable = true)
| |-- PersonKey: string (nullable = true)
| |-- ClaimKey: string (nullable = true)
|-- _2: struct (nullable = false)
| |-- ClientID: string (nullable = true)
| |-- MyPersonKey: string (nullable = true)
root
|-- clientID: string (nullable = true)
|-- ClaimType: string (nullable = true)
|-- ClaimKey: string (nullable = true)
我从拼花文件中读取了原始数据,然后使用case类将行映射到类中,并创建了数据集
我想这是由于元组造成的,那么我如何进行连接呢?第一个数据帧的结构是嵌套的-
ClaimKey
是另一个字段中的字段(\u 1
);要访问这样一个字段,您只需给出该字段的“路径”,父字段用点分隔:
val joined = joinedperson.joinWith(filteredtable,
filteredtable.col("ClaimKey") === joinedperson.col("_1.ClaimKey"))
第一个数据帧的结构是嵌套的-
ClaimKey
是另一个字段中的字段(\u 1
);要访问这样一个字段,您只需给出该字段的“路径”,父字段用点分隔:
val joined = joinedperson.joinWith(filteredtable,
filteredtable.col("ClaimKey") === joinedperson.col("_1.ClaimKey"))
非常感谢你。这么简单的解决方案。非常感谢。这是一个简单的解决方案。