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

查看所有标签

猜你喜欢:

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

设计方法卡牌

设计方法卡牌

罗莎 等 / 电子工业出版社 / 2017-7 / 79.00

本套设计素材提供了54种设计方法,以卡牌的形式展示给读者,每张卡牌包括该设计方法的基本描述、目的、时间成本、工具渠道、使用阶段、操作步骤及其归类属性等信息。在做设计时,可以根据自己的需求进行卡牌的选择和组合,让设计工作更有灵活性和趣味性。同时,依据设计产品属性的不同,卡牌提供了选择设计方法的推荐模板、方法组合模板、产品阶段划分模板,给初学者在做设计时提供一定的理论依据,帮助读者启发设计灵感,剖析设......一起来看看 《设计方法卡牌》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具