2016-07-07 157 views
-2

我有兩個RDD [字符串],一個是標籤,另一個是功能。他們有相同的路線。我怎樣才能逐行合併它們?如何在Spark中合併兩個RDD [字符串]?

feature: org.apache.spark.rdd.RDD[String] 
res127: String = 11,0,7,18 
label: org.apache.spark.rdd.RDD[String] 
res160: String = 1 

他們每個人都有成千上萬的行,而我只是把他們的第一行。 我想有一個新的RDD [字符串]這每一行看起來像這樣

res: String = 1,11,0,7,18 

我想加盟(),它無法做到的。

回答

0

如果使用Scala的,我想,儘量feature ++ label

def ++(other: RDD[T]): RDD[T] 
Return the union of this RDD and another one. 
0

您是否嘗試過使用zip?這將爲您提供每個標籤和功能的關鍵值對。你可以讓它們保持這種風格,以方便訪問這兩個組件,或者將它們轉換爲單個字符串(如果需要的話)。

另外,如果您只是將標籤附加到列表的前面,則union更合適。這可以用foreach /過濾器作爲前綴來刪除不需要的標籤。