2016-08-09 26 views
1

我有一個火花數據幀與具有array<struct<_1:string,_2:string>>數據類型和下面的示例數據列:火花:元組的轉換WrappedArray爲字符串

WrappedArray([第一冊,標題1],[Book2的標題2],[BOOK3 ,TITLE3])

欲該列從WrappedArray轉換元組爲字符串

這裏是所期望的輸出:

第一冊/標題1第二冊/標題2 BOOK3/TITLE3

我嘗試以下UDF傳遞數據幀的那列,但它沒有工作:

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

回答

1

嘗試這樣的:

import org.apache.spark.sql.Row 

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

這是一個完整的UDF:val unwraparr = udf((x:mutable.WrappedArray [(String,String)])=> x.map {case Row(val1:String,val2:String)=> val1 + /「+ val2}) – user3803714

+0

不,對不起。沒有保存編輯。 –