【发布时间】:2018-05-03 10:53:35
【问题描述】:
我有两个 DF(railroadGreaterFile,railroadInputFile)。
如果railroadGreaterFile 中的MEMBER_NUM 列中的数据与railroadInputFile 中MEMBER_NUM 列中的数据匹配,我想从railroadGreaterFile 中删除记录
以下是我使用的:
val columnrailroadInputFile = railroadInputFile.withColumn("check", lit("check"))
val railroadGreaterNotInput = railroadGreaterFile
.join(columnrailroadInputFile, Seq("MEMBER_NUM"), "left")
.filter($"check".isNull)
.drop($"check")
执行上述操作,记录被删除,但是我看到railroadGreaterNotInput 的架构是我的DF1 和DF2 的组合,所以当我尝试将railroadGreaterNotInput 的数据写入文件时,它给了我下面错误
org.apache.spark.sql.AnalysisException: Reference 'GROUP_NUM' is ambiguous, could be: GROUP_NUM#508, GROUP_NUM#72
我应该怎么做才能使railroadGreaterNotInput 只包含来自railroadGreaterFile DF 的字段?
【问题讨论】:
-
您可以从 railroadInputFile 重命名冲突的列名,并且只有在加入它们后才选择 railroadGreaterFile 数据框列
标签: scala apache-spark