1
我有一個DataFrame有兩列(「features1」和「features2」)包含WrappedArrays。如何將包含WrappedArrays的Spark SchemaRDD中的兩列與合併的WrappedArray合併到第三列中?
我需要將兩列組合成第三列,其中包含前兩列的合併內容作爲WrappedArray。
我該怎麼做?
我使用Scala的不PySpark
我有一個DataFrame有兩列(「features1」和「features2」)包含WrappedArrays。如何將包含WrappedArrays的Spark SchemaRDD中的兩列與合併的WrappedArray合併到第三列中?
我需要將兩列組合成第三列,其中包含前兩列的合併內容作爲WrappedArray。
我該怎麼做?
我使用Scala的不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基於++
。
感謝Wilmerton。我現在正在嘗試。 –
解決了它。再次感謝。 –