显示()
+-----------+-------------------+ |id| name| +-----------+-------------------+ | 1231| aa | | 1232| bb | | 1233| cc | | 1234| dd | | 1235| dd| | 1236| cc| +-----------+-------------------+
“id”列是唯一的,现在我要创建一个映射,哪个键是“id”,值是“name”,如何通过scala实现?假定数据帧名称为df。
val mapResult = df.map(...)
您可以简单地转换为 rdd collectAsMap
rdd
collectAsMap
df.rdd.map(x => (x.getInt(0), x.getString(1))).collectAsMap()
这会给你
scala> df.rdd.map(x => (x.getInt(0), x.getString(1))).collectAsMap() res0: scala.collection.Map[Int,String] = Map(1231 -> aa, 1234 -> dd, 1236 -> cc, 1233 -> cc, 1232 -> bb, 1235 -> dd)