Scala 重新排列火花柱的顺序

Scala 重新排列火花柱的顺序,scala,apache-spark,Scala,Apache Spark,我有一个sparkdataframe,有很多列。使用Spark和Scala,我想按指定顺序选择列,但不想硬编码所需的顺序。在伪代码中,我希望执行以下操作: val colNames = df.columns val newOrder = colNames(colNames.length) ++ colNames(0:colNames.length-1) df.select(newOrder) 我该怎么做?谢谢 您可以这样做: val df = Seq((1,2,3)).toDF("A","

我有一个spark
dataframe
,有很多列。使用SparkScala,我想按指定顺序选择列,但不想硬编码所需的顺序。在伪代码中,我希望执行以下操作:

val colNames = df.columns

val newOrder = colNames(colNames.length) ++ colNames(0:colNames.length-1)

df.select(newOrder)

我该怎么做?谢谢

您可以这样做:

val df = Seq((1,2,3)).toDF("A","B","C")

df.select(df.columns.last, df.columns.dropRight(1): _*).show

+---+---+---+
|  C|  A|  B|
+---+---+---+
|  3|  1|  2|
+---+---+---+