摘要:本次分享主要介绍 Hive数据如何迁移到MaxCompute。MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具,本文将为大家介绍MMA工具的功能、技术架构和实现原理,再通过实际操作MMA,演示将Hive数据迁移到MaxCompute。
演讲嘉宾简介:阿里云智能产品专家-云花
精彩视频回顾:
Hive数据如何同步到MaxCompute
以下内容根据演讲视频以及PPT整理而成。
本次分享主要围绕以下两个方面:
一、MMA功能介绍、技术架构和原理
二、MMA数据迁移操作演示
一、MMA功能介绍、技术架构和原理
1.MMA功能介绍
MMA主要覆盖的场景包括批处理,存储,数据集成,作业编排及调度。MMA提供迁移评估分析功能,自动化生成迁移评估报告。迁移评估报告会报告出从Hive表的数据结构到MaxCompute的数据结构之间是否有数据类型映射兼容性问题,如语法问题。MMA支持自动化数据迁移功能,支持批量建表以及数据自动化批量迁移。另外,MMA还支持作业语法分析,可以检查Hive SQL能否直接运行在MaxCompute里。MMA还支持工作流迁移,对主流数据集成工具Sqoop进行作业的迁移转换,并自动创新DataWorks数据继承作业。
2.MMA迁移服务架构
MMA迁移服务架构如下图。左侧是客户Hadoop集群,右侧的是Aliyun 大数据服务,主要是DataWorks和MaxCompute。MMA工具会跑在客户的Hadoop集群上,客户的服务器需要能够访问Hive Server。在机器上部署MMA客户端工具时会自动化获取Hive Meta里的数据,既将Hive的Meta数据从MySQL中读出来,还可以将Meta信息自动转换成MaxCompute DDL,然后用DDL在MaxCompute中批量创建表,批量拉起数据同步的作业,向Hive Server并发提交Hive SQL作业。基于Hive SQL作业调用一个UDF,UDF里面会集成Tunnel的SDK,基于Tunnel将数据批量写到MaxCompute的表中。作业和工作流的迁移也是基于MMA客户端工具自动发现的Hive Meta数据,做工作流的作业检查,包括把工作流的组件中的工作流的配置批量转换成DataWorks工作流的配置,直接生成DataWorks工作流。以上步骤完成了数据到作业到工作流的迁移。最后一步是迁移完成后需要基于MaxCompute和DataWorks架构对接业务系统。
3.MMA Agent技术构架和原理
通过客户端和服务端,MMA可支持数据和工作流的批量迁移。安装在客户服务器上的MMA客户端工具包含下图中的四个能力。首先可自动获取Hive Metadata,并自动创建生成DDL和UDTF,而且可批量创建表和批量Hive数据迁移。相应的,MMA有四个主要组件。Meta Carrier工具自动将Hive Meta信息提取出来,在本地生成Hive Meta结构。Meta Processor是基于Meta Carrier工具产出