0

我正在使用 Pyspark

我的输入数据如下所示。

 COL1|COL2
|TYCO|130003|
|EMC |120989|
|VOLVO|102329|
|BMW|130157|
|FORD|503004|
|TYCO|130003|

我已经创建了 DataFrame 并查询了如下所示的重复项。

from pyspark.sql import Row
from pyspark.sql import SparkSession
spark = SparkSession \
     .builder \
     .appName("Test") \
     .getOrCreate()

data = spark.read.csv("filepath")

data.registerTempTable("data")
spark.sql("SELECT count(col2)CNT, col2 from data GROUP BY col2 ").show()

这给出了正确的结果,但我们可以在单独的临时表中获得重复值。

output data in Temp1

+----+------+
|   1|120989|
|   1|102329|
|   1|130157|
|   1|503004|
+----+------+

在 temp2 中输出数据

+----+------+
|   2|130003|
+----+------+
4

1 回答 1

1
sqlDF = spark.sql("SELECT count(col2)CNT, col2 from data GROUP BY col2  having cnt > 1 ");
sqlDF.createOrReplaceTempView("temp2");
于 2019-09-23T16:54:21.173 回答