提问者:小点点

如何将List转换为JavaRDD


我们知道,在Spark中有一个方法,它将RDD转换为列表。

List<String> f= rdd.collect();
String[] array = f.toArray(new String[f.size()]);

我试图在我的项目中做完全相反的事情。我有一个ArrayList of String,我想将其转换为JavaRDD。我正在寻找这个解决方案很长一段时间,但还没有找到答案。有人能在这里帮我吗?


共3个答案

匿名用户

您正在寻找JavaSparkContext.并行化(列表)等。这就像在ScalaAPI中一样。

匿名用户

加入肖恩·欧文和其他人的解决方案

您可以将JavaSparkContext#并行对用于元组List

List<Tuple2<Integer, Integer>> pairs = new ArrayList<>();
pairs.add(new Tuple2<>(0, 5));
pairs.add(new Tuple2<>(1, 3));

JavaSparkContext sc = new JavaSparkContext();

JavaPairRDD<Integer, Integer> rdd = sc.parallelizePairs(pairs);

匿名用户

有两种方法可以将集合转换为RDD。

1) sc.Parallelize(collection)
2) sc.makeRDD(collection)

这两种方法是相同的因此我们可以使用它们中的任何一种