在 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}" 解决了问题