Spark大师之路:Spark的配置系统

本文介绍了Spark的配置系统,包括SparkConf类用于设置任务属性,如Master和AppName,环境变量通过spark-env.sh配置,日志则通过log4j.properties控制。SparkConf提供了预定义配置项,允许自定义Spark任务参数。环境变量的设置影响Spark运行,而日志配置通过log4j.properties模板实现。
摘要由CSDN通过智能技术生成

简介

Spark的配置系统主要分为三个部分:第一个部分是控制Spark任务运行属性的,一般会影响到Spark的运行情况和任务性能;第二个部分是系统变量,可以配置一些运行需要的环境变量及运行参数;第三部分是日志部分,Spark通过log4j来记录任务日志,所以这部分是通过配置log4j来实现的。 

Spark属性

Spark属性配置涵盖了任务运行时的大部分参数,并且可以根据不同的任务来实现不同的配置。这部分之前是依靠Java系统变量(也就是通过-D配置的变量)来实现的,但是自从0.9.0-incubating版本之后,这项任务就被一个单独的类SparkConf来承担了。SparkConf类中有很多预定义的配置项,一个简单的例子如下:

import org.apache.spark.{SparkContext, SparkConf}

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-3-27
 * Time: 下午11:54
 * To change this template use File | Settings | File Templates.
 */
object TestSpark {
  def main(args: Array[String]) =
  {
    val conf = new SparkConf().setMaster("local").setAppName("testSparkConf")
    val sc = new SparkContext(conf)
    println(sc.textFile("d:/conf.txt").count)
  }
}

 

这段代码最开始初始化并构建了一个SparkConf类的对象conf,使用其中的setMaster和setAppName方法将这个驱动程序的Master设为本地模式,将其名称设为testSparkConf。然后使用这个SparkConf类对象初始化了一个SparkContext类,将之前的配置项传递给sc,这样就可以控制驱动程序了。

conf.txt的内容如下:

aaa
b
cc
ddd

 

sc读取其中的内容,并使用count方法打印出它内容的行数,程序输出结果为:4

我们下载Spark的源码,在org.apache.spark包中找到SparkConf.sca

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值