【发布时间】:2019-08-27 10:02:44
【问题描述】:
我正在尝试从 pyspark 中的数据框中查找重复的列值。
例如,我有一个单列“A”的数据框,其值如下:
==
A
==
1
1
2
3
4
5
5
我期待像下面这样的输出(我只需要重复的值)
==
A
==
1
5
【问题讨论】:
标签: pyspark duplicates find
我正在尝试从 pyspark 中的数据框中查找重复的列值。
例如,我有一个单列“A”的数据框,其值如下:
==
A
==
1
1
2
3
4
5
5
我期待像下面这样的输出(我只需要重复的值)
==
A
==
1
5
【问题讨论】:
标签: pyspark duplicates find
与@Yuva 的答案相同,但使用内置函数:
df = sqlContext.createDataFrame([(1,),(1,),(2,),(3,),(4,),(5,),(5,)],('A',))
df.groupBy("A").count().where("count > 1").drop("count").show()
+---+
| A|
+---+
| 5|
| 1|
+---+
【讨论】:
你可以试试这个,看看是否有帮助?
df = sqlContext.createDataFrame([(1,),(1,),(2,),(3,),(4,),(5,),(5,)],('A',))
df.createOrReplaceTempView(df_tbl)
spark.sql("select A, count(*) as COUNT from df_tbl group by a having COUNT > 1").show()
+---+-----+
| A|COUNT|
+---+-----+
| 5|2 |
| 1|2 |
+---+-----+
【讨论】: