迁移EMR项目至DataWorks

DataWorks目前仅支持注册E-MapReduce(简称EMR)的新版集群(即DataLake新版数据湖集群),原有涉及旧版集群的项目需通过迁移方式,移至DataWorks进行数据开发。本文为您介绍,如何通过一键迁移方式及文件导入导出方式,将EMR项目迁移至DataWorks工作空间。

前提条件

背景信息

DataWorks为您提供了以下两种方式,将EMR集群下的工作流(节点和调度配置)、手动任务、资源、数据源迁移至DataWorks工作空间中:

迁移后,可通过DataWorks的迁移助手,查看迁移进度、迁移结果及迁移报告,详情请参见查看迁移报告与结果

EMR项目原作业类型与迁移至DataWorks后作业类型的映射关系如下。

原作业类型

迁移后作业类型

SQOOP

DI(离线同步任务)

SPARK_SQL

EMR_SPARK_SQL

SPARK

EMR_SPARK

SHELL

EMR_SHELL

PRESTO_SQL

EMR_PRESTO

MR

EMR_MR

IMPALA_SQL

EMR_IMPALA

HIVE_SQL

EMR_HIVE

HIVE

EMR_SHELL

方式一:通过DataWorks迁移助手导出EMR项目并导入至DataWorks

您可通过DataWorks控制台,将存储在EMR集群下的工作流(节点和调度配置)、手动任务、资源、数据源,以文件的形式导出,然后再导入至DataWorks工作空间中。不同版本的DataWorks迁移助手支持的策略不同,不同账号角色操作权限也存在差异,详情请参见使用限制

说明

如您使用RAM账号进行操作,需拥有AliyunEMRFullAccess角色权限,否则在选择项目名称时将会报错。授权详情请参见为RAM用户授权

  1. 登录DataWorks迁移助手。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发

    2. 单击左上方的图标图标,选择全部产品 > 更多 > 迁移助手

  2. 生成导出文件。

    1. 迁移助手页面,单击左侧导航栏的任务上云 > 调度引擎作业导出

    2. 调度引擎导出方案选择页面,单击EMR > 新建导出任务

    3. 新建导出任务对话框,配置导出信息。

      导出作业

    4. 导出成功后,可在调度引擎导出方案选择页面,查看导出结果。完成后单击下载导出包,将文件导出至本地。

      说明

      下载链接有效期为30天,请及时下载文件至本地。超期后链接将失效,您需重新执行导出操作。

      导出方案

  3. 导入文件至DataWorks。

    1. 新建导入任务。

      迁移助手页面,单击左侧导航栏的任务上云 > 调度引擎作业导入,单击新建导入任务

    2. 在弹出的新建导入任务对话框,配置导入信息。

      导入任务

      参数

      描述

      导入名称

      自定义的导入任务名称。

      调度引擎

      可导入的项目引擎类型,本示例选择阿里云EMR

      上传方式

      上传导出包文件到DataWorks工作空间的方式。

      • 本地上传:导出包文件小于或等于30MB时,可使用本方式。

      • OSS文件:导出包文件大于30MB时,请使用本方式。在OSS存储控制台文件详情页,复制URL链接,在新建导入任务输入获取到的OSS链接。

        说明

        上传文件至OSS,请参见控制台上传文件;获取OSS下载链接,请参见使用文件URL

        下载链接

      选择文件

      选择待导入的EMR项目文件,上传完成后系统将自动进行校验文件是否符合要求。

      说明

      仅当使用本地上传时需配置该参数。

      OSS链接

      输入需导入EMR项目的OSS链接。

      说明

      仅当使用OSS文件方式上传时需配置该参数。

      文件名

      上传的文件名称,由系统根据上传的文件名称自动生成。

      说明

      仅当使用本地上传时需配置该参数。

      备注

      导入任务的备注描述信息。

    3. 进入编辑导入任务页面后,您可查看即将导入的内容,完成后单击开始导入

    4. 系统启动迁移项目。

      您可进入导入任务列表查看迁移进度,详情请参见查看迁移报告与结果

方式二:通过工具打包EMR项目,再使用DataWorks迁移助手导入至DataWorks

您可通过命令打包EMR项目,再使用DataWorks迁移助手导入该项目至DataWorks,实现项目迁移。

说明

使用该方式前,您本地需安装Python环境。

  1. 打包EMR项目至本地。

    1. 下载项目打包工具migrationx-reader至本地,用于打包需要迁移的EMR项目。

    2. 使用命令打包待迁移的EMR项目。

      解压上述工具,在本地Python环境执行如下命令。

      python ./migrationx-reader/bin/reader.py -a aliyunemr -d . -i $accessId -k $accessKey -p $project -e emr.aliyuncs.com -r $regionId

      其中:

      • $accessId $accessKey:执行打包操作用户的AccessKey信息。

      • $project:待打包的EMR项目名称。

      • $regionId:EMR项目所在地域。

  2. 通过迁移助手导入本地EMR项目包。

    1. 新建导入任务。

      迁移助手页面,单击左侧导航栏的任务上云 > 调度引擎作业导入,单击新建导入任务

    2. 在弹出的新建导入任务对话框,配置导入信息。

      导入任务

      参数

      描述

      导入名称

      自定义的导入任务名称。

      调度引擎

      可导入的项目引擎类型,本示例选择阿里云EMR

      上传方式

      上传导出包文件到DataWorks工作空间的方式。

      • 本地上传:导出包文件小于或等于30MB时,可使用本方式。

      • OSS文件:导出包文件大于30MB时,请使用本方式。在OSS存储控制台文件详情页,复制URL链接,在新建导入任务输入获取到的OSS链接。

        说明

        上传文件至OSS,请参见控制台上传文件;获取OSS下载链接,请参见使用文件URL

        下载链接

      选择文件

      选择待导入的EMR项目文件,上传完成后系统将自动进行校验文件是否符合要求。

      说明

      仅当使用本地上传时需配置该参数。

      OSS链接

      输入需导入EMR项目的OSS链接。

      说明

      仅当使用OSS文件方式上传时需配置该参数。

      文件名

      上传的文件名称,由系统根据上传的文件名称自动生成。

      说明

      仅当使用本地上传时需配置该参数。

      备注

      导入任务的备注描述信息。

    3. 进入编辑导入任务页面后,您可查看即将导入的内容,完成后单击开始导入

    4. 系统启动迁移项目。

      您可进入导入任务列表查看迁移进度,详情请参见查看迁移报告与结果

查看迁移报告与结果

项目迁移完成后,您可在DataWorks迁移助手中查看已执行的迁移任务进度、结果以及相关报告(导入报告、导出报告)。

  • 导入

    调度引擎作业导入页面,单击对应任务操作列的查看导入报告导入报告入口

  • 导出

    调度引擎作业导出页面,单击EMR,在该页签下单击对应任务操作列的查看导出报告查看报告