DataWorks搬站方案:Airflow做业迁移至DataWorks

简介:DataWorks提供任务搬站功能,支持将开源调度引擎Oozie、Azkaban、Airflow的任务快速迁移至DataWorks。本文主要介绍如何将开源Airflow工做流调度引擎中的做业迁移至DataWorks上

DataWorks提供任务搬站功能,支持将开源调度引擎Oozie、Azkaban、Airflow的任务快速迁移至DataWorks。本文主要介绍如何将开源Airflow工做流调度引擎中的做业迁移至DataWorks上。html

支持迁移的Airflow版本

Airflow支持迁移的版本:python >= 3.6.x  airfow >=1.10.xpython

总体迁移流程

迁移助手支持开源工做流调度引擎到DataWorks体系的大数据开发任务迁移的基本流程以下图示。shell

air1.png

针对不一样的开源调度引擎,DataWorks迁移助手会出一个相关的任务导出方案。json

总体迁移流程为:经过迁移助手调度引擎做业导出能力,将开源调度引擎中的做业导出;再将做业导出包上传至迁移助手中,经过任务类型映射,将映射后的做业导入至DataWorks中。做业导入时可设置将任务转换为MaxCompute类型做业、EMR类型做业、CDH类型做业等。工具

Airflow做业导出

导出原理介绍:在用户的Airflow的执行环境里面,利用Airflow的Python库加载用户在Ariflow上调度的dag folder(用户本身的dag python文件所在目录)。导出工具在内存中经过Airflow的Python库去读取dag的内部任务信息及其依赖关系,将生成的dag信息经过写入json文件导出。oop

具体的执行命令可进入迁移助手->任务上云->调度引擎做业导出->Airflow页面中查看。大数据

Airflow做业导入

拿到了开源调度引擎的导出任务包后,用户能够拿这个zip包到迁移助手的迁移助手->任务上云->调度引擎做业导入页面上传导入包进行包分析。阿里云

air2.png

导入包分析成功后点击确认,进入导入任务设置页面,页面中会展现分析出来的调度任务信息。spa

air3.png

开源调度导入设置

用户能够点击高级设置,设置Airflow任务与DataWorks任务的转换关系。不一样的开源调度引擎,在高级设置里面的设置界面基本一致以下。命令行

air4.png

高级设置项介绍:

  • sparkt-submit转换为:导入过程会去分析用户的任务是否是sparkt-submit任务,若是是的话,会将spark-submit任务转换为对应的DataWorks任务类型,好比说:ODPS\_SPARK/EMR\_SPARK/CDH\_SPARK等
  • 命令行 SQL任务转换为:开源引擎不少任务类型是命令行运行SQL,好比说hive -e, beeline -e, impala-shell等等,迁移助手会根据用户选择的目标类型作对应的转换。好比能够转换成ODPS\_SQL, EMR\_HIVE, EMR\_IMPALA, EMR\_PRESTO, CDH\_HIVE, CDH\_PRESTO, CDH\_IMPALA等等
  • 目标计算引擎类型:这个主要是影响的是Sqoop同步的目的端的数据写入配置。咱们会默认将sqoop命令转换为数据集成任务。计算引擎类型决定了数据集成任务的目的端数据源使用哪一个计算引擎的project。
  • Shell类型转换为:SHELL类型的节点在Dataworks根据不一样计算引擎会有不少种,好比EMR\_SHELL,CDH\_SHELL,DataWorks本身的Shell节点等等。
  • 未知任务转换为:对目前迁移助手没法处理的任务,咱们默认用一个任务类型去对应,用户能够选择SHELL或者虚节点VIRTUAL
  • SQL节点转换为:DataWorks上的SQL节点类型也由于绑定的计算引擎的不一样也有不少种。好比 EMR\_HIVE,EMR\_IMPALA、EMR\_PRESTO,CDH\_HIVE,CDH\_IMPALA,CDH\_PRESTO,ODPS\_SQL,EMR\_SPARK\_SQL,CDH\_SPARK\_SQL等,用户能够选择转换为哪一种任务类型。
注意:这些导入映射的转换值是动态变化的,和当前项目空间绑定的计算引擎有关,转换关系以下。

导入至DataWorks + MaxCompute

设置项 可选值
sparkt-submit转换为 ODPS_SPARK
<span>命令行 SQL任务转换为</span> ODPS_SQL、ODPS_SPARK_SQL
<span>目标计算引擎类型</span> ODPS
<span>Shell类型转换为</span> DIDE_SHELL
<span>未知任务转换为</span> DIDE_SHELL、VIRTUAL
<span>SQL节点转换为</span> ODPS_SQL、ODPS_SPARK_SQL
### 导入至DataWorks + EMR
设置项 可选值
sparkt-submit转换为 EMR_SPARK
命令行 SQL任务转换为 EMR_HIVE, EMR_IMPALA, EMR_PRESTO, EMR_SPARK_SQL
目标计算引擎类型 EMR
Shell类型转换为 DIDE_SHELL, EMR_SHELL
未知任务转换为 DIDE_SHELL、VIRTUAL
SQL节点转换为 EMR_HIVE, EMR_IMPALA, EMR_PRESTO, EMR_SPARK_SQL
### 导入至DataWorks + CDH
设置项 可选值
sparkt-submit转换为 CDH_SPARK
命令行 SQL任务转换为 CDH_HIVE, CDH_IMPALA, CDH_PRESTO, CDH_SPARK_SQL
目标计算引擎类型 CDH
Shell类型转换为 DIDE_SHELL
未知任务转换为 DIDE_SHELL、VIRTUAL
SQL节点转换为 CDH_HIVE, CDH_IMPALA, CDH_PRESTO, CDH_SPARK_SQL
## 执行导入 设置完映射关系后,点击开始导入便可。导入完成后,请进入数据开发中查看导入结果。 ## 数据迁移 大数据集群上的数据迁移,可参考: DataWorks数据集成MMA。 任务上云详细文档: https://help.aliyun.com/document\_detail/181296.html > 本文内容由阿里云实名注册用户自发贡献,版权归原做者全部,阿里云开发者社区不拥有其著做权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。若是您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将马上删除涉嫌侵权内容。
相关文章
相关标签/搜索