Apache Spark Java - проблемы с компиляцией примера оценки Pi - PullRequest
0 голосов
/ 13 июня 2019

Я новичок в Apache Spark.Начиная с https://spark.apache.org/examples.html, я пытался скомпилировать следующий фрагмент

List<Integer> l = new ArrayList<>(NUM_SAMPLES);
for (int i = 0; i < NUM_SAMPLES; i++) {
  l.add(i);
}

long count = sc.parallelize(l).filter(i -> {
  double x = Math.random();
  double y = Math.random();
  return x*x + y*y < 1;
}).count();

System.out.println("Pi is roughly " + 4.0 * count / NUM_SAMPLES);

Однако, когда я скомпилировал этот код, я заметил, что метод параллелизации принимает три параметра вместо 1. Поэтому попытался это

JavaRDD<Integer> distData = sc.parallelize(JavaConversions.asScalaBuffer(l), 2,
                scala.reflect.ClassTag$.MODULE$.apply(Integer.class));

Но это еще одно исключение

Error:(38, 51) java: incompatible types: no instance(s) of type variable(s) T,A,T exist so that org.apache.spark.rdd.RDD<T> conforms to org.apache.spark.api.java.JavaRDD<java.lang.Integer>

Не уверен, как правильно скомпилировать этот код и успешно выполнить пример.

Используемая версия Spark: 2.1.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...