Spark中几个重要名词

spark几个名词

1 job,一个action操作触发一个job 

action的一些操作http://spark.apache.org/docs/latest/programming-guide.html#actions 

2 stage划分

  1)有shuffle操作,则shuffle之前为一个 stage

  2)数据落地输出则为一个 stage

3 Task为具体的任务执行单位,个人理解为一个线程,Task的划分取决于几个方面

  1) 分配的cpu数目和cpu的核数,cpu数目*cpu的核数则为总得任务数量。

  2)总分区数量Partition 

  如果1中的数量小于2中的数量则为1的任务数,否则为2中的分区数量,即Partition数量决定执行的并发数。

  如果元数据分区太少,可以重新分区,否则不会有并发。

4 worker个人理解为工作的机器数量,Worker Node就是物理节点。

5 Executor,为worker机器上cpu的数量,如果设置num-executors=5,则分配给这个任务5个cpu去执行Task,

  如果executor-cores=10,则每个cpu分配的核数为10,即每个executor上启动10个线程执行任务,总得分配的Task为5*10。

  executor-memory=2g为每个Task分配的内存为2g,这个值过大,则会影响启动的executor的数量。

  spark-submit --master  yarn-cluster  --name importdtaweather3  --num-executors 10  --executor-cores 12  --executor-memory 3g --queue  def0  --class  com.jusn.spark.test.DFTestRowkeySelf  weatherimport-1.0-jar-with-dependencies.jar

猜你喜欢

转载自username2.iteye.com/blog/2356365
今日推荐