0
的
我的數據幀具有2列,其看起來像這樣:火花數據幀爆炸對列表
col_id| col_name
-----------
id1 | name1
id2 | name2
------------
id3 | name3
id4 | name4
....
所以對於每一行,有相同的長度的成列的ID和名稱2個匹配陣列。我想要的是讓每對ID /名稱作爲一個單獨的行狀:
col_id| col_name
-----------
id1 | name1
-----------
id2 | name2
....
explode
似乎想使用的功能,但我似乎無法得到它的工作。我試過是:
rdd.explode(col("col_id"), col("col_name")) ({
case row: Row =>
val ids: java.util.List[String] = row.getList(0)
val names: java.util.List[String] = row.getList(1)
var res: Array[(String, String)] = new Array[(String, String)](ids.size)
for (i <- 0 until ids.size) {
res :+ (ids.get(i), names.get(i))
}
res
})
然而,這僅返回空值,因此它可能只是我的斯卡拉的知識貧乏。任何人都可以指出這個問題嗎?