在 select spark scala 期间从 hashmap 动态获取值
Dynamically fetch value from hashmap during select spark scala
我有一个用键值对定义的映射。在为数据框选择列 I 时,我需要根据提供的键从 Map 中动态获取列名作为值,
val map = HashMap("emp_id" -> "dept_id","emp_city" -> "dept_city" );
val df1 = df.select($"$map.get($name)")
这里 name
将是映射中的键,我需要在上面的表达式中获取相关值,但它会抛出错误。这里可能有什么问题
只需使用apply
:
f.select(map(name))
正如 Tzach 所建议的,问题在于字符串插值 - 将表达式更改为 $"df.${map.get(name).mkString}"
解决了问题
我有一个用键值对定义的映射。在为数据框选择列 I 时,我需要根据提供的键从 Map 中动态获取列名作为值,
val map = HashMap("emp_id" -> "dept_id","emp_city" -> "dept_city" );
val df1 = df.select($"$map.get($name)")
这里 name
将是映射中的键,我需要在上面的表达式中获取相关值,但它会抛出错误。这里可能有什么问题
只需使用apply
:
f.select(map(name))
正如 Tzach 所建议的,问题在于字符串插值 - 将表达式更改为 $"df.${map.get(name).mkString}"
解决了问题