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

查看所有标签

猜你喜欢:

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

这还是马云

这还是马云

陈伟 / 浙江人民出版社 / 2013-5 / 39.80元

“幽默马云”、“开心马云”、“顽皮马云”、“狂妄马云”……《这还是马云(全新升级版)》由陈伟所著,《这还是马云(全新升级版)》从各个角度揭开了实际生活中“千面马云”的真面目,告诉你一个与想象中大不一样的马云。这不只是一本书,更像一部喜剧电影,让你通过声音、色彩、表情等诸多要素走近马云,感受阿里巴巴。没有冗长的说教,只有让人忍俊不禁的细节;没有高深的理论,只有通俗、诚恳的陈述。作者借幽默平常的琐事,......一起来看看 《这还是马云》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具