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

前提条件

背景信息

DataWorks为您提供了以下三种方式,将EMR集群下的工作流(节点和调度配置)、手动任务、资源、数据源迁移至DataWorks工作空间中:迁移后,可通过DataWorks的迁移助手,查看迁移进度、迁移结果及迁移报告,详情请参见查看迁移报告与结果
EMR项目原作业类型与迁移至DataWorks后作业类型的映射关系如下。
原作业类型迁移后作业类型
SQOOPDI(离线同步任务)
SPARK_SQLEMR_SPARK_SQL
SPARK_SHELLEMR_SPARK_SHELL
SPARKEMR_SPARK
SHELLEMR_SHELL
PRESTO_SQLEMR_PRESTO
MREMR_MR
IMPALA_SQLEMR_IMPALA
HIVE_SQLEMR_HIVE
HIVEEMR_SHELL

方式一:通过EMR控制台一键迁移至DataWorks

您可将存放在EMR集群中的配置信息,通过EMR控制台一键迁移操作,迁移至DataWorks工作空间中,具体操作步骤如下。

  1. 登录阿里云E-MapReduce控制台
  2. 选择集群所在地域后,单击顶部菜单栏的数据开发
  3. 创建一键迁移任务。
    1. 单击目标项目名称,进入对应项目详情页。
    2. 按下图步骤进入EMR工作流迁移DataWorks流程
      项目迁移
    3. 选择对应工作空间,单击开始一键迁移
      一键迁移
      说明 开始迁移后,系统将自动生成导出文件并导入至DataWorks工作空间。
    4. 在弹出的提示对话框中,检查迁移前EMR项目中工作流(节点和调度配置)、手动任务、资源、数据源的类型,迁移至DataWorks工作空间后的转换关系,便于后续核对迁移内容是否完整正确,完成后单击确认
  4. 系统启动迁移项目。
    您可单击去导入列表查看迁移进度,详情请参见查看迁移报告与结果

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

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

说明 如您使用RAM账号进行操作,需拥有AliyunEMRFullAccess角色权限,否则在选择项目名称时将会报错。授权详情请参见为RAM用户授权
  1. 登录DataWorks迁移助手。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的数据开发
    4. 单击左上方的图标图标,选择全部产品 > 更多 > 迁移助手
  2. 生成导出文件。
    1. 迁移助手页面,单击左侧导航栏的任务上云 > 调度引擎作业导出
    2. 调度引擎导出方案选择页面,单击EMR > 新建导出任务
    3. 新建导出任务对话框,配置导出信息。
      导出作业
    4. 导出成功后,可在调度引擎导出方案选择页面,查看导出结果。完成后单击下载导出包,将文件导出至本地。
      说明 下载链接有效期为30天,请及时下载文件至本地。超期后链接将失效,您需重新执行导出操作。
      导出方案
  3. 导入文件至DataWorks。
    1. 新建导入任务。
      迁移助手页面,单击左侧导航栏的任务上云 > 调度引擎作业导入,单击新建导入任务
    2. 在弹出的新建导入任务对话框,配置导入信息。
      导入任务
      参数描述
      导入名称自定义的导入任务名称。
      调度引擎可导入的项目引擎类型,本示例选择阿里云EMR
      上传方式上传导出包文件到DataWorks工作空间的方式。
      • 本地上传:导出包文件小于或等于30MB时,可使用本方式。
      • OSS文件:导出包文件大于30MB时,请使用本方式。在OSS存储控制台文件详情页,复制URL链接,在新建导入任务输入获取到的OSS链接。
        说明 上传文件至OSS,请参见控制台上传文件;获取OSS下载链接,请参见分享文件
        下载链接
      选择文件选择待导入的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下载链接,请参见分享文件
        下载链接
      选择文件选择待导入的EMR项目文件,上传完成后系统将自动进行校验文件是否符合要求。
      说明 仅当使用本地上传时需配置该参数。
      OSS链接输入需导入EMR项目的OSS链接。
      说明 仅当使用OSS文件方式上传时需配置该参数。
      文件名上传的文件名称,由系统根据上传的文件名称自动生成。
      说明 仅当使用本地上传时需配置该参数。
      备注导入任务的备注描述信息。
    3. 进入编辑导入任务页面后,您可查看即将导入的内容,完成后单击开始导入
    4. 系统启动迁移项目。
      您可单击去导入列表查看迁移进度,详情请参见查看迁移报告与结果

查看迁移报告与结果

项目迁移完成后,您可在DataWorks迁移助手中查看已执行的迁移任务进度、结果以及相关报告(导入报告、导出报告)。
  • 导入
    调度引擎作业导入页面,单击对应任务操作列的查看导入报告导入报告入口
  • 导出
    调度引擎作业导出页面,单击EMR,在该页签下单击对应任务操作列的查看导出报告查看报告