gpt4 book ai didi

apache-spark - 跨多个 Spark 作业重用 Spark session

转载 作者:行者123 更新时间:2023-12-05 04:01:01 24 4
gpt4 key购买 nike

我有大约 10 个 Spark 作业,每个作业都会进行一些转换并将数据加载到数据库中。必须为每个作业单独打开和关闭 Spark session ,每次初始化都会耗费时间。

是否可以只创建一次 Spark session 并在多个作业中重复使用它?

最佳答案

从技术上讲,如果您使用单个 Spark session ,您最终将拥有单个 Spark 应用程序,因为您必须在单个 JAR 文件中打包和运行多个 ETL(提取、转换和加载)。

如果您在生产集群中运行这些作业,很可能您正在使用 spark-submit执行您的应用程序 jar,每次您在 client 模式下通过 Spark Master -> Workers 提交作业时,它都必须经过初始化阶段。

一般来说,长时间运行的 spark session 最适合用于原型(prototype)设计、故障排除和调试目的,例如,可以在 spark-shell 或任何其他交互式开发环境中利用单个 spark session , 比如 Zeppelin ;但是,据我所知,不是 spark-submit

总而言之,这里有几个设计/业务问题值得考虑;将多个 ETL 作业合并在一起会生成易于维护、管理和调试的代码吗?它是否提供了所需的性能增益?风险/成本分析 ?等等

希望对你有帮助

关于apache-spark - 跨多个 Spark 作业重用 Spark session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55691173/

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