我有一個這樣的案例類
case class Employee(name: String, id: Int)
我想要一個看起來像地圖的資料集--->鍵和值串列,即
Dataset[String, List[Employee]]
我的用例是我應該將同名員工的 ID 分組。Spark 中是否有操作員來執行此操作。
uj5u.com熱心網友回復:
使用資料集非常簡單:
val data = Seq(
Employee("john doe", 1),
Employee("john doe", 2),
Employee("john doe2", 2)
)
val ds = spark.sparkContext.parallelize(data).toDS()
val resultDS: Dataset[(String, List[Employee])] =
ds.groupByKey(_.name).mapGroups { case (k, iter) => (k, iter.toList) }
resultDS.show(false)
它給:
--------- ------------------------------
|_1 |_2 |
--------- ------------------------------
|john doe2|[{john doe2, 2}] |
|john doe |[{john doe, 1}, {john doe, 2}]|
--------- ------------------------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/429915.html
上一篇:計數不同的布林值
