【发布时间】:2020-12-18 04:42:00
【问题描述】:
我在 Scala 和 Spark 中这样做。
我有 Dataset 的 Tuple2 和 Dataset[(String, Map[String, String])]。
下面是Dataset 中的值示例。
(A, {1->100, 2->200, 3->100})
(B, {1->400, 4->300, 5->900})
(C, {6->100, 4->200, 5->100})
(B, {1->500, 9->300, 11->900})
(C, {7->100, 8->200, 5->800})
如果您注意到,元组的键或第一个元素可以重复。另外,同一个 Tuple 的 key 对应的 map 中可以有重复的 key(Tuple2 的第二部分)。
我想创建一个最终的Dataset[(String, Map[String, String])]。并且输出应该如下(来自上面的例子)。此外,地图的最后一个键的值会被保留(检查 B 和 C),并且之前针对 B 和 C 的相同键会被删除。
(A, {1->100, 2->200, 3->100})
(B, {4->300, 1->500, 9->300, 11->900, 5->900})
(C, {6->100, 4->200, 7->100, 8->200, 5->800})
如果需要任何说明,请告诉我。
【问题讨论】:
标签: scala dataframe apache-spark dataset databricks