将数据框转换为 Scala 地图

tec*_*hie 0 apache-spark

我有一个像这样的数据框,

df.show
+----+-------+
| age|   name|
+----+-------+
|  20|Michael|
|  30|   Andy|
|  19| Justin|
+----+-------+
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能做到这一点?

小智 8

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

df.select($"name", $"age".cast("int")).as[(String, Int)].collect.toMap
Run Code Online (Sandbox Code Playgroud)

虽然在实践中你不会发现它有多大用处,因为它在驱动程序内存中存储数据。