第5天:核心概念之SparkConf

2021-03-16 10:22:11 浏览数 (1)

无论是集群还是单机应用,我们往往会需要将一些参数写入配置文件中,在Spark中实现这一功能的是SparkConf。
本文中将针对SparkConf进行讲解。

基本概念

SparkConf对象的基本结构如下:

代码语言:javascript复制
class pyspark.SparkConf (
 
   loadDefaults = True, 
 
   _jvm = None, 
 
   _jconf = None
 
)

默认情况下,我们使用SparkConf()创建一个SparkConf对象时,它会加载spark.*名称的java文件中的变量作为配置文件信息。此外,我们可以设置一些参数来修改其行为。

对于一个SparkConf类,其包含一些内置的函数。例如,我们可以使用如下语句:

代码语言:javascript复制
conf.setAppName(“PySpark App”).setMaster(“local”)

来修改应用名称和集群模式。但是需要注意的是,一旦我们将一个SparkConf对象传递给Spark集群后,此时则不再能够直接修改了。

SparkConf中一些常用的函数如下:

代码语言:javascript复制
# 设置配置文件中变量
 
set(key, value)
 
# 设置spark的主节点url
 
setMaster(value)
 
# 设置app名称
 
setAppName(value)
 
# 查询配置文件中变量值
 
get(key, defaultValue=None)
 
# 设置worker节点中的Spark安装目录
 
setSparkHome(value)

入门实战

在接下来的实例中,我们将会简单的使用SparkConf对象。 首先,我们会设置spark应用的名称和masterURL地址。 此外,我们还会设置一些基本的Spark配置用于一个PySpark应用中。

代码语言:javascript复制
from pyspark import SparkConf, SparkContext
 
conf = SparkConf().setAppName("PySpark App").setMaster("spark://master:7077")
 
sc = SparkContext(conf=conf)

0 人点赞