如何解决dropDuplicate并过滤另一个数据帧中的重复项
我有一个具有10万条记录的数据框,并且我想在一列的基础上删除重复的记录,然后在过滤掉不同数据框中的记录之后进行过滤,为此,我使用以下逻辑:-
val df= sqlContext.read.json("/hdfs/demo/bulk/file1.json")
val uniqueDF= df.dropDuplicate(Seq("rank")) // rank column contain some duplicate values and id column is unique
uniqueDF.write.format("com.databricks.spark.csv").option("header","true")
.option("delimiter","|").save("/hdfs/records/unique/")
// then ffitering dropped records
val dupeDF=df.except(uniqueDF)
但是此dupeDF包含一些重复的id
值,而我的df
包含唯一的id
值。因此,以某种方式dropDuplicate并会在纱线集群中运行此代码时给我带来不正确的结果,但是如果我以独立模式运行此代码,它将以异常方式工作。
我正在使用Spark 1.6.2版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。