如何在 pyspark datafarme 中查找重复的列值

Kir*_*ran 5 find duplicates pyspark

我正在尝试从 pyspark 中的数据帧中查找重复的列值。

例如,我有一个包含单列“A”的数据框,其值如下:

==
A
==
1
1
2
3
4
5
5
Run Code Online (Sandbox Code Playgroud)

我期待如下输出(仅需要重复的值)

==
A
==
1
5
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 7

与@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|
+---+

Run Code Online (Sandbox Code Playgroud)


Yuv*_*uva 2

您可以尝试一下,看看是否有帮助?

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    |
+---+-----+
Run Code Online (Sandbox Code Playgroud)