乐趣区

关于sql:DataWorks搬站方案Airflow作业迁移至DataWorks

简介:DataWorks 提供工作搬站性能,反对将开源调度引擎 Oozie、Azkaban、Airflow 的工作疾速迁徙至 DataWorks。本文次要介绍如何将开源 Airflow 工作流调度引擎中的作业迁徙至 DataWorks 上

DataWorks 提供工作搬站性能,反对将开源调度引擎 Oozie、Azkaban、Airflow 的工作疾速迁徙至 DataWorks。本文次要介绍如何将开源 Airflow 工作流调度引擎中的作业迁徙至 DataWorks 上。

反对迁徙的 Airflow 版本

Airflow 反对迁徙的版本:python >= 3.6.x  airfow >=1.10.x

整体迁徙流程

迁徙助手反对开源工作流调度引擎到 DataWorks 体系的大数据开发工作迁徙的根本流程如下图示。

针对不同的开源调度引擎,DataWorks 迁徙助手会出一个相干的工作导出计划。

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

Airflow 作业导出

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

具体的执行命令可进入 迁徙助手 -> 工作上云 -> 调度引擎作业导出 ->Airflow页面中查看。

Airflow 作业导入

拿到了开源调度引擎的导出工作包后,用户能够拿这个 zip 包到迁徙助手的 迁徙助手 -> 工作上云 -> 调度引擎作业导入 页面上传导入包进行包剖析。

导入包剖析胜利后点击 确认,进入导入工作设置页面,页面中会展现剖析进去的调度工作信息。

开源调度导入设置

用户能够点击高级设置,设置 Airflow 工作与 DataWorks 工作的转换关系。不同的开源调度引擎,在高级设置外面的设置界面基本一致如下。

高级设置项介绍:

  • 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

> 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

退出移动版