斯帕可Spark论坛 >
Spark 的一点小总结
回复

查看: 回复:1

Spark 的一点小总结

\"收藏此主题\"

ZHAOYIBO

 
 
注册:
2008-03-06
  • 0粉丝
  • 0精华
  • 462帖子
前言

Spark 应用类似于 MR 作业。

在 MR 中,最高级的计算单元是作业。系统读取数据,map,shuffle,reduce,然后写回存储。

在 Spark 中,最高级的计算单元是应用,应用可以运行一系列作业或者是并行作业。一个 Spark 的作业可以由多个阶段组成。Spark 依赖 driver 进程管理工作流和安排任务。

Spark 术语
RDD:Spark 编程核心,是一个容错的元素集组成。可以并行地被多次处理。partition:RDD 的元素子集。partition 是一个并行的单元,Spark 可以并行处理多个 partition的元素。driver:一个 app 一个,负责初始化之类的工作。executor:真正跑程序的进程。一个主机可能会有多个 executor。deploy mode:client mode 的 driver 运行在 cluster 之外,cluster mode 的 driver 运行在 cluster 内,并 log out 之后程序不会中断。
运行 spark 程序的方法

可以使用 spark-submit 脚本提交已经编译好的 spark 程序。

提交命令:

spark-submit --option value application jar | python file [application arguments]
optional table 如下:

master 值如下:

控制参数读取的优先顺序:
SparkConf 传入的参数spark-submit,spark-shell 或者 pyspark 传入的参数spark-defaults.conf 中设置的属性
集群模式概览

下面是使用 spark-submit 提交一个应用到集群时所发生的事情:
spark-submit 启动 driver 进程并调用了应用的 main 方法。driver 进程向集群申请资源去启动 executors集群取代 driver 启动 executordriver 运行用户程序,将一系列操作发送到 executors任务运行如果 main 方法里有 exits 或者调用 SparkConf.stop ,就会停止 executors 并释放资源
spark 运行模式总结

Cluster Mode:

Client Mode:

下面这些选项是用于提交 Spark on YARN 应用程序:

Cluster mode 的例子:

spark-submit  --master yarn --deploy-mode cluster  SPARK_HOME/lib/spark-examples.jar --class org.apache.spark.examples.SparkPi 10
Client Mode 的例子:

spark-submit  --master yarn  --deploy-mode client  SPARK_HOME/lib/spark-examples.jar  --class org.apache.spark.examples.SparkPi 10
Spark 动态分配 executor

如果程序资源需求经常变化,spark 可以动态增加或者减少程序 executor 的数目。

要使动态分配生效,可以设置 spark.dynamicAllocation.enabled 的值为 true 。

程序分配最少的 executor 数目的属性是 spark.dynamicAllocation.minExecutors,最多的是 spark.dynamicAllocation.maxExecutors,初始化值是通过设置 spark.dynamicAllocation.initialExecutors 参数。

这时候不要使用 –num-executors 参数或者设置 spark.executor.instances 这个参数,它们之间并不相容。

优化 YARN 模式

通常,每次提交任务 spark 都会将 assembly jar上传到 hdfs,可以省下这步提高效率,可以手动上传之后设置 SPARK_JAR 环境变量。

SPARK_JAR=hdfs://namenode:8020/user/spark/share/lib/spark-assembly.jar

参考
Managing Spark | 6.1.x | Cloudera Documentation

 
回复本楼

太平洋汽车全新推出“太平洋车友会”;来太平洋车友会,结识志同道合的车友了解详情>>

yhllyq

 
 
注册:
2009-12-18
友情帮顶
 
回复本楼
未登录用户

只可添加一张图片,多张图片请选高级模式

高级模式
温馨提示:回复超10字可获1金币,有独特见解超30字可获3金币,灌水用户将扣除金币并锁号处理。希望广大车友共同维护论坛的友好回复氛围。
常用表情
您可能感兴趣

支付宝扫码询价
领最高888元现金红包

关闭