Определение / включение параллелизма в искре - PullRequest
1 голос
/ 29 июня 2019

Я разработал приложение для Scala и получаю из него почти правильные результаты. Но я не уверен, что мой код использует преимущества параллельного параллелизма.

Я использую Spark в автономном режиме с двумя виртуальными рабочими с 2 ядрами и памятью 2G каждый.

Spark standalone setup

Ниже приведен фрагмент кода из приложения:

Инициализация СДР:

for(i <- 0 to limit-1){
    data+=new MyClass(dimension_limit) with Serializable
}
var example_rdd = sc.parallelise(data)

Операции с СДР:

var temp_rdd: RDD[MyClass] = sc.emptyRDD[MyClass]
temp_rdd = example_rdd

var updated_rdd: RDD[MyClass] = sc.emptyRDD[MyClass]

for(i <- 0 to no_of_iterations-1){
 updated_rdd = temp_rdd.map{ x => updation_function(x)} 
 updated_rdd.count() // to trigger the map
 temp_rdd = updated_rdd
}

Функция обновления:

def update_function(x: MyClass): MyClass{
  x.property1 = "value"
  .
  .
  .
 //all updations
  return x
}

Ниже приведен снимок работы с сервера истории

Spark Job

и это детали сцены:

stage detail

Пожалуйста, помогите мне определить, работает ли мой код параллельно; если нет, в чем может быть проблема в моей реализации?

...