DataWorks目前仅支持注册E-MapReduce(简称EMR)的新版集群(即DataLake新版数据湖集群),原有涉及旧版集群的项目需通过迁移方式,移至DataWorks进行数据开发。本文为您介绍,如何通过一键迁移方式及文件导入导出方式,将EMR项目迁移至DataWorks工作空间。
前提条件
已开通DataWorks服务并创建DataWorks工作空间。详情请参见创建并管理工作空间。
如您是RAM用户,需拥有空间管理员、
AliyunDataWorksFullAccess
和AliyunEMRFullAccess
权限,才可执行迁移操作。授权详情请参见添加空间成员并管理成员角色权限、为RAM用户授权。EMR集群已注册至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用户授权。
登录DataWorks迁移助手。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
单击左上方的图标,选择 。
生成导出文件。
在迁移助手页面,单击左侧导航栏的 。
在调度引擎导出方案选择页面,单击 。
在新建导出任务对话框,配置导出信息。
导出成功后,可在调度引擎导出方案选择页面,查看导出结果。完成后单击下载导出包,将文件导出至本地。
说明下载链接有效期为30天,请及时下载文件至本地。超期后链接将失效,您需重新执行导出操作。
导入文件至DataWorks。
新建导入任务。
在迁移助手页面,单击左侧导航栏的
,单击新建导入任务。在弹出的新建导入任务对话框,配置导入信息。
参数
描述
导入名称
自定义的导入任务名称。
调度引擎
可导入的项目引擎类型,本示例选择阿里云EMR。
上传方式
上传导出包文件到DataWorks工作空间的方式。
本地上传:导出包文件小于或等于30MB时,可使用本方式。
OSS文件:导出包文件大于30MB时,请使用本方式。在OSS存储控制台文件详情页,复制URL链接,在新建导入任务输入获取到的OSS链接。
选择文件
选择待导入的EMR项目文件,上传完成后系统将自动进行校验文件是否符合要求。
说明仅当使用本地上传时需配置该参数。
OSS链接
输入需导入EMR项目的OSS链接。
说明仅当使用OSS文件方式上传时需配置该参数。
文件名
上传的文件名称,由系统根据上传的文件名称自动生成。
说明仅当使用本地上传时需配置该参数。
备注
导入任务的备注描述信息。
进入编辑导入任务页面后,您可查看即将导入的内容,完成后单击开始导入。
系统启动迁移项目。
您可进入导入任务列表查看迁移进度,详情请参见查看迁移报告与结果。
方式二:通过工具打包EMR项目,再使用DataWorks迁移助手导入至DataWorks
您可通过命令打包EMR项目,再使用DataWorks迁移助手导入该项目至DataWorks,实现项目迁移。
使用该方式前,您本地需安装Python环境。
打包EMR项目至本地。
下载项目打包工具migrationx-reader至本地,用于打包需要迁移的EMR项目。
使用命令打包待迁移的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项目所在地域。
通过迁移助手导入本地EMR项目包。
新建导入任务。
在迁移助手页面,单击左侧导航栏的
,单击新建导入任务。在弹出的新建导入任务对话框,配置导入信息。
参数
描述
导入名称
自定义的导入任务名称。
调度引擎
可导入的项目引擎类型,本示例选择阿里云EMR。
上传方式
上传导出包文件到DataWorks工作空间的方式。
本地上传:导出包文件小于或等于30MB时,可使用本方式。
OSS文件:导出包文件大于30MB时,请使用本方式。在OSS存储控制台文件详情页,复制URL链接,在新建导入任务输入获取到的OSS链接。
选择文件
选择待导入的EMR项目文件,上传完成后系统将自动进行校验文件是否符合要求。
说明仅当使用本地上传时需配置该参数。
OSS链接
输入需导入EMR项目的OSS链接。
说明仅当使用OSS文件方式上传时需配置该参数。
文件名
上传的文件名称,由系统根据上传的文件名称自动生成。
说明仅当使用本地上传时需配置该参数。
备注
导入任务的备注描述信息。
进入编辑导入任务页面后,您可查看即将导入的内容,完成后单击开始导入。
系统启动迁移项目。
您可进入导入任务列表查看迁移进度,详情请参见查看迁移报告与结果。
查看迁移报告与结果
项目迁移完成后,您可在DataWorks迁移助手中查看已执行的迁移任务进度、结果以及相关报告(导入报告、导出报告)。
导入
在调度引擎作业导入页面,单击对应任务操作列的查看导入报告。
导出
在调度引擎作业导出页面,单击EMR,在该页签下单击对应任务操作列的查看导出报告。