我一直在練習火花。我對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
我一直在練習火花。我對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
這是基本相同:
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();
其中sc
是JavaSparkContext
(假設你使用Java 8和Spark 2.0.0)。
我得到的編譯錯誤是「在lambda表達式中出現錯誤返回類型。[錯誤] java.util.Iterator
我給出的代碼應該適用於Spark 2.0.0,爲以前的版本刪除'iterator()'。 –
這個答案在2.1.0中不起作用 – bearrito
您正在使用哪個java版本? –