apache-spark - Apache Spark:禁用 Spark 应用程序中单个作业的动态分配
问题描述
我有一个启动多个 Spark 作业的 Spark 应用程序(这里的 Spark 作业意味着对数据帧的操作,例如将其写入 HDFS,这将启动阶段和任务的 DAG)。我想有选择地为其中一些作业启用动态分配,并为其他作业禁用它。
所以我的问题是,是否可以有选择地启用或禁用应用程序中每个 Spark 作业的动态分配?我尝试使用option
DataFrameWriter 类中的方法禁用单个 Spark 作业中的动态分配,如下所示。
df
.write
.option("spark.dynamicAllocation.enabled", "false")
.parquet("hdfs://target-path")
但它没有成功,通过查看 Spark 的代码库,它似乎不应该像那样工作。唯一的另一个选项似乎是,每当我们想在我的应用程序中切换动态分配属性时,我们都必须拆除当前的 sparkSession 并重新创建一个新的。这是唯一的方法还是有更好的选择来启用和禁用动态分配。
解决方案
推荐阅读
- xamarin.android - xamarin.android:为吐司提供背景颜色会删除角半径
- android - 用于网格视图的 Android 自定义 BaseAdapter 在回滚时返回其他项目
- node.js - 如何删除我的./src/**/*.ts 中的@types/jest 全局变量声明?
- android - 我想让我的 xamarin 项目从 android 而不是 mac 启动
- c# - 前向填充 .NET for Spark
- asp.net-core - 启用 Always Encrypt 的 .NET 5.0 SQL 连接字符串
- r - git如何将文本转换为机器默认的字符编码?
- angular - 使用容器名称在 Angular 应用程序和后端之间进行通信
- javascript - 为什么这个 javascript 正则表达式替换不替换任何东西?
- java - FirebaseMessagingService 类如何触发子类的覆盖功能?