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

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

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

查看所有标签

猜你喜欢:

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

智能

智能

[法]弗雷德里克·马特尔 / 君瑞图、左玉冰 / 商务印书馆 / 2015-8 / 59.90

揭示数字化主流大趋势的最新权威论著 《主流》作者的最新力作!与法国秋季新版同步上市! 面对数字化时代的到来,美国、欧盟、中国、俄罗斯、印度、巴西、古巴、伊朗、南非、韩国、新加坡、肯尼亚、墨西哥、日本等世界各国各地区正在如何应对? 在国际地缘政治格局下如何把握数字化主流的大趋势? 谷歌、苹果、脸书、亚马逊、阿里巴巴、腾讯、中兴、华为等大家熟知的网络巨头接受了作者的采访。作者的......一起来看看 《智能》 这本书的介绍吧!

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

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试