如何根据其他列在火花中添加地图列?
Posted
技术标签:
【中文标题】如何根据其他列在火花中添加地图列?【英文标题】:How to add map column in spark based on other column? 【发布时间】:2017-02-26 09:16:08 【问题描述】:我有这张桌子:
|Name|Val|
|----|---|
|Bob |1 |
|Marl|3 |
我想把它转换成一个像这样的单一元素的地图:
|Name|Val|MapVal|
|----|---|------|
|Bob |1 |(0->1)|
|Marl|3 |(0->3)|
知道如何在 scala 中执行此操作吗?
我在withColumn
语句中找不到任何构建地图的方法...
【问题讨论】:
【参考方案1】:找到了 - 只需要包含隐式 sql:
import org.apache.spark.sql.functions._
然后使用map
函数:
df.withColumn("MapVal", map(lit(0), col("Val")))
【讨论】:
以上是关于如何根据其他列在火花中添加地图列?的主要内容,如果未能解决你的问题,请参考以下文章