学习 Spark 2(一):初始化 SparkContext

栏目: 编程工具 · 发布时间: 8年前

内容简介:学习 Spark 2(一):初始化 SparkContext

架构

Spark 应用通过 SparkContext 连接到 ClusterManager 与 Executor 建立联系:

学习 Spark 2(一):初始化 SparkContext

利用 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 参数指定(应用级别)

其中, MasterAppName 参数是必填项

参考: 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Go语言实战

Go语言实战

威廉·肯尼迪 (William Kennedy)、布赖恩·克特森 (Brian Ketelsen)、埃里克·圣马丁 (Erik St.Martin) / 李兆海 / 人民邮电出版社 / 2017-3-1 / CNY 59.00

Go语言结合了底层系统语言的能力以及现代语言的高级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。一起来看看 《Go语言实战》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具