理论与实践:如何从Hadoop迁移到MaxCompute

直播视频回看,传送门!
分享资料下载,传送门!
更多精彩内容传送门:大数据计算技术共享计划 — MaxCompute技术公开课第二季 

 

以下内容根据演讲视频以及PPT整理而成。


通常而言,将Hadoop迁移到MaxCompute会分为两个主要部分:数据迁移和任务迁移。首先,对于数据迁移而言,可以通过Datax、数据集成以及DataxOnHadoop这几种工具实现。Datax是阿里云开源的一款数据传输工具;而数据集成的底层就是由Datax实现的。如果在数据迁移的过程中要使用Datax,那么需要用户来自定义调度,这对于gateway资源具有一定的要求。Datax在做数据传输的时候需要有一个管道机,通常就称之为gateway,数据的传输都是通过这个gateway来实现的,因此在使用Datax的时候对于gateway的资源是具有一定的要求的。此外,数据集成是在DataWorks里面集成化的数据传输工具。如果想要应用数据集成,那么其调度就是在DataWorks里面完成的,设置完数据周期等一些属性,DataWorks就可以自动实现任务的调度。如果使用数据集成,在网络允许的情况下,可以使用DataWorks的gateway公共网络资源,如果网络不允许则可以使用自定义的调度资源。

159af4c04dae1754086f3fc9c1bc1ac4aeeea941

除了上述两种方式之外,还有DataxOnHadoop。DataxOnHadoop运行在客户端,用户自己进行调度,与前面的两种方式最大的不同,就是DataxOnHadoop使用的是Hadoop集群的资源,这就相当于提交MapReduce任务,通过MapReduce任务进行数据传输,因此对于网络的要求比较高。因为需要提交MapReduce任务,这就要求Hadoop集群的每个Worker或者DataNode Manager节点和MaxCompute的Tunnel网络打通,这也是这种方案的应用难点。

除此之外,还有一些因素会影响我们在进行数据迁移时做出方案的选择,分别是网络、数据量和迁移周期。对于网络而言,通常分为这样的几种类型,混合云VPC,也就是客户本地机房与阿里云打通在一个VPC里面,还有客户本地机房,一般而言客户的本地机房会有一部分主机具有公网IP,这时候在进行数据迁移的时候就倾向于使用Datax,这是因为客户的集群没有办法直接与MaxCompute打通,还可能使用数据集成,通过使用自定义调度资源来完成这个事情。此外,还有一种情况就是客户集群位于阿里云上,对于经典网络集群,可以通过数据集成直接将数据迁移过来;而对于VPC网络而言,数据集成可能无法直接深入VPC内部,这时候也需要自定义调度资源。当然对于VPC集群而言,也可以DataxOnHadoop,每个节点正常情况下会与MaxCompute的Tunnel可以打通。对于混合云VPC而言,其选项会比多,数据集成以及DataxOnHadoop都可以使用。而对于数据量而言,可以和迁移周期综合起来考虑,线下机房需要迁移的数据有多大以及要求的工期有多长也会影响我们选择的数据迁移方式,并且对于需要准备的网络带宽等资源也是有影响的。

Datax
从总体上而言,Datax改变了一种模式,就是数据的导入和导出,比如MySQL到Oracle或者MySQL到ODPS都是单点的,每一种导入和导出都会有单独的工具作为支持。而Datax就实现了各种插件,无论是各个数据库之间如何导入导出,都是通过Datax的gateway实现中转的,首先到Datax,然后再到ODPS,这样就从原来的网状模式变成了星型模式。

f6b4a25cc2feb169acd8516b1ad387a0b5de010e

下图较好地解释了Datax的应用,可以看到前面有一个ReadPlugin,无论是从哪个源端到哪个目标端,都是有一个Reader。对于MySQL而言就有一个MySQLReader,对于HDFS,就有一个HDFSWriter,这样结合MySQLReader和HDFSWriter就能形成MySQL到HDFS的传输。再设想一下,下面还有一个ODPSWriter,那么也就能够通过MySQLReader到ODPSWriter,形成这样的链路,从而能够形成各种组合,打通各条链路。而之前提到的Reader和Writer都是在gateway上运行的,需要从源端读取数据,向目标端写入数据,所以gateway需要占用带宽资源以及CPU内存资源,这也就是为何需要考虑gateway以及其资源的原因。

69fc034256755c9d52cfed6d3fe9264547aaf564

任务迁移
除了数据迁移之外,还需要关注任务迁移。这部分也分为两部分,一部分是任务本身的迁移,另外一部分是调度平台的迁移。对于任务本身的迁移而言,比如原来使用的Hive SQL,想要迁移到MaxCompute的SQL,这样在迁移的匹配上可能会有一些迁移的工作量。原来在Hive上定义的UDF,写的MaxCompute程序或者Spark任务这些也都需要进行迁移。除此之外,还有一类就是调度平台的迁移,原来的Hive SQL以及MaxCompute程序是通过某些调度工作进行周期性的任务运行,当迁移到MaxCompute之后,这些任务也需要进行相应的迁移。这里列举了两类,一类是迁移之后裸用MaxCompute,就相当于还作为原来的Hive来使用或者还是使用命令行或者API的方式做调用,此时原来的调度系统基本上不用变化,只需要将原来对Hive的接口改为对MaxCompute的接口就可以了。还有一类就是在迁移之后需要通过DataWorks进行调用,这个时候任务迁移的工作量就会大一些,首先需要将原来的任务迁移到DataWorks里面去,其次还要将原来的调度属性也配置到DataWorks里面去。

73f6e782649cd0f0d0331f668a29f6eabb718075

接下来具体说明任务迁移需要做哪些具体工作,首先Hive SQL到MaxCompute SQL的兼容度非常高,目前而言,Hive的数据类型基本上直接可以对接到MaxCompute中,MaxCompute对于Hive语法而言也是基本上兼容的,仅需要简单调试即可。如果UDF不涉及到磁盘读写或者网络IO,也可以直接拿到ODPS来使用的,原来的Jar包不需要修改。MapReduce的改造量相对大一些,这是因为MaxCompute沙箱限制比较严重,那么一些文件读写以及网络IO操作是被禁止掉的。而对于MaxCompute而言,输出输出都是表,而MapReduce主要针对的是HDFS的文件系统,因此需要做映射,对此MaxCompute也提供了相应的工具,只不过相对于UDF而言会略微麻烦一点。除此之外,还有Spark任务,这在原来的HDFS上相对会多一些,之后会有一个SparkOnMaxCompute,可以支持用户将Spark程序无缝地迁移到MaxCompute上。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rocketmq原理_彻底看懂RocketMQ事务实现原理

面试中经常会问到比如RocketMQ的事务是如何实现的呢?学习框架,我们不仅要熟练使用,更要掌握设计及原理,才算熟悉一个框架。1 RocketMQ 事务使用案例public class CreateOrderService { Autowired private OrderDao orderDao; A…

要活 102 年,阿里凭借的是什么?

戳蓝字“CSDN云计算”关注我们哦!作者 | 屠敏责编 | 阿秃由浅到深、由轻到重、由拥抱到创新,看似“风平浪静”的历史背后,中国互联网江湖的发展实则“波涛汹涌”。对于身处核心位置的科技巨头阿里巴巴而言,将如何更好地去实现“希…

阿里云 x 蒙牛 | 打通数据孤岛,基于MaxCompute实现产销协同的智慧运营

每一个公司转型的背后 都有着不为人知的秘密 今天,让我们一起探秘 内蒙古蒙牛乳业(集团)股份有限公司是中国发展速度最快的乳品企业之一,2017年实现收入601.56亿元,位列全球乳业第10位,与2016年同比收入增…

(Docker实战) 第3篇:Centos7 拉取和部署Mysql

文章目录搭建mysql1. 创建mysql的配置文件2. 创建mysql配置/srv/mysql/conf/custom.cnf3. 下载并安装mysql 5.7(注意修改密码)搭建mysql 1. 创建mysql的配置文件 mkdir -p /srv/mysql/conf /srv/mysql/logs /srv/mysql/data2. 创建mysql配置/srv/mysql…

Hadoop迁移MaxCompute神器之DataX-On-Hadoop使用指南

DataX-On-Hadoop即使用hadoop的任务调度器,将DataX task(Reader->Channel->Writer)调度到hadoop执行集群上执行。这样用户的hadoop数据可以通过MR任务批量上传到MaxCompute、RDS等,不需要用户提前安装和部署DataX软件包,也不需要另外为…

(Docker实战) 第三篇:配置_开发环境

文章目录一、开发环境-建立开发环境1.1. 常用环境下载地址1.2. IDEA的maven配置1.3. 导入项目示例1.4. IDEA教程,如何从eclipse过渡1.5. gblfy的快捷键风格一、开发环境-建立开发环境 1.1. 常用环境下载地址 jdk8下载地址: https://www.oracle.com/te…

阿里云史上最大技术升级:面向万物智能的飞天2.0

1991年,《科学美国人》杂志描绘了一种“无处不在的计算设备,没人会感觉到它的存在”,拉开了万物智能的序幕。 27年后的2018杭州•云栖大会上,阿里云公布了面向万物智能的新一代云计算操作系统——飞天2.0,可满足百亿级…

杭州·云栖大会宣布多款核心云产品降价,最高降幅达90%

2018杭州云栖大会,阿里云宣布开启新一轮核心产品降价,再次用科技普惠广大开发者和用户,加速产业升级。本次降价涉及近20款产品,产品包括智能语音交互、图像识别、性能测试PTS、云数据库RDS等,其中事务消息降价90%&…

(Docker实战) 第四篇:建立持续集成环境01

标签: gblfy技术文档 文章目录一、 jenkins环境建立1.1. jenkins安装1.2. 安装jenkins前提:下载jdk1.3. 配置jenkins1.3.1. 配置远程发布插件Publish over SSH 选择系统设置1.3.2. 配置jdk,git,maven 选择系统管理->全局工具配…

系统无法分配所需内存_Innodb内存管理解析

本文主要介绍innodb的内存管理,涉及基础的内存分配结构、算法以及buffer pool的实现细节,提及change buffer、自适应hash index和log buffer的基本概念和内存基本配比,侧重点在内存的分配和管理方式。本文所述内容基于mysql8.0版本。基础内存…

飞天2.0面向万物智能的操作系统正式启幕

原文链接 本文为云栖社区原创内容,未经允许不得转载。

阿里数据总监分享《阿里数据中台建设实践案例》,PPT+语音讲解!

戳蓝字“CSDN云计算”关注我们哦!作者 | 技术领导力责编 | 阿秃本文整理自,阿里巴巴集团数据部商业应用总监列文,在“2019年阿里云(上海)峰会”上的分享,以PPT图片文字语音的方式呈现给各位社区读者。如果…

(Docker实战) 第五篇:建立持续集成环境02

标签: gblfy技术文档 文章目录一、 jenkins实战,持续集成实际项目1.1. 安装maven插件1.1.1. 找到Maven Integration这个插件1.1.2. 确保jenkins的maven本地仓库有一定的权限1.1.3. 创建job1.1.4. 配置参数1.1.5. 配置git仓库信息1.1.7. 配置构建信息1.1.…

阿里云OCR证件识别商业化发布,减少人工审核误差节省成本

随着互联网的发展,利用现代信息技术开展高效快捷便民服务工作,已经势在必行。证件识别算法,极大地提高了办公效率,现已在互联网金融、银行保险、电信通讯运营商、智能交通、政府、航空、社保局等行业领域被广泛运用。 近日&#…

(Docker实战) 第六篇:建立持续集成环境03

标签: gblfy技术文档 文章目录六、 git核心概念6.1. git学习地址6.2. github和码云的介绍6.3. git常用命令和操作6.3.1. 命令行常用命令6.3. IDEA操作方法(具体看视频)6.3.1. 合并分支6.3.2. compare with6.3.3. rename6.3.4. 看历史记录(所有的和单个文…

程序员:站在“自学”鄙视链顶端的王者

我在大学的时候,真的遇到一个神人,叫他小马吧。几乎没见过小马上课,第一节实验课就完成全学期所有实验,大一就自学大二课程,大四还没毕业就拿到了阿里offer,然后在我们苦兮兮找工作的时候,人家已…

用户需求源源不断,阿里云网络创新不止

2018杭州云栖大会,阿里云网络产品重点介绍了两个创新产品,智能接入网关和云企业网,以及全球领先的云网络系统-飞天洛神。智能接入网关是业内主要云服务商中第一家提供这样产品的,云企业网更是业内首创的多地域互联产品…

漫画:要跳槽?这道缓存设计题你有必要看看!

戳蓝字“CSDN云计算”关注我们哦!作者 | 程序员吴小胖责编 | 阿秃金九银十招聘季,社畜跳槽,学生出笼,也是非常热闹。不过今年继续互联网寒冬,能苟着还是苟着吧,猥琐发育别浪。苟着除了写Bug,还…

阿里云高级技术专家赵伟:安全加速 SCDN 设计与案例

此前,阿里云发布了SCDN安全加速解决方案,在CDN加速的基础上,将专业的安全能力赋能 CDN,实现既有加速又有安全的服务。在本次杭州云栖-飞天技术汇CDN与边缘计算专场中,阿里云高级技术专家赵伟从业务背景、架构设计和客户…

新品发布、降价普惠、拥抱开源、出海全球化 | 杭州云栖企业数字化转型峰会上的那些关键词

9月19日,在杭州云栖大会 - 企业数字化转型峰会现场,阿里巴巴中间件产品总监赵林分享了2018 Aliware的最新产品动态。本文将为您梳理Aliware在出海全球化、开源支持、消息队列高级特性降价、链路追踪新品发布、应用高可用新品发布、CloudToolkit 新品发布…