确定/启用Spark中的并行性

时间:2019-06-29 15:33:23

标签: scala apache-spark rdd

我已经开发了一个scala应用程序,并且我得到的结果几乎是正确的。但是我不确定我的代码是否利用了火花并行性。

我正在以独立模式运行spark,该模式有两个虚拟工,每个虚拟工具有2个内核和2G内存。

Spark standalone setup

下面是应用程序中的代码段:

RDD的初始化:

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

RDD操作:

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

请帮助我确定我的代码是否并行运行;如果不是的话,我的实施过程中可能会出现什么问题?

0 个答案:

没有答案