【发布时间】:2021-12-09 02:05:22
【问题描述】:
我想更改数据框中列的顺序,发现正确的方法如下:
val reorderedColumnNames: Array[String] = ??? // the new order of columns
val result: DataFrame = dataFrame.select(reorderedColumnNames.head, reorderedColumnNames.tail: _*)
我的问题是:
如果冒号“:_*”应该为您提供集合的所有元素(Seq、List 或 Array),为什么不能像下面这样完成?
val result: DataFrame = dataFrame.select(reorderedColumnNames: _*)
我不明白为什么 Spark 不接受第二种方式(并产生错误),因为这两种方式应该是等效的
【问题讨论】:
-
这看起来更像是一个 scala 问题,而不是一个 spark 问题 - 但无可否认, spark 有助于理解上下文。为什么是蟒蛇?我已经编辑了标签,但可以随时恢复。
标签: scala apache-spark apache-spark-sql