DataWorks遷移助手提供任務搬站功能,支持將開源調度引擎Oozie、Azkaban、Airflow的任務快速遷移至DataWorks。本文主要介紹如何將開源Azkaban工作流調度引擎中的作業遷移至DataWorks上。
支持遷移的Azkaban版本
支持全部版本的Azkaban遷移。
整體遷移流程
遷移助手支持開源工作流調度引擎到DataWorks體系的大數據開發任務遷移的基本流程如下圖所示。
針對不同的開源調度引擎,DataWorks遷移助手會出一個相關的任務導出方案。
整體遷移流程為:通過遷移助手調度引擎作業導出能力,將開源調度引擎中的作業導出;再將作業導出包上傳至遷移助手中,通過任務類型映射,將映射后的作業導入至DataWorks中。作業導入時可設置將任務轉換為MaxCompute類型作業、EMR類型作業、CDH類型作業等。
Azkaban作業導出
Azkaban工具本身具備導出工作流的能力,有自己的Web控制台,如下圖所示:
Azkaban界面支持直接Download某個Flow。Flow的導出流程:
操作步驟:
1.進入Project頁面
2.點擊Flows,會列出Project下面所有的工作流(Flow)
3.點擊Download即可下載Project的導出文件
Azkaban導出包格式原生Azkaban即可,導出包Zip文件內部為Azakaban的某個Project的所有任務(Job)和關系信息。
Azkaban作業導入
拿到了開源調度引擎的導出任務包后,用戶可以拿這個zip包到遷移助手的遷移助手->任務上雲->調度引擎作業導入頁面上傳導入包進行包分析。
導入包分析成功后點擊確認,進入導入任務設置頁面,頁面中會展示分析出來的調度任務信息。
開源調度導入設置
用戶可以點擊高級設置,設置Azkaban任務與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 |
命令行 SQL任務轉換為 |
ODPS_SQL、ODPS_SPARK_SQL |
目標計算引擎類型 |
ODPS |
Shell類型轉換為 |
DIDE_SHELL |
未知任務轉換為 |
DIDE_SHELL、VIRTUAL |
SQL節點轉換為 |
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。
本文為阿里雲原創內容,未經允許不得轉載。