如何根据其他列在spark中添加map列?

时间:2017-02-26 09:16:08

标签: scala spark-dataframe

我有这张桌子:

|Name|Val|
|----|---|
|Bob |1  |
|Marl|3  |

我想将它转换为具有单个元素的地图:

|Name|Val|MapVal|
|----|---|------|
|Bob |1  |(0->1)|
|Marl|3  |(0->3)|

知道如何在scala中执行此操作吗? 我找不到任何方法在withColumn语句中构建地图......

1 个答案:

答案 0 :(得分:3)

找到它 - 只需要包含隐式sql:

import org.apache.spark.sql.functions._

然后使用map函数: df.withColumn("MapVal", map(lit(0), col("Val")))