Scala / Spark: как передать этот параметр в оператор .select - PullRequest
0 голосов
/ 10 января 2019

У меня есть способ получить подмножество данных, которое работает:

This works
val subset_cols = {joinCols :+ col}
val df1_subset = df1.select(subset_cols.head, subset_cols.tail: _*)

Это не работает. Код компилируется, но я получаю ошибку во время выполнения.

val subset_cols = {joinCols :+ col}
val df1_subset = df1.select(subset_cols.deep.mkString(","))

Ошибка:

Exception in thread "main" org.apache.spark.sql.AnalysisException: 
cannot resolve '`first_name,last_name,rank_dr`' given input columns: 
[model, first_name, service_date, rank_dr, id, purchase_date, 
dealer_id, purchase_price, age, loyalty_score, vin_num, last_name, color];;

'Project ['first_name,last_name,rank_dr]

Я пытаюсь передать subset_cols методу .select, но, похоже, мне не хватает какого-то форматирования.

1 Ответ

0 голосов
/ 10 января 2019

что вы делаете:

df1.select("first_name,last_name,rank_dr")

Спарк пытается найти столбец с именем "first_name,last_name,rank_dr", который не существует

Попробуйте:

val df1_subset = df1.selectExpr(subset_cols: _*) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...