2016-10-05 10 views
1

私はWrappedArraysを含む2つの列(features1とfeatures2)を持つDataFrameを持っています。WrappedArraysを含むSpark SchemaRDDの2つの列を、WrappedArrayを結合した3列目に結合するにはどうすればよいですか?

2つの列を結合して、最初の2つの列のマージされた内容を含む3番目の列にWrappedArrayとして挿入する必要があります。

どうすればよいですか?

私は多分定義する短い方法があるスカラ座を使用して

答えて

2

をPySparkない私は、UDFよりも別の方法を見つけることができませんでした、驚く

def catArray[A](a:Seq[A], b: Seq[A]): Seq[A] = a ++ b 
val catArrayUdf = udf { catArray[Int] _ } 

その後

scala> sc.parallelize(List((Seq(1,2),Seq(3,4)))) 
    .toDF("A","B") 
    .withColumn("cat",catArray('A,'B)) 
    .show(false) 
+------+------+------------+ 
|A  |B  |cat   | 
+------+------+------------+ 
|[1, 2]|[3, 4]|[1, 2, 3, 4]| 
+------+------+------------+ 

よUDFは++に基づいています。

+0

ありがとうWilmerton。私は今それを試しています。 –

+0

それがそれを解決しました。再度、感謝します。 –

関連する問題