如何在PySpark Datafarme中查找重复的列值

时间:2019-08-27 10:02:44

标签: pyspark duplicates find

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

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

==
A
==
1
1
2
3
4
5
5

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

==
A
==
1
5

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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