我正在尝试从pyspark的数据框中找到重复的列值。
例如,我有一个带有单列“ A”的数据框,其值如下:
==
A
==
1
1
2
3
4
5
5
我期望输出如下(仅需要重复的值)
==
A
==
1
5
答案 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|
+---+