本文介紹一站式湖倉巨量資料遷移平台(Lakehouse Migration)調度遷移工具的基礎能力
功能概述
一站式湖倉巨量資料遷移平台(Lakehouse Migration,LHM)提供了將開源調度引擎作業、他雲調度引擎作業快速遷移至DataWorks(新版Idea)的能力。
調度遷移由源端作業匯出、異構作業轉換、DataWorks作業匯入三步執行,中間結果透出,遷移全程可控
靈活可配置的轉換配置,對DataWorks+MaxCompute/EMR/Hologres多種計算引擎進行適配
遷移工具輕量部署,僅要求JDK17運行環境和網路連通
資料安全保障,遷移全程本地運行,中間結果不上傳
架構圖:
調度遷移步驟
LHM調度遷移工具通過三步實現任意調度引擎到DataWorks的異構轉換遷移。
遷移源端調度任務匯出(源端探查)。
實現從源端擷取調度任務資訊,並將其解析為LHM調度工作流程標準資料結構,實現資料結構上的標準化。
遷移源端-DataWorks調度屬性的轉換。
將源端調度任務屬性轉換為DataWorks任務屬性,包括任務類型、調度定時器、任務參數、部分類型的任務指令碼等。以LHM調度工作流程標準資料結構為基,進行屬性轉換。
DataWorks調度任務匯入。
自動構造DataWorks工作流程定義、調用DataWorks SDK實現任務匯入,工具自動選擇建立/更新邏輯,為使用者提供多輪遷移、遷移源端變更同步的能力。
調度遷移能力矩陣
當前LHM工具已實現以下調度引擎任務到DataWorks的自動化遷移。
開源引擎至DataWorks調度遷移
源端類型 | 源端版本 | 支援轉換的節點類型 |
DolphinScheduler | 1.x | Shell、SQL、Python、DataX、Sqoop、Spark(Java, Python, SQL)、MapReduce、Conditions、Dependent、SubProcess |
2.x | Shell、SQL、Python、DataX、Sqoop、HiveCLI、Spark(Java, Python, SQL)、MapReduce、Procedure、HTTP、Conditions、Switch、Dependent、SubProcess | |
3.x | Shell、SQL、Python、DataX、Sqoop、SeaTunnel、HiveCLI、Spark(Java, Python, SQL)、MapReduce、Procedure、HTTP、Conditions、Switch、Dependent、SubProcess(3.3.0-alpha版本更名SubWorkflow) | |
Airflow | 2.x | EmptyOperator、DummyOperator、ExternalTaskSensor、BashOperator、HiveToMySqlTransfer、PrestoToMySqlTransfer、PythonOperator、HiveOperator、SqoopOperator、SparkSqlOperator、SparkSubmitOperator、SQLExecuteQueryOperator、PostgresOperator、MySqlOperator |
AzkabanBeta | 3.x | Noop、Shell、Subprocess |
OozieBeta | 5.x | Start、End、Kill、Decision、Fork、Join、MapReduce、Pig、FS、SubWorkflow、Java |
HUEBeta | Latest | Fork、Join、OK、Error、Sqoop、Hive、Hive2、Shell |
Latest指2025年05月時的最新版本。
他雲調度引擎至DataWorks調度遷移
源端類型 | 源端版本 | 支援轉換的節點類型 |
DataArts(DGC) | Latest | CDMJob、HiveSQL、DWSSQL、DLISQL、RDSSQL、SparkSQL、Shell、DLISpark、MRSSpark、DLFSubJob、RESTAPI、Note、Dummy |
WeData | Latest | Shell、HiveSql、JDBCSql、Python、SparkPy、SparkSql、Foreach、ForeachStart、ForeachEnd、離線同步 |
Azure Data Factory(ADF)Beta | Latest | DatabricksNotebook、ExecutePipeline、Copy、Script、Wait、WebActivity、AppendVariable、Delete、DatabricksSparkJar、DatabricksSparkPython、Fail、Filter、ForEach、GetMetadata、HDInsightHive、HDInsightMapReduce、HDInsightSpark、IfCondition、Lookup、SetVariable、SqlServerStoredProcedure、Switch、Until、Validation、SparkJob |
EMR Workflow至DataWorks調度遷移
EMR Workflow | 2024.03 (Latest) | Shell、SQL、Python、DataX、Sqoop、SeaTunnel、HiveCLI、Spark、ImpalaShell、RemoteShell、MapReduce、Procedure、HTTP、Conditions、Switch、Dependent、SubProcess |
DataWorks平遷鏈路
源端類型 | 源端版本 | 支援轉換的節點類型 |
DataWorks | 新版 | 被周期工作流程包含的所有節點 |
DataWorks Spec | 新版 | 被周期工作流程包含的所有節點 |