Apache spark 使用concat时的列名

Apache spark 使用concat时的列名,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我正在使用concat函数连接Spark SQL中的一些列。下面是一些伪代码: import org.apache.spark.sql.functions.{concat, lit} val data1 = sc.parallelize(Array(2, 0, 3, 4, 5)) val data2 = sc.parallelize(Array(4, 0, 0, 6, 7)) val data3 = sc.parallelize(Array(1, 2, 3, 4,

我正在使用
concat
函数连接Spark SQL中的一些列。下面是一些伪代码:

   import org.apache.spark.sql.functions.{concat, lit}

    val data1 = sc.parallelize(Array(2, 0, 3, 4, 5))
    val data2 = sc.parallelize(Array(4, 0, 0, 6, 7))
    val data3 = sc.parallelize(Array(1, 2, 3, 4, 10))
    val dataJoin = data1.zip(data2).zip(data3).map((x) => (x._1._1, x._1._2, x._2 )).toDF("a1","a2","a3")

    val dataConcat = dataJoin.select($"a1",concat(lit("["),$"a1", lit(","),$"a2", lit(","),$"a3", lit("]")))
是否有办法指定或更改列的标签,以避免使用不太实用的默认名称

+---+------------------------+
| a1|concat([,a1,,,a2,,,a3,])|
+---+------------------------+
|  2|                 [2,4,1]|
|  0|                 [0,0,2]|
|  3|                 [3,0,3]|
|  4|                 [4,6,4]|
|  5|                [5,7,10]|
+---+------------------------+

使用或方法为您的专栏命名。

使用或方法为您的专栏命名。

在Spark Scala笔记本上,我在
上发现一个编译错误。toDF
不是RDD方法。你能发布你的
import
语句吗?我已经编辑了这个问题,在Spark Scala笔记本上包含了import语句。我在
上得到了一个编译错误。toDF
不是RDD方法。你能发布你的
import
声明吗?我已经编辑了这个问题,将import声明包括在内