火花会话
要获取 SparkSession 的所有“作为键值对的各种 Spark 参数”,“使用 Dataset 和 DataFrame API 编程 Spark 的入口点”,运行以下命令(这是使用 Spark Python API,Scala 将非常相似) .
import pyspark
from pyspark import SparkConf
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
SparkConf().getAll()
或不导入SparkConf
:
spark.sparkContext.getConf().getAll()
根据您使用的 API,请参阅以下内容之一:
- https://spark.apache.org/docs/latest/api/scala/org/apache/spark/sql/SparkSession.html
- https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.SparkSession.html
- https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/SparkSession.html
您可以通过运行以下代码获得更深层次的 SparkSession 配置选项列表。大多数是相同的,但还有一些额外的。我不确定你是否可以改变这些。
spark.sparkContext._conf.getAll()
火花上下文
要获取 SparkContext 的所有“作为键值对的各种 Spark 参数”、“Spark 功能的主要入口点”、...“连接到 Spark 集群”、...以及“创建 RDD、累加器和在该集群上广播变量,”运行以下命令。
import pyspark
from pyspark import SparkConf, SparkContext
spark_conf = SparkConf().setAppName("test")
spark = SparkContext(conf = spark_conf)
SparkConf().getAll()
根据您使用的 API,请参阅以下内容之一:
- https://spark.apache.org/docs/latest/api/scala/org/apache/spark/SparkContext.html
- https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.SparkContext.html
- https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html
火花参数
您应该获得一个包含“作为键值对的各种 Spark 参数”的元组列表,类似于以下内容:
[(u'spark.eventLog.enabled', u'true'),
(u'spark.yarn.appMasterEnv.PYSPARK_PYTHON', u'/<yourpath>/parcels/Anaconda-4.2.0/bin/python'),
...
...
(u'spark.yarn.jars', u'local:/<yourpath>/lib/spark2/jars/*')]
根据您使用的 API,请参阅以下内容之一:
- https://spark.apache.org/docs/latest/api/scala/org/apache/spark/SparkConf.html
- https://spark.apache.org/docs/latest//api/python/reference/api/pyspark.SparkConf.html
- https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkConf.html
有关 Spark 属性的完整列表,请参阅:
http ://spark.apache.org/docs/latest/configuration.html#viewing-spark-properties
设置 Spark 参数
("spark.some.config.option", "some-value")
您可以在应用程序中设置每个元组:
火花会话
spark = (
SparkSession
.builder
.appName("Your App Name")
.config("spark.some.config.option1", "some-value")
.config("spark.some.config.option2", "some-value")
.getOrCreate())
sc = spark.sparkContext
火花上下文
spark_conf = (
SparkConf()
.setAppName("Your App Name")
.set("spark.some.config.option1", "some-value")
.set("spark.some.config.option2", "some-value"))
sc = SparkContext(conf = spark_conf)
火花默认值
您还可以在spark-defaults.conf
文件中设置 Spark 参数:
spark.some.config.option1 some-value
spark.some.config.option2 "some-value"
spark-submit
然后使用(pyspark)运行您的 Spark 应用程序:
spark-submit \
--properties-file path/to/your/spark-defaults.conf \
--name "Your App Name" \
--py-files path/to/your/supporting/pyspark_files.zip \
--class Main path/to/your/pyspark_main.py