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声明包括在内