DataWorks搬站方案:Airflow作业迁移至DataWorks
DataWorks提供任務(wù)搬站功能,支持將開源調(diào)度引擎Oozie、Azkaban、Airflow的任務(wù)快速遷移至DataWorks。本文主要介紹如何將開源Airflow工作流調(diào)度引擎中的作業(yè)遷移至DataWorks上。
支持遷移的Airflow版本
Airflow支持遷移的版本:python >= 3.6.x ?airfow >=1.10.x
整體遷移流程
遷移助手支持開源工作流調(diào)度引擎到DataWorks體系的大數(shù)據(jù)開發(fā)任務(wù)遷移的基本流程如下圖示。
針對不同的開源調(diào)度引擎,DataWorks遷移助手會出一個相關(guān)的任務(wù)導(dǎo)出方案。
整體遷移流程為:通過遷移助手調(diào)度引擎作業(yè)導(dǎo)出能力,將開源調(diào)度引擎中的作業(yè)導(dǎo)出;再將作業(yè)導(dǎo)出包上傳至遷移助手中,通過任務(wù)類型映射,將映射后的作業(yè)導(dǎo)入至DataWorks中。作業(yè)導(dǎo)入時可設(shè)置將任務(wù)轉(zhuǎn)換為MaxCompute類型作業(yè)、EMR類型作業(yè)、CDH類型作業(yè)等。
Airflow作業(yè)導(dǎo)出
導(dǎo)出原理介紹:在用戶的Airflow的執(zhí)行環(huán)境里面,利用Airflow的Python庫加載用戶在Ariflow上調(diào)度的dag folder(用戶自己的dag python文件所在目錄)。導(dǎo)出工具在內(nèi)存中通過Airflow的Python庫去讀取dag的內(nèi)部任務(wù)信息及其依賴關(guān)系,將生成的dag信息通過寫入json文件導(dǎo)出。
具體的執(zhí)行命令可進入遷移助手->任務(wù)上云->調(diào)度引擎作業(yè)導(dǎo)出->Airflow頁面中查看。
Airflow作業(yè)導(dǎo)入
拿到了開源調(diào)度引擎的導(dǎo)出任務(wù)包后,用戶可以拿這個zip包到遷移助手的遷移助手->任務(wù)上云->調(diào)度引擎作業(yè)導(dǎo)入頁面上傳導(dǎo)入包進行包分析。
導(dǎo)入包分析成功后點擊確認,進入導(dǎo)入任務(wù)設(shè)置頁面,頁面中會展示分析出來的調(diào)度任務(wù)信息。
開源調(diào)度導(dǎo)入設(shè)置
用戶可以點擊高級設(shè)置,設(shè)置Airflow任務(wù)與DataWorks任務(wù)的轉(zhuǎn)換關(guān)系。不同的開源調(diào)度引擎,在高級設(shè)置里面的設(shè)置界面基本一致如下。
高級設(shè)置項介紹:
- sparkt-submit轉(zhuǎn)換為:導(dǎo)入過程會去分析用戶的任務(wù)是不是sparkt-submit任務(wù),如果是的話,會將spark-submit任務(wù)轉(zhuǎn)換為對應(yīng)的DataWorks任務(wù)類型,比如說:ODPS_SPARK/EMR_SPARK/CDH_SPARK等
- 命令行 SQL任務(wù)轉(zhuǎn)換為:開源引擎很多任務(wù)類型是命令行運行SQL,比如說hive -e, beeline -e, impala-shell等等,遷移助手會根據(jù)用戶選擇的目標類型做對應(yīng)的轉(zhuǎn)換。比如可以轉(zhuǎn)換成ODPS_SQL, EMR_HIVE, EMR_IMPALA, EMR_PRESTO, CDH_HIVE, CDH_PRESTO, CDH_IMPALA等等
- 目標計算引擎類型:這個主要是影響的是Sqoop同步的目的端的數(shù)據(jù)寫入配置。我們會默認將sqoop命令轉(zhuǎn)換為數(shù)據(jù)集成任務(wù)。計算引擎類型決定了數(shù)據(jù)集成任務(wù)的目的端數(shù)據(jù)源使用哪個計算引擎的project。
- Shell類型轉(zhuǎn)換為:SHELL類型的節(jié)點在Dataworks根據(jù)不同計算引擎會有很多種,比如EMR_SHELL,CDH_SHELL,DataWorks自己的Shell節(jié)點等等。
- 未知任務(wù)轉(zhuǎn)換為:對目前遷移助手無法處理的任務(wù),我們默認用一個任務(wù)類型去對應(yīng),用戶可以選擇SHELL或者虛節(jié)點VIRTUAL
- SQL節(jié)點轉(zhuǎn)換為:DataWorks上的SQL節(jié)點類型也因為綁定的計算引擎的不同也有很多種。比如 EMR_HIVE,EMR_IMPALA、EMR_PRESTO,CDH_HIVE,CDH_IMPALA,CDH_PRESTO,ODPS_SQL,EMR_SPARK_SQL,CDH_SPARK_SQL等,用戶可以選擇轉(zhuǎn)換為哪種任務(wù)類型。
注意:這些導(dǎo)入映射的轉(zhuǎn)換值是動態(tài)變化的,和當前項目空間綁定的計算引擎有關(guān),轉(zhuǎn)換關(guān)系如下。
導(dǎo)入至DataWorks + MaxCompute
設(shè)置項 | 可選值 |
sparkt-submit轉(zhuǎn)換為 | ODPS_SPARK |
命令行 SQL任務(wù)轉(zhuǎn)換為 | ODPS_SQL、ODPS_SPARK_SQL |
目標計算引擎類型 | ODPS |
Shell類型轉(zhuǎn)換為 | DIDE_SHELL |
未知任務(wù)轉(zhuǎn)換為 | DIDE_SHELL、VIRTUAL |
SQL節(jié)點轉(zhuǎn)換為 | ODPS_SQL、ODPS_SPARK_SQL |
導(dǎo)入至DataWorks + EMR
設(shè)置項 | 可選值 |
sparkt-submit轉(zhuǎn)換為 | EMR_SPARK |
命令行 SQL任務(wù)轉(zhuǎn)換為 | EMR_HIVE, EMR_IMPALA, EMR_PRESTO, EMR_SPARK_SQL |
目標計算引擎類型 | EMR |
Shell類型轉(zhuǎn)換為 | DIDE_SHELL, EMR_SHELL |
未知任務(wù)轉(zhuǎn)換為 | DIDE_SHELL、VIRTUAL |
SQL節(jié)點轉(zhuǎn)換為 | EMR_HIVE, EMR_IMPALA, EMR_PRESTO, EMR_SPARK_SQL |
導(dǎo)入至DataWorks + CDH
設(shè)置項 | 可選值 |
sparkt-submit轉(zhuǎn)換為 | CDH_SPARK |
命令行 SQL任務(wù)轉(zhuǎn)換為 | CDH_HIVE, CDH_IMPALA, CDH_PRESTO, CDH_SPARK_SQL |
目標計算引擎類型 | CDH |
Shell類型轉(zhuǎn)換為 | DIDE_SHELL |
未知任務(wù)轉(zhuǎn)換為 | DIDE_SHELL、VIRTUAL |
SQL節(jié)點轉(zhuǎn)換為 | CDH_HIVE, CDH_IMPALA, CDH_PRESTO, CDH_SPARK_SQL |
執(zhí)行導(dǎo)入
設(shè)置完映射關(guān)系后,點擊開始導(dǎo)入即可。導(dǎo)入完成后,請進入數(shù)據(jù)開發(fā)中查看導(dǎo)入結(jié)果。
數(shù)據(jù)遷移
大數(shù)據(jù)集群上的數(shù)據(jù)遷移,可參考:DataWorks數(shù)據(jù)集成或MMA。
任務(wù)上云詳細文檔:https://help.aliyun.com/document_detail/181296.html
原文鏈接:https://developer.aliyun.com/article/783737?
版權(quán)聲明:本文內(nèi)容由阿里云實名注冊用戶自發(fā)貢獻,版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進行舉報,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的DataWorks搬站方案:Airflow作业迁移至DataWorks的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataWorks搬站方案:Azkaba
- 下一篇: 阿里云数据中台全新产品DataTrust