【发布时间】:2019-01-12 05:33:27
【问题描述】:
我一直在使用这个答案link,但我有更具体的需求。
我只需要选择以“cat”开头的列。我无法确定如何根据模式选择列。我不需要过滤数据框,只需选择名称以模式开头的列。
val transformers: Array[PipelineStage] = df.select("cat*").columns.map(
cname =>
new StringIndexer()
.setInputCol(cname)
.setOutputCol(s"${cname}_index")
)
val stages: Array[PipelineStage] = transformers
val pipeline = new Pipeline().setStages(stages)
val model = pipeline.fit(df)
此代码产生错误:
org.apache.spark.sql.AnalysisException: cannot resolve 'cat*' given input columns: [cat3, cat7, cat25,...
【问题讨论】:
标签: scala apache-spark apache-spark-sql