开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:10.DataWorks 迁移助手介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1236
10.DataWorks 迁移助手介绍及实践(二)
三、实操演示
1、打开 DataWorks 操作界面,可以看到 DataWorks 数据开发的界面,当前的工作空间下面没有任何的对象,没有任何的作业,包括周期作业手动作业都没有,在左侧边找到迁移助手模块,点击进入迁移助手。
2、可以看到它主要分成两块,第一部分就是任务上云,第二部分是 DataWorks 牵引,点击任务上云中的开源引擎导出,可以看到迁移助手中会提供开源引擎导出的方案选择,可以根据的调度作业所在的引擎类型查看它的导出方案,有 oozie 的导出方案,有 azkaban 的导出方案,如果 oozie 和 azkaban 都不是你的调度系统,那么可以尝试使用标准模板,可以先下载的标准格式模板,根据其中的格式要求填补内容。
3、点击开源引擎导入,创建开源引擎的导入任务,新建 oozie 的导入作业,开始选择。文件上传后,点击校验,校验成功后,点击确认。
4、这里就是导入任务的编辑页,现在处在于周期任务的筛选项,可以看到周期任务下面没有任何作用,但是手动任务下面可以看到展开手动作业,手动任务下面的作业,点击右侧的高级设置。如果工作空间同时绑 otps 引擎和 emr 的引擎,可以选择 hive 类型的节点。由于只选择 odps 没有选择 emr,所以不需要修改它的关系,保存确认。
5、点击开始导入,导入的过程会很漫长,因为需要做预处理,再对不同的作业进行导入操作,可以看到导入进度,能够清晰的告诉你当前导入的情况是什么样。数据源导入成功,资源导入成功,周期任务导入成功。
6、将 dataworks 上的开发成果进行备份恢复。可以看到它会分成两部分,一部分是 datawork 导出,一部分是 dataworks 导入。
7、再次查看导入进度。
8、返回导入任务列表,点击查看导入报告,在导入报告里会告诉本次导入哪些作业,导入哪些对象,导入结果是什么样?可以很直观的看到导入结果是什么,导入的周期任务是多少,手动任务是多少,资源是多少,数据源是多少,导入成功多少,点击导入成功,查看有32个作业,包括导入设置,导入的关系是什么,都能看到。
9、点击查看导入任务,在数据开发中查看本次导入的作业有哪些,它是否都已经导入成功。找到手动的业务流程,找到手动任务,双击打开手动业务流程,可以看到,导入进来的调度作业,它已经生成好依赖关系。开源调度引擎的任务作业成功。
10、做 dataworks 的迁移,因为可以看到导入的作业不多,新建导入任务。可以看到这里导入支持两种,一种是本地文件上传,一种是oss文件,选择本地文件,写导入任务的名字,点击上传文件,选择导入包,进行文件上传,上传完成后会进行自动的校验,校验通过后才可以点击确认开始。
11、换到 dataworks 的迁移后,要做的映射关系就更多了。比如可以做工作空间的引擎实例的映射,源空间是 GW workshop demo,目标空间是yunxi demo 0928,还有资源组的映射关系,就是源工作空间是什么?有没有用自定义资源组,目标端的工作空间,自定义资源组的类型,或者它的资源组是哪些?是否需要修改?重要的是它的依赖关系的因素,调度作业之所以厉害,是因为能够配置各种各样复杂的依赖关系,那如果在源端的节点的输出名称,或者在代码里访问的数据表,都已经制定上工作空间。这时如果还沿用老的工作空间,那么在新的工作空间里,或者在目标端的这些作业可能就会运行失败,所以需要进行替换。目前迁移助手能够修改的范围是在任务代码里用的工作空间的名称,会替换掉,在输入输出名称里用工作空间的名称,也会替换掉,这样能够基本上能够将大部分使用的工作空间名称的地方都能够统一进行替换。下面是空跑属性的设置,就是在导入后,可以选择部分作业就进行空跑,最后有一个很非常核心的能力,就是提交规则,作业到底要不要提交,作业导入后,责任人应该是谁?如果选择统一修改,它会让选择工作空间内的成员,如果选择不修改,它默认会找的任务的功能,在目标的空间或者在新的工作空间里是否存在,如果不存在,它还是会修改为它的作业导入人。
12、这些都设置完,点击开始导入,导入时会进行确认,导入操作会使工作空间产生不可逆的修改,请确认是否开始导入,点击确认。
13、进入到进度条,开始查看整体的导入进度,开始导出,已经通过开源引擎导入的方式,任务上云的方式已经导入一批作业,这时可以尝试。新建导入的过程中,它会有三个选项,导出类型会有三种方式,一种是全量导出,一种是增量导出,还有一种自选导出,全量导出最省事,整个工作会所有的东西全部导出来,同时可以对名单的任务做评价黑名单的操作,导出时能够支持格式,比如公共云的格式,专有云格式,还有标准格式,选择自选导出,新建名字,版本选择公共云版本即可。
14、开始选择导出内容。可以看到这是是周期任务,它的导出环境是生产,查看开发环境有没有周期任务。可以看到刚刚导入作业已经完成。
15、查看手动作业,开发环境,选择导出的对象,或者直接选择这些任务导出,切换成开发,全选,把结果添加至导出包,这时可以查看导出包中的对象有哪些。
16、点击开始导出,进入到导出进度的页面。返回导出任务列表,查查看导入的作业的情况,点击查看导入报告,导入6个周期任务,2个数据源,没有手动任务,5个表元ddl的语句,还有1个资源,1个函数,还可以看到导入设置的一些关系,比较全面。
17、查看导入任务,查看它是否真的导入进去,手动业务流程,点击数据开发,进入到数据开发里, 6个作业任务,因为导入时没有提交作业,作业如果要在生产上运行,还需要有提交的操作,可以点击业务流程的批量提交,提交作业,开始提交。提交成功后,可以在运维中心里查看到这些作业,也就是它们正式进入到生产环节,提交成功。
18、进行发布。6个节点是刚刚提交上来的,一个资源,一个函数也是通过迁移助手导入提交上来的,点击添加到待发布,或者直接发布选择项,点击发布。
19、查看发布包列表,这是点击的发布的内容。
20、在运维中心查看发布上来的作业,周期任务里能够看到发布上来的6个作业,到这步,导入工作就完成了,再查看导出,导出是否导出成功?点击查看导出报告,有没有节点导出失败。这6个周期任务都已经导出成功。