本文介绍一站式湖仓大数据迁移平台(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 |
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、离线同步 |
Azkaban | 3.x | Noop、Shell、Subprocess |
Oozie | 5.x | Start、End、Kill、Decision、Fork、Join、MapReduce、Pig、FS、SubWorkflow、Java |
HUE | Latest | Fork、Join、OK、Error、Sqoop、Hive、Hive2、Shell |
Azure Data Factory(ADF) | 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 |
Latest指2025年05月时的最新版本。
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 | 新版 | 被周期工作流包含的所有节点 |