我必须使用RDD这样做的请求:如何使用数据集GROUPBY
val test = Seq(("New York", "Jack"),
("Los Angeles", "Tom"),
("Chicago", "David"),
("Houston", "John"),
("Detroit", "Michael"),
("Chicago", "Andrew"),
("Detroit", "Peter"),
("Detroit", "George")
)
sc.parallelize(test).groupByKey().mapValues(_.toList).foreach(println)
结果是:
(纽约,列表(杰克))
(底特律,列表(迈克尔·彼得,乔治))
(洛杉矶,列表(汤姆))
(休斯顿,列表(约翰))
(芝加哥,列表(大卫,安德鲁))
如何做到这一点使用数据集spark2.0?
我有办法使用自定义功能,但感觉是如此复杂,有没有简单一点的方法
'testDs.columns'甚至可以更快地得到没有类型的列名(作为'Array [String]')。 – Garren
好点!真 –