我们正在 pyspark 中构建数据摄取框架。
第一步是使用我们的应用程序名称获取/创建一个 sparksession。 dataLoader.py 的结构概述如下。
spark = SparkSession \
.builder \
.appName('POC') \
.enableHiveSupport() \
.getOrCreate()
#create data frame from file
#process file
如果我必须同时执行这个 dataLoader.py 来加载不同的文件,相同的 spark session 会导致问题吗?
我是否必须为每次摄取创建单独的 Spark session ?
最佳答案
不,您不会创建多个 spark session 。每个 Spark 应用程序只应创建一次 Spark session 。 Spark 不支持此功能,如果您在同一个 Spark 作业中使用多个 Spark session ,您的作业可能会失败。这是SPARK-2243 spark关闭了票证说它不会修复它的地方。
如果你想使用 dataLoader.py
加载不同的文件有2个选项
dataLoader.py
不同文件的脚本并并行运行每个 Spark 作业。在这里,每个 spark 作业都有自己的 sparkSession。 关于apache-spark - 要创建多少个 Spark session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410267/