微信小程序选项卡功能开发步骤与方法全解析
800
2022-10-21
spark按某几列删除dataframe重复行
新建一个 dataframe :
val conf = new SparkConf().setAppName("TTyb").setMaster("local")val sc = new SparkContext(conf)val spark = new SQLContext(sc)val dataFrame = spark.createDataFrame(Seq( (1, 1, "2", "5"), (2, 2, "3", "6"), (2, 2, "35", "68"), (2, 2, "34", "67"), (2, 2, "38", "68"), (3, 2, "36", "69"), (1, 3, "4", null))).toDF("id", "label", "col1", "col2")
想根据 id 和 lable 来删除重复行,即删掉 id=2 且 lable=2 的重复行。利用 distinct 无法删除
dataframe.distinct().show()+---+-----+----+----+| id|label|col1|col2|+---+-----+----+----+| 1| 1| 2| 5|| 2| 2| 3| 6|| 2| 2| 35| 68|| 2| 2| 34| 67|| 2| 2| 38| 68|| 3| 2| 36| 69|| 1| 3| 4|null|+---+-----+----+----+
利用 dropDuplicates 可以根据 ID 来删除:
dataFrame.dropDuplicates("id","label").show()+---+-----+----+----+| id|label|col1|col2|+---+-----+----+----+| 2| 2| 3| 6|| 1| 1| 2| 5|| 1| 3| 4|null|| 3| 2| 36| 69|+---+-----+----+----+
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~