У меня есть приложение Spark, которое запускает несколько заданий Spark (здесь под заданием Spark подразумевается действие над фреймом данных, например, запись его в HDFS, при котором запускается группа DAG этапов и задач). Я хотел бы выборочно включить динамическое распределение c для некоторых из этих заданий и отключить его для других.
Поэтому мой вопрос заключается в том, возможно ли выборочное включение или отключение динамического выделения c для одной искры работа в приложении? Я попытался отключить динамическое выделение c в одиночном задании с использованием метода option
в классе DataFrameWriter, как показано ниже.
df
.write
.option("spark.dynamicAllocation.enabled", "false")
.parquet("hdfs://target-path")
, но это не сработало, и, глядя на кодовую базу от Spark не похоже, что он должен так работать. Похоже, что единственная другая опция - нам нужно будет отключить текущий sparkSession и воссоздать новый всякий раз, когда мы захотим переключить свойство размещения dynamici c в моем приложении. Это единственный способ или есть лучшая альтернатива для включения и отключения динамического выделения c.