PySpark SparkConf
为了在本地/集群上运行一个Spark应用程序,你需要设置一些配置和参数,这就是SparkConf的帮助。它提供了运行Spark应用程序的配置。下面的代码块是PySpark的SparkConf类的细节。
class pyspark.SparkConf (
loadDefaults = True,
_jvm = None,
_jconf = None
)
最初,我们将用SparkConf()创建一个SparkConf对象,它也会从 **spark.*** Java系统属性中加载值。现在你可以使用SparkConf对象设置不同的参数,它们的参数将优先于系统属性。
在SparkConf类中,有一些setter方法,它们支持链式。例如,你可以写 conf.setAppName(“PySpark App”).setMaster(“local”) 。 一旦我们把SparkConf对象传递给Apache Spark,它就不能被任何用户修改。
以下是SparkConf的一些最常用的属性 –
- set(key, value) – 设置一个配置属性。
-
setMaster(value) – 设置主URL。
-
setAppName(value) – 设置一个应用程序的名称。
-
get(key, defaultValue=None) – 获得一个键的配置值。
-
setSparkHome(value) – 设置工作节点上的Spark安装路径。
让我们考虑下面这个在PySpark程序中使用SparkConf的例子。在这个例子中,我们将火花程序的名称设置为 PySpark App ,并将火花程序的主URL设置为→ spark://master:7077 。
下面的代码块有几行,当它们被添加到Python文件中时,它设置了运行PySpark应用程序的基本配置。
---------------------------------------------------------------------------------------
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("PySpark App").setMaster("spark://master:7077")
sc = SparkContext(conf=conf)
---------------------------------------------------------------------------------------