apache-spark - 如何更新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 函数(将每个字符串与另一个字符串映射)
解决方案
The easiest way in my opinion is to create a dataframe for the map, and then do a join between the 2 tables.
推荐阅读
- wordpress - 准备动态查询和 get_results 不起作用
- angular - 如何加载网页
- wagtail - 在 wagtail 中向 modelAdmin 添加多对多关系字段
- java - 阻止 Saxon 返回 XML 声明编码属性
- protocol-buffers - 我可以更改原始文件中的编号标签吗?
- .net - .NET 5.0 和 SOAP Web 服务
- gradle - Kotlin Native Cocoapods 插件 - 如何指定 Podspec 源?
- python - 正方体边界框距离计算
- amazon-web-services - DynamoDB 获取排序键中的对象计数
- highcharts - Highcharts pie/variablepie在plotedge上对齐多线标签