Airflow DMS Operator

更新时间:
复制为 MD 格式

数据管理DMS为了方便您安全地使用DMS管理的资源,定制了一些Airflow Operator,您可根据自身的需求选择使用。

前提条件

操作步骤

说明

更多信息,请参见工作流开发

  1. 已进入WORKSPACEREPOS配置代码页面。

  2. Python文件中配置代码。

    Operator

    说明

    DMSSqlOperator

    SQL提交到DMS管理的数据库实例中执行,并获取结果。

    DTSLakeInjectionOperator

    借助DTS的能力,将DMS管理的数据库中的数据同步到对象存储OSS上。

    DMSNotebookOperator

    执行一个DMS管理的Notebook文件(.pynb)。

    DMSAnalyticDBSparkOperator

    Spark SQL提交到湖仓版AnalyticDB MySQL管理的特定资源组上(任务类型为Interactive、引擎为Spark)。

    DMSLockFreeSqlOperator

    通过DMS分块DML服务执行无锁大批量DML操作,适用于大表UPDATEDELETE场景。

    DMSLindormSparkOperator

    Lindorm Spark引擎上执行SQLJAR任务。

  3. Airflow界面使用REST API,运行Python文件。

通用特性

以下特性适用于所有DMS Airflow Operator。

任务取消

所有Operator都实现了on_kill()方法。当Airflow发送终止信号(例如手动将任务标记为失败或任务超时)时,Operator会自动调用对应云服务的取消API,确保远程任务被正确清理,避免资源浪费。

重试机制

任务提交和状态查询都内置了基于tenacity的自动重试机制:

  • 任务提交:最多重试3次,每次间隔5秒。

  • 状态查询:最多重试5次,每次间隔3秒。