用于将字符串转换为列的 Scala 简写 $ 无法识别字符串变量

Ash*_*Ash 0 scala dataframe apache-spark apache-spark-sql

我想对用 Scala 编写的 Spark 应用程序使用 $ 简写。但我有大量的列,我想使用变量来引用它们。同时,我想对保存列名的字符串使用 $ 简写符号。

df.select($"col1") // works
val columnName = "col1"
df.select($columnName) // gives error
Run Code Online (Sandbox Code Playgroud)

如何将变量columnName 与$ 简写一起使用?

Saš*_*vić 5

你可能想要的是。

val columnName = $"col1"
df.select(columnName)
Run Code Online (Sandbox Code Playgroud)

$是快捷方式new ColumnName("name")