首页 > 解决方案 > 如何更新spark中dataFrame列的值

问题描述

我有一个包含国家名称缩写的数据框:

+--+----+
|Id|Code|
+--+----+
|1 |FR  |
|2 |FR  |
|3 |FR  |
|4 |Es  |
|5 |Es  |
|6 |Es  |
|7 |IT  |
+--+----+

我还有一个包含国家名称及其缩写的枚举:

object Countries extends Enumeration {
    type Countries=Mapping
    case class Mapping(abr:String,value:String) extends Val
    val FR=Mapping("FR","France")
    val ES=Mapping("ES","Spain")
    val IT=Mapping("IT","ITALY")
}

所以我想用适当的名称映射每个缩写,我知道我可以使用when函数,但我想知道是否有更好的方法,比如 map 函数(将每个字符串与另一个字符串映射)

标签: apache-sparkapache-spark-sql

解决方案


The easiest way in my opinion is to create a dataframe for the map, and then do a join between the 2 tables.


推荐阅读