将数据帧转换为scala映射

时间:2018-01-10 20:48:53

标签: apache-spark

我有一个像

这样的数据框
df.show
+----+-------+
| age|   name|
+----+-------+
|  20|Michael|
|  30|   Andy|
|  19| Justin|
+----+-------+

我需要将它放在像(Michael->20,Andy->30,Justin->19)

这样的scala地图中

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

简单明了 - 转换为静态类型并收集:

df.select($"name", $"age".cast("int")).as[(String, Int)].collect.toMap

虽然在实践中我觉得它没有多大用处,因为它将数据存储在驱动程序内存中。