我有一个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 })
答案 0 :(得分:1)
试试这样:
import org.apache.spark.sql.Row
(x: Seq[Row]) => x.map { case Row(val1: String, val2: String) => val1 + "/" + val2 })