开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:10.DataWorks 迁移助手介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1236
10.DataWorks 迁移助手介绍及实践(一)
内容介绍:
一、产品介绍
二、使用场景
三、实操演示
一、产品介绍
迁移助手是 DataWorks 的全新模块,迁移助手两大核心能力:任务上云、DataWorks 迁移。开源调度引擎任务上云主要是帮助导出开源调度引擎中的任务。DataWorks 是自选操作对象的自选导出对象的操作。业下面给介绍这两大核心的能力。
1、任务上云
任务上云将本地自建的开源调度引擎中的作业快速上云,主要支持的上云是 oozie,azkaban,开源调度引擎任务(Sqoop、 Shell、 Hive)。
并且能够做到将这些节点转化成 DataWorks 上 maxcompute 的任务,或者是 emr任务。比如有一个hive作业,它导入到 DataWorks 上时,可以选择将 hive 作业转化为odps sql作业,或者是转化为emr的hive左右。这样能够根据在 DataWorks 上的计算引擎的选型,快速的匹配作业类型。
2、DataWorks 迁移
用于跨租户、跨 Region、跨云、跨版本迁移 DataWorks 上的开发成果。
(1)支持的对象类型
- 周期任务
- 手动任务
- 资源文件
- UDF函数
- SQL组件
- 临时查询
- 数据源
- 表元数据(DDL)
当这8个对象全部导出时,作业就能够在新的环境里快速的运行起来,因为它依赖的这些组件基本上都存在。
(2)导出方式
- 全量导出
- 增量导出
- 自选导出
会遇到很多需要做自选备份时,通过备份回复的能力无法满足的需求,像迁移助手能感受到在整个迁移或者备份恢复过程中的诉求,所以对牵引操作做全新的产品设计诞生出的模块。
(3)高级功能
- 支持设置导出黑名单
- 支持资源组映射
- 支持依赖关系映射
- 支持工作空间映射
- 支持生成迁移报告
比如要能够支持用户设置导出的黑名单,保护敏感的任务,支持用户设置资源组利害关系和工作空间的映射减少导入到新工作空间后的作业修改,并且会支持产出一份详细的迁移报告,快速的了解整个迁移过程中发生什么,有哪些任务导出成功,有哪些任务导出失败,失败的原因是什么?
(4)可迁移的版本
- 公共云
- 专有云V3.12以上
- 专有云V3.6.1- V3.11
迁移的过程中还会兼容历史的版本,历史版本主要是在专用云上,公共云上大部分都会使用的公共云的最新的版本,所以它不涉及。
*自选导出:允许用户指定具体导出对象,而非将整个工作空间导出
二、使用场景
1、任务上云
Oozie&Azkaban 调度任务快速上云。
Oozie 任务上云,支持 Sqoop、Shell、 Hive 等任务快速导入至 DataWorks中,可转换为MaxCompute & EMR类型节点。
Azkaban 任务上云,支持 Sqoop、Shell、 Hive 等任务快速导入至 DataWorks中,可转换为 MaxCompute & EMR 类型节点。
2、跨 Region 迁移
跨 Region 迁移, DataWorks 开发成果跨 Region 迁移。
能够将上海 region 的开发成果迁移到其他的 region。收到过很多用户的需求,最开始用 dataworks 时,他只有上海 region 没有别的 region,但是的服务器有在北京 region,有在杭州 region,现在想要把大数据平台也迁移到和服务器相同的region 上,应该怎么办?情景,想要把 dataworks 整体都从这个 region 进搬到另一个 region,这个场景下用迁移助手也不能完全满足需求,因为整体的迁移涉及到的风险和细节点都非常的多,比如像 region 的数据要不要迁移,整个 region 这些任务怎么迁,整个 region 上已经运行的任务实例怎么迁,还有已经配置,像数据源已经添加白名单,像已经添加的成员和权限的管控,怎么迁过?整个跨 region 的前一涉及到的细节点非常多,如果一定要做跨越 region 的整体的搬迁,可以在搬迁前,通过工单或者其他的方式与我们联系,评估整体搬迁的风险。如果只是想要把部分的业务迁移到其他的 region,不涉及到太多复杂的对象,或者不涉及到整体的搬迁,那么可以尽情的使用迁移助手做出尝试。
3、测试环境快速搭建
4、跨云发布
受监管要求,金融行业必须采用开发、生产物理隔离的架构;两套环境,一套开发、一套生产。日常数据开发在开发环境进行,所有任务均通过迁移助手"发布”至生产环境。
主要难题:
跨云发布可以理解成是金融行业的通用需求,是因为银行合作金融行业受监管的要求,它的开发和生产环境必须要隔离,因为做开发生产必须要做物理隔离,最终会有两套环境,一套开发环境,一套生产环境,日常的这些数据开发都会在开发环境进行,开发环境往生产环境发布过程就需要使用迁移助手完成。为什么开发到生产的发布一定要使用迁移助手完成?这里有三个问题,
物理隔离,系统间无法通信
任务发布时间窗口小,无法手动创建任务
需对发布包进行版本管理,所以也无法通过手动的方式进行创建任务,手动迁移等等。
(2)解决方案:
开发人员通过迁移助手导出待发布任务,导入生产环境。
迁移完成后查看迁移报告,进行版本管理
5、灾备
6、开发成果快速复制
支持 DataWorks 的生态合作伙伴只需要开发一次代码,就可以快速将开发成果复制给客户。
主要难题:
(1)客户 DataWorks 版本不一致。,数据版本之间会有兼容性的问题,所以需要有一套工具解决数据兼容性问题,让任务代码能够快速的在不同的版本在不同的环境中快速进行复制。
(2)研发中心并行开发多套代码,需支持灵活的选择迁移对象。作为专业的数据开发的厂商,可能同时会面临非常多的客户,这时研发中心会同时的开发多套人物代码,灵活的给客户做交付,必须要能够灵活的选择需要迁移的任务对象。所以对迁移助手还会有要求,或者对迁移工具有要求,就是能够支持灵活的选择要迁移的对象。