内容简介:学习 Spark 2(一):初始化 SparkContext
架构
Spark 应用通过 SparkContext 连接到 ClusterManager 与 Executor 建立联系:
利用 SparkContext 可以在集群上创建 RDD、广播和累加器
WARNNING:一个 JVM 进程,仅仅创建一个 SparkContext 实例
参数
SparkContext 可以通过 SparkConf 进行配置:
val conf = new SparkConf() .setMaster("local[*]") .setAppName("FirstSparkApp") val sc = new SparkContext(conf)
默认情况下,SparkConf 会加载系统属性中 spark. * 的属性
配置方式:
- 编辑 %SPARK_HOME%/conf/spark-defaults.conf 文件(全局级别)
-
spark-submit
提交应用时,通过--conf
参数指定(应用级别)
其中, Master 和 AppName 参数是必填项
参考: http://spark.apache.org/docs/latest/configuration.html
master
表示要连接的集群管理器,以下是 marster URL 格式:
- local 本地执行,启动一个 Worker 线程(本地测试)
- local[K] 本地执行,启动 K 个 Worker 线程(本地测试)
- local[*] 本地执行,启动机器 CPU 核数个 Worker 线程(本地测试)
- spark://HOST:PORT 连接到 Spark Standalone 集群
- mesos://HOST:PORT 连接到 Mesos 集群
- yarn 连接到 YARN 集群(通过环境变量 HADOOP_CONF_DIR,读取 YARN 信息)
方法
日志级别
Spark 使用 Log4J 日志框架,支持的日志级别:
- ALL
- DEBUG
- ERROR
- FATAL
- INFO
- OFF
- TRACE
- WARN
sc.setLogLevel("WARN")
应用骨架
一个完整的 Spark 应用的代码结构如下:
object Application { def main(args: Array[String]): Unit = { /* * 处理 args 参数 */ /* * 初始化 SparkContext */ val conf = new SparkConf() .setMaster(master) .setAppName(appName) // 其它配置项 val sc = new SparkContext(conf) /* * 数据处理 */ /* * 清理 */ sc.close } }
以上所述就是小编给大家介绍的《学习 Spark 2(一):初始化 SparkContext》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 学习笔记:深度学习网络的优化-初始化参数
- Git学习之旅 - Git 初始化
- Spring Boot 学习 (1): 初始化工程
- Go语言学习(3) - 变量与初始化
- vue 源码学习(二) 实例初始化和挂载过程
- 深度学习 Caffe 初始化流程理解(数据流建立)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
XML、JSON 在线转换
在线XML、JSON转换工具
正则表达式在线测试
正则表达式在线测试