我正试图获取当前class RegistrationForm(Form):
username = StringField('username', [validators.Length(min=4, max=25)])
email = StringField('email', [validators.email, validators.Length(min=4, max=40)])
password = PasswordField('password',
[validators.Required(),
validators.EqualTo('confirm', message='Passwords skal matche hinanden.')
])
confirm = PasswordField('passwordconfirm')
accept_tos = BooleanField('Jeg accepterer regler for denne hjemmeside', [validators.Required()])
spark.worker.dir
的路径。
如果我明确地将其设置为sparkcontext
,我可以从config param
中读取它,但无论如何都要使用{{访问完整的SparkConf
(包括所有默认值) 1}}?
答案 0 :(得分:63)
是: sc._conf.getAll()
使用该方法:
SparkConf.getAll()
访问
SparkContext.sc._conf
注意下划线:这使得这很棘手。我不得不看一下火花源代码来解决它;)
但确实有效:
In [4]: sc._conf.getAll()
Out[4]:
[(u'spark.master', u'local'),
(u'spark.rdd.compress', u'True'),
(u'spark.serializer.objectStreamReset', u'100'),
(u'spark.app.name', u'PySparkShell')]
答案 1 :(得分:48)
Spark 2.1 +
spark.sparkContext.getConf().getAll()
其中spark
是您的sparksession
(为您提供dict
所有已配置的设置)
答案 2 :(得分:27)
Spark 1.6 +
sc.getConf.getAll.foreach(println)
答案 3 :(得分:12)
更新 Spark 2.3.1
中的配置要更改默认的火花配置,您可以按照以下步骤操作:
导入所需的课程
chrome.exe 16688 None
获取默认配置
from pyspark.conf import SparkConf
from pyspark.sql import SparkSession
更新默认配置
spark.sparkContext._conf.getAll()
停止当前的Spark会话
conf = spark.sparkContext._conf.setAll([('spark.executor.memory', '4g'), ('spark.app.name', 'Spark Updated Conf'), ('spark.executor.cores', '4'), ('spark.cores.max', '4'), ('spark.driver.memory','4g')])
创建Spark会话
spark.sparkContext.stop()
答案 4 :(得分:9)
有关Spark环境和配置的完整概述,我发现以下代码片段非常有用:
SparkContext:
for item in sorted(sc._conf.getAll()): print(item)
Hadoop配置:
hadoopConf = {}
iterator = sc._jsc.hadoopConfiguration().iterator()
while iterator.hasNext():
prop = iterator.next()
hadoopConf[prop.getKey()] = prop.getValue()
for item in sorted(hadoopConf.items()): print(item)
环境变量:
import os
for item in sorted(os.environ.items()): print(item)
答案 5 :(得分:4)
不幸的是,不,Spark平台自2.3.1版本起,没有提供任何方式在运行时以编程方式访问每个属性的值。它提供了几种方法来访问通过配置文件(例如spark-defaults.conf
)显式设置的属性值,在创建会话时通过SparkConf
对象设置的属性或在创建会话时通过命令行设置的属性的值。提交了作业,但是这些方法都不会显示未明确设置的属性的默认值。为了完整起见,最好的选择是:
http://<driver>:4040
上)具有带有属性值表的“环境”标签。SparkContext
在PySpark中保留对其配置的隐藏引用,并且该配置提供了一种getAll
方法:spark.sparkContext._conf.getAll()
。SET
command,它将返回属性值表:spark.sql("SET").toPandas()
。您还可以使用SET -v
在属性说明中添加一列。(这三个方法都在我的集群上返回相同的数据。)
答案 6 :(得分:3)
您可以使用:
ssc.sparkContext.getConf.getAll
例如,我经常在Spark程序的顶部有以下内容:
logger.info(ssc.sparkContext.getConf.getAll.mkString("\n"))
答案 7 :(得分:0)
不确定您是否可以轻松获得所有默认设置,但特别是对于工作人员,它非常直接:
from pyspark import SparkFiles
print SparkFiles.getRootDirectory()
答案 8 :(得分:0)
仅为记录类似的java版本:
Tuple2<String, String> sc[] = sparkConf.getAll();
for (int i = 0; i < sc.length; i++) {
System.out.println(sc[i]);
}
答案 9 :(得分:0)
对于Spark 2+,您也可以在使用scala时使用
spark.conf.getAll; //spark as spark session
答案 10 :(得分:0)
sc.getConf()。getAll()将为您提供所有设置的列表
答案 11 :(得分:0)
假设我想使用Spark Session在运行时增加驱动程序内存:
s2 = SparkSession.builder.config("spark.driver.memory", "29g").getOrCreate()
现在我要查看更新的设置:
s2.conf.get("spark.driver.memory")
要获取所有设置,您可以使用spark.sparkContext._conf.getAll()
希望这会有所帮助
答案 12 :(得分:0)
如果您想查看数据块中的配置,请使用以下命令
spark.sparkContext._conf.getAll()
答案 13 :(得分:0)
我建议您尝试以下方法以获取当前的 Spark 上下文设置。
SparkConf.getAll()
访问者
SparkContext.sc._conf
获取 Spark 2.1+ 的默认配置
spark.sparkContext.getConf().getAll()
停止当前的 Spark 会话
spark.sparkContext.stop()
创建 Spark 会话
spark = SparkSession.builder.config(conf=conf).getOrCreate()