Spark:将元组的WrappedArray转换为字符串

时间:2016-08-09 20:46:55

标签: apache-spark apache-spark-sql spark-dataframe

我有一个Spark数据框,其列具有array<struct<_1:string,_2:string>>数据类型和以下示例数据:

  

WrappedArray([Book1,Title1],[Book2,Title2],[Book3,Title3])

我想将此列从WrappedArray的元组转换为字符串

这是所需的输出:

  

Book1 / Title1 Book2 / Title2 Book3 / Title3

我尝试了以下udf传递数据帧的那一列,但它不起作用:

val unwraparr = udf ((x: mutable.WrappedArray[(String, String)]) => x.map { case (val1, val2) => val1 + "/" + val2 })

1 个答案:

答案 0 :(得分:1)

试试这样:

import org.apache.spark.sql.Row

(x: Seq[Row]) => x.map { case Row(val1: String, val2: String) => val1 + "/" + val2 })