DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

作者:DataWorks产品经理 彭敏


一、迁移助手产品能力

迁移助手是DataWorks上开发成果快速复制的利器,通过迁移助手可以将DataWorks上的开发成果在不同的环境快速复制。迁移助手是DataWorks的一个全新模块,它的核心能力主要分为两部分,一是任务上云,二是DataWorks迁移。

DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

上图中,左侧界面是任务上云>开源调度引擎导出方案的选择界面,它会帮助用户导出开源调度引擎上的调度任务。右侧是DataWorks的迁移页面,这是自选导出对象的操作页。下面介绍迁移助手两大核心能力。


任务上云,是指将自建的开源调度引擎上面的作业快速搬站上云,主要支持的调度引擎为Oozie、Azkaban、Airflow等。目前能够迁移的节点类型主要是Sqoop节点、Shell节点和Hive节点,可以将这些节点转化成为DataWorks上的MaxCompute任务,或者是EMR任务。比如一个Hive作业,导入到DataWorks上的时候,其实可以选择将这个Hive作业转化为MaxCompute SQL作业,或者是转化为EMR的Hive作业。

DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

DataWorks迁移主要是将DataWorks上的开发成果进行迁移,主要用于跨租户、跨region、跨云、跨版本等多种复杂场景下的迁移。支持迁移的对象主要有周期任务、手动任务、资源、函数、SQL组件、临时查询、数据源、和表元数据(DDL)。

DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

迁移助手支持多种导出方式,早期DataWorks有一个备份恢复功能,能够支持周期任务、手动任务进行全量备份和增量备份,但很多时候大家需要自定义备份内容,这时备份恢复能力就无法满足需求,且备份恢复能支持的对象较少,无法有效的支持迁移需求。故DataWorks对迁移这个需求做了全新的产品设计,从而诞生出迁移助手模块。


在迁移的过程中还支持一些高级设置,比如支持用户设置一些导出的黑名单,用来保护那些敏感的任务;支持用户去设置资源组、作业依赖关系的映射,来减少导入到新工作空间后的作业修改。且DataWorks迁移助手支持详细的迁移报告,让用户快速了解整个迁移过程中发生了什么,有哪些任务导出成功,哪些任务导出失败,失败的原因是什么。最后,迁移的过程中会兼容DataWorks私有化部署的历史版本,支持将公共云开发的作业迁移至私有化部署的DataWorks中。


二、迁移助手使用场景

迁移助手主要使用场景有六个:任务上云、跨Region迁移、测试环境快速搭建、跨云发布、灾备和开发成果快速复制。以下是几个核心场景介绍。


(一)任务上云

如上文所说,能够将Oozie, Azkaban等开源调度引擎上面的作业转换成为MaxCompute或EMR作业。


(二)跨Region迁移

跨Region迁移,比如能够将上海Region的开发成果迁移到其他的Region。曾有用户提出过这样的需求:最开始用DataWorks的时候只有上海Region,其他Region尚未部署,但是服务器又在北京Region,如果想要把大数据平台也迁移到北京Region上,应该怎么办呢?

DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

把DataWorks整体从一个Region搬到另一个Region,这个场景其实用迁移助手也不能完全满足用户的需求,因为整体的迁移涉及到的风险和细节点都非常多,比如:数据如何迁移,任务如何迁移,作业运行环境如何迁移、成员和权限如何迁移等。


由此可见,整个跨Region的搬迁涉及到的细节点非常的多。如果您一定要做这种跨Region的整体搬迁的话,那么可以在搬迁前通过工单或在钉钉群与DataWorks团队联系,一起来评估整体搬迁的风险。如果您只是想要把部分的业务迁移到其它的Region,那么您可以尽情地使用迁移助手来做尝试。


(三)跨云发布

跨云发布是金融行业的一个通用需求,因为银行、保险等行业受监管要求,它的开发和生产环境必须要物理隔离,导致会有两个集群,两套环境,一套开发环境,一套生产环境。日常的数据开发都会在开发环境进行,目前任务的发布是通过迁移助手将其“发布”至生产环境。


开发到生产的发布为什么一定要由迁移助手来完成?其背后主要有三个问题:第一,开发和生产之间的物理隔离导致系统间无法进行通信。第二,因为整体的任务发布的时间窗口非常小,无法通过手动的方式创建任务。第三,由于需要对发布的对象进行版本的管理,所以也无法通过手动的方式来进行创建任务,手动迁移等。因此,目前的解决方案是开发人员通过迁移助手来导出待发布的任务,由运维的人员将导出包导入至生产环境,并且将迁移报告进行留档,用来做后续的版本管理。


(四)开发成果快速复制

迁移助手最核心的场景是能够将开发成果快速地进行复制。这个功能主要面向于DataWorks的合作伙伴,合作伙伴只需要开发一次代码,就可以快速地把这些开发成果复制出来,快速地交付给客户。


合作伙伴使用迁移助手来完成开发成果快速复制会有两点优势。第一,客户DataWorks的版本可能是不一致的,不同的版本之间会有一些数据兼容性的问题,迁移助手可以解决数据兼容性的问题,使任务代码能够快速地在不同版本、不同环境间快速复制。第二,专业的数据开发厂商,会同时面临非常多的客户,研发中心会同时开发多套任务代码,为了能灵活地给客户做交付,必须能够灵活地去选择需要迁移的任务对象,迁移助手可以满足自定义导出需求。


迁移助手介绍及实践请参考:https://developer.aliyun.com/learning/course/81/detail/1236


DataWorks官网:https://www.aliyun.com/product/bigdata/ide

大数据&AI体验馆:https://workbench.data.aliyun.com/experience.htm


上一篇:DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》


下一篇:DataWorks数据治理介绍及实践 | 《一站式大数据开发治理DataWorks使用宝典》