Scala / Spark:如何将此参数传递给.select语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala / Spark:如何将此参数传递给.select语句相关的知识,希望对你有一定的参考价值。
我有办法获得一个有效的数据框的子集:
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方法,但似乎我错过了某种格式。有人可以协助。
谢谢
答案
你做的是:
df1.select("first_name,last_name,rank_dr")
Spark尝试找到一个名为"first_name,last_name,rank_dr"
的列,该列不存在
尝试:
val df1_subset = df1.selectExpr(subset_cols: _*)
以上是关于Scala / Spark:如何将此参数传递给.select语句的主要内容,如果未能解决你的问题,请参考以下文章
如何将复杂的 Java 类对象作为参数传递给 Spark 中的 Scala UDF?
如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数