如果通过airflow首次尝试创建失败,如何使用不同的配置创建dataproc群集

2024-09-30 01:26:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用GCPDataproc和Airflow开发数据解决方案

虽然通过Airflow创建dataproc群集非常容易使用DataprocCreateClusterOperator,但挑战在于dataproc群集创建因有效原因(如群集区域中的IP耗尽等)而失败

我们为此尝试了两种方法-

  1. 使用从DataprocCreateClusterOperator继承的自定义运算符:使用该运算符,我们可以实现群集创建,但无法检查任务的重试次数(因为自定义运算符中的provider\u context=True参数不可用,该参数有助于任务\u实例对象)

  2. 使用Python操作符调用DataprocCreateClusterOperator(它接受provider_context=True并可以检查任务重试次数):在这种情况下,Python操作符成功执行,但不创建dataproc集群

还有其他方法,如气流分支,但这将有以下问题-

  1. 代码冗余

  2. 为第一次和后续重试分别配置多个dataproc配置。使用PythonOperator和CustomOperator,可以通过编程方式更新配置

如果在第一次任务运行中创建失败,是否有其他方法使用不同的配置创建dataproc群集


Tags: 数据方法true参数context原因运算符解决方案

热门问题