gpt4 book ai didi

apache-spark - 如何为 SparkSession 使用自定义配置文件(不使用 spark-submit 提交应用程序)?

转载 作者:行者123 更新时间:2023-12-04 20:29:56 27 4
gpt4 key购买 nike

我有一个独立的 python 脚本,它创建了一个 SparkSession通过调用以下代码行,我可以看到它完美地配置了 Spark session ,如 spark-defaults.conf 中所述。文件。

spark = SparkSession.builder.appName("Tester").enableHiveSupport().getOrCreate()

如果我想作为参数传递,另一个包含我想要使用的 Spark 配置的文件而不是 spark-default.conf ,如何在创建 SparkSession 时指定它?

我可以看到我可以通过 SparkConf对象,但有没有办法从包含所有配置的文件中自动创建一个对象?

我是否必须手动解析输入文件并手动设置适当的配置?

最佳答案

如果您不使用 spark-submit你最好的在这里是覆盖SPARK_CONF_DIR .为每个配置集创建单独的目录:

$ configs tree           
.
├── conf1
│   ├── docker.properties
│   ├── fairscheduler.xml
│   ├── log4j.properties
│   ├── metrics.properties
│   ├── spark-defaults.conf
│   ├── spark-defaults.conf.template
│   └── spark-env.sh
└── conf2
├── docker.properties
├── fairscheduler.xml
├── log4j.properties
├── metrics.properties
├── spark-defaults.conf
├── spark-defaults.conf.template
└── spark-env.sh

并在初始化任何 JVM 依赖对象之前设置环境变量:
import os
from pyspark.sql import SparkSession

os.environ["SPARK_CONF_DIR"] = "/path/to/configs/conf1"
spark = SparkSession.builder.getOrCreate()

或者
import os
from pyspark.sql import SparkSession

os.environ["SPARK_CONF_DIR"] = "/path/to/configs/conf2"
spark = SparkSession.builder.getOrCreate()

这是一种解决方法,可能不适用于复杂的场景。

关于apache-spark - 如何为 SparkSession 使用自定义配置文件(不使用 spark-submit 提交应用程序)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com