Java中的SparkContext并行化调用示例

时间:2018-11-04 15:58:51

标签: java apache-spark

我是Spark的入门者,在尝试实现地图功能的简单示例时遇到了问题。问题在于新版本Spark中的“ parallelize”定义。有人可以分享使用它的示例,因为以下方法会因参数不足而出错。

火花版本:2.3.2 Java:1.8

SparkSession session = SparkSession.builder().appName("Compute Square of Numbers").config("spark.master","local").getOrCreate();
SparkContext context = session.sparkContext();
List<Integer> seqNumList = IntStream.rangeClosed(10, 20).boxed().collect(Collectors.toList());
JavaRDD<Integer> numRDD = context.parallelize(seqNumList, 2);

编译时错误消息:该方法需要3个参数

我不明白第三个参数应该是什么样的?根据文档,应该是

scala.reflect.ClassTag<T>

但是如何定义或使用它呢?

请不要建议使用JavaSparkContext,因为我想知道如何使这种方法与通用SparkContext一起使用。

Ref:https://spark.apache.org/docs/2.2.1/api/java/org/apache/spark/SparkContext.html#parallelize-scala.collection.Seq-int-scala.reflect.ClassTag-

1 个答案:

答案 0 :(得分:0)

这是最终为我工作的代码。不是获得结果的最佳方法,而是为我探索API的一种方法

SparkSession会话= SparkSession.builder()。appName(“数字平方”)             .config(“ spark.master”,“ local”)。getOrCreate();

"w"