如何从apache-spark中的数据框列中的重复值中仅选择第一行?

时间:2017-11-30 19:16:01

标签: mysql scala apache-spark-sql spark-dataframe

考虑我的dataframe包含以下数据

val seq = Seq((1, "John"), (1, "John"), (2, "Michael"), (3, "Sham"),(4, "Dan"), (2, "Michael"), (4, "Dan"))

val rdd = sc.parallelize(seq)

val df = rdd.toDF("id","name")

我希望output为:

  

1,“约翰”

     

2,“迈克尔”

     

3,“假”

     

4,“丹”

select如何row dataset column来自{{1}},同时允许重复ID {1}}。

2 个答案:

答案 0 :(得分:0)

您可以在dataframe / dataset上使用dropDuplicates()。

答案 1 :(得分:0)

您可能正在从数据框中寻找不同的值。

df.distinct.orderBy("id").show();

如果不想要排序结果,您可以删除订单。 +---+-------+ | id| name| +---+-------+ | 1| John| | 2|Michael| | 3| Sham| | 4| Dan| +---+-------+