如何将List转换为JavaRDD

Ami*_*jan 34 apache-spark

我们知道在spark中有一个方法rdd.collect可以将RDD转换为列表.

List<String> f= rdd.collect();
String[] array = f.toArray(new String[f.size()]);
Run Code Online (Sandbox Code Playgroud)

我试图在我的项目中完全相反.我有一个StringList,我想转换为JavaRDD.我正在寻找这个解决方案很长一段时间但没有找到答案.有人可以帮帮我吗?

Sea*_*wen 54

你正在寻找JavaSparkContext.parallelize(List)和类似的.这就像在Scala API中一样.


mrs*_*vas 6

添加到 Sean Owen 和其他解决方案

您可以使用JavaSparkContext#parallelizePairsforListTuple

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);
Run Code Online (Sandbox Code Playgroud)