Scala сокращение $ для преобразования строки в столбец не распознает строковую переменную - PullRequest
0 голосов
/ 03 августа 2020

Я хочу использовать сокращение $ с приложениями Spark, написанными на Scala. Но у меня есть большое количество столбцов, на которые я хотел бы ссылаться с помощью переменных. В то же время я хочу использовать сокращенную запись $ для строк, содержащих имя столбца.

df.select($"col1") // works
val columnName = "col1"
df.select($columnName) // gives error

Как использовать переменную columnName с сокращением $?

Ответы [ 3 ]

4 голосов
/ 03 августа 2020

Возможно, вы захотите.

val columnName = $"col1"
df.select(columnName)

$ - это ярлык для new ColumnName("name")

0 голосов
/ 03 августа 2020

Никто не упомянул одну очень важную вещь - $ - это неявное преобразование StringToColumn.

Вы импортировали spark.implicits._, где spark - ваш объект SparkSession?

Это должно решить ваши проблемы: -)

0 голосов
/ 03 августа 2020

Вы также можете использовать функцию col.

df.select($"col1") 
val columnName = col("col1")
df.select(columnName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...