scala:return 可变参数的方法

scala: method that return varargs

从 scala 方法中,我想 return 一个 Spark 列的变量编号,如下所示:

def getColumns() : (Column*) = {...}

这个想法是然后用spark sql:

myDf.select(getColumns, "anotherColumns"..)

问题是我有大约 30 个请求都具有相同的 select 子句,我想将它们放在一起。

知道用...替换什么吗?我试过类似的东西:

($"col1", "$col2")

但它无法编译。

试试这个:

val df = Seq((1,2,3,4),(5,6,7,8)).toDF("a","b","c","d")

类型转换字符串以使用映射函数激发列并根据需要在数组中追加附加列。

val lstCols = List("a","b")
df.select(lstCols.map(col) ++ List(col("c"),col("d")): _*).show()   

+---+---+---+---+
|  a|  b|  c|  d|
+---+---+---+---+
|  1|  2|  3|  4|
|  5|  6|  7|  8|
+---+---+---+---+