2016-08-15 55 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