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 的示例。在此示例中,我们将 Spark 应用程序名称设置为PySpark App,并将 Spark 应用程序的主 URL 设置为 → Spark://master:7077

以下代码块包含以下行,当它们添加到 Python 文件中时,它会设置运行 PySpark 应用程序的基本配置。

---------------------------------------------------------------------------------------
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("PySpark App").setMaster("spark://master:7077")
sc = SparkContext(conf=conf)
---------------------------------------------------------------------------------------