2016-08-15 53 views
1

我一直在練習火花。我對scala不太熟悉,並且想要嘗試java代碼。對於地圖和flatmap的以下基本操作,我如何用Java編寫下面的代碼spark flatmap - 斯卡拉java代碼

sc.parallelize(List(1,2,3)).flatMap(x=>List(x,x,x)).collect 
sc.parallelize(List(1,2,3)).map(x=>List(x,x,x)).collect 
+0

您正在使用哪個java版本? –

回答

-1

這是基本相同:

sc.parallelize(Arrays.asList(1,2,3)).flatMap(x->Arrays.asList(x,x,x).iterator()).collect(); 
sc.parallelize(Arrays.asList(1,2,3)).map(x->Arrays.asList(x,x,x)).collect(); 

其中scJavaSparkContext(假設你使用Java 8和Spark 2.0.0)。

+0

我得到的編譯錯誤是「在lambda表達式中出現錯誤返回類型。[錯誤] java.util.Iterator 無法轉換爲java.lang.Iterable )」 – user2715182

+0

我給出的代碼應該適用於Spark 2.0.0,爲以前的版本刪除'iterator()'。 –

+0

這個答案在2.1.0中不起作用 – bearrito