Apache Spark: отключить динамическое выделение c для одного задания в приложении Spark - PullRequest
1 голос
/ 20 февраля 2020

У меня есть приложение 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.

...