文档章节

【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式

_夜枫
 _夜枫
发布于 2017/03/28 21:47
字数 1624
阅读 2
收藏 0

想用阿里云大数据计算服务(MaxCompute),对于大多数人首先碰到的问题就是数据如何迁移到MaxCompute中。按照数据迁移场景,大致可以分为批量数据、实时数据、本地文件、日志文件等的迁移,下面我们针对每种场景分别介绍几种常用方案。

 

img_871b16148d6dc54b910bbdb599b79af6.52大数据计算服务(MaxCompute)

快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。

了解更多

 

1ee238b9c67b687d2cdcedfe61cd9b8c856f2b45

一、   异构数据源批量数据迁移到MaxCompute

1、通过大数据开发套件(DataIDE)- 数据开发做数据同步

                         i.   开通大数据开发套件,进入项目管理-数据源管理中将数据源配置到DataIDE中,并保证连通性。目前MaxCompute支持的数据源如下图:

e60ce9bb20d74028adfb3399665beae45f57264e

MaxCompute产品地址:https://www.aliyun.com/product/odps

 

                       ii.创建数据同步任务,配置数据映射

31a89625fb1ec6bba67a0f6b492f3599e435e7c2

 

a82a505fb42764a29bbefc5e9b782ed1dede5881

                    iii.保存后提交运行,可以通过执行日志监控执行成功与否。

feb157c187947ff37f70969a9973a4aa085b9099

适用场景:这种方式通过界面向导逐步配置,操作简单容易上手,对于大数据开发套件(DataIDE)已经支持的数据源之间同步数据非常方便,但是要确保数据源连通性,同时对数据同步的速度也有限制,最高10M/s。

 

2、通过DataX实现数据同步

DataX 是阿里巴巴集团内被广泛使用的异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。DataX目前支持数据如下:

8d55ef023432ae6409d7e7f03bea026ca7006de3

使用示例(从MySQL读取数据 写入ODPS):

                         i.直接下载DataX工具包,下载后解压至本地某个目录,修改权限为755。下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

                      ii.创建作业配置文件

python datax.py -r mysqlreader -w odpswriter

                    iii.根据配置文件模板填写相关选项(源和目标数据库的用户名、密码、URL、表名、列名等),如下图:

f5cd77348ef79a2a2bf7f8fcc4a4d15dacbff69d

                     iv.              启动DataX同步任务

python datax.py ./mysql2odps.json

适用场景:DataX通过plugin的方式实现对异构数据源的支持,支持的数据源种类更丰富,对于暂不支持的数据源用户也可以自己扩展plugin实现。另外这种方式通过配置文件做源和目标的映射非常灵活,同时也很容易跟其他的任务做集成。

 

3、通过Sqoop实现数据同步

请参考https://github.com/aliyun/aliyun-odps-sqoop

 

 

二、本地文件上传到MaxCompute

1、通过大数据开发套件(DataIDE)导入本地文件

                         i.登陆“大数据开发套件-数据开发”,点击“导入-导入本地数据”

773a409c6409be198c32de197d31669da7479a72

                       ii.               配置分隔符、数据文件字符编码等

55cbfa6cb147d96fb3ccbac4e8379aa16d5bfbc0

                    iii.选择目标表后即可导入

fff616442e12063da05d609c42e23be9c5004587

适用场景:这种方式适用于一些简单场景验证,通过向导方式上传本地文件简单易用,但是对于文件大小限制不能超过10M。

 

2、通过MaxCompute客户端上传数据

                         i.下载MaxCompute客户端

下载路径:http://repo.aliyun.com/download/odpscmd/0.24.1/odpscmd_public.zip

                       ii.解压并配置客户端

解压后进入到conf目录,用编辑器打开odps_config.ini,配置相应的access_id、access_key、project_name等。

70f560881aec3ab4e522ccf830043ed66ae32332

                    iii.运行MaxCompute客户端

odpscmd –config=../conf/odps_config.ini

cd057f8221610d811aca436654e078d42e2f0199

                     iv.通过tunnel 可以上传下载数据,详情可以通过tunnel help查看帮助

 

                       v.通过tunnel upload上传本地文件到MaxCompute,详情可以通过tunnel help upload查看帮助

7986a2ade4c0443ee2e475196bd7f1fa5218e414

命令示例:

tunnel upload ./data.txt test_tunnel -fd "," -rd "\n";

解读:

data.txt – 数据文件,导入时注意指定路径

test_tunnel – MaxCompute中数据表

-fd "," – 指定逗号为数据列分隔符

-rd "\n" – 指定换行符为数据行分隔符

 

命令行使用请参考

https://help.aliyun.com/document_detail/27833.html

另外有个性化需求的也可以通过Tunnel SDK的方式做数据同步,详见:https://help.aliyun.com/document_detail/27837.html

 

适用场景:通过Tunnel上传数据适合数据文件大小适中的场景(比如单表上百GB可能会由于数据本身或者网络不稳定导致数据导入失败),并且可以指定线程数等来提升效率,充分发挥硬件性能。

 

三、   实时数据归档到MaxCompute

1.通过DataHub将流式数据归档到MaxCompute

用户通过创建DataHub Connector,指定相关配置,即可创建将Datahub中流式数据定期归档的同步任务。请参考https://datahub.console.aliyun.com/intro/advancedguide/connector.html

 

2.通过DTS将数据实时同步到MaxCompute

目前实时同步只能支持RDS MySQL实例,暂不支持其他数据源类型。请参考https://help.aliyun.com/document_detail/26614.html

 

3.通过OGG将数据实时同步到MaxCompute

这种方式要通过OGG将实时数据先同步到DataHub,再在DataHub中通过创建DataHub Connector将数据实时归档到MaxCompute。请参考https://datahub.console.aliyun.com/intro/guide/plugins/ogg.html

 

四、日志数据同步到MaxCompute

目前日志类型的数据实时同步到MaxCompute的需求也非常强。市面上也有很多成熟的日志收集工具,比如Fluentd、Logstash。日志数据实时同步到MaxCompute的方案也是要借助于这些成熟的日志收集工具,将日志数据同步到DataHub中后,再通过DataHub将数据归档到MaxCompute,数据链路:

9f9e6a2aa543ab30be325692a0f05a2eb26e881f

1.通过Logstash采集日志数据到MaxCompute

请参考https://datahub.console.aliyun.com/intro/guide/plugins/logstash.html

 

2.通过Fluentd采集日志数据到MaxCompute

请参考https://datahub.console.aliyun.com/intro/guide/plugins/fluentd.html

 

 

相关数据分析文章:

云数据,大计算—海量日志数据分析与应用

【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据

本文转载自:https://yq.aliyun.com/articles/65376

_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
私信 提问
阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林
2017/05/05
0
0
手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎

摘要: 最近,经常有客户咨询如何低成本搭建高性能的海量数据搜索引擎,比如实现公众号检索、影讯检索等等。由于客户的数据在阿里云上,所以希望找到云上解决方案。笔者开始调研一些云上产品...

阿里云云栖社区
2018/04/13
21
0
阿里云全球首批 MVP 杨绣专访 - 技术要坚持刨根问底

自我介绍 我现在在人人车负责数据架构方面的工作,搭建数据采集、抓取、存储、计算、BI可视化等系统。 之前在百度网页搜索部,是一名架构工程师(主要在抓取业务),技术方向是高并发分布式服务...

花肉酱
2017/06/26
0
0
【大数据】odps数据迁移方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/binggetong/article/details/82762289 1、按迁移工具分类 一共分为2种:Tunnel批量数据通道、DataHub实时通道...

Elsa晓冰
2018/09/18
0
0
大数据计算成都峰会—开启西南大数据新洞察

阿里巴巴大数据计算服务MaxCompute走进西南,邀您共赴成都大数据计算峰会。 现在报名>>> 为进一步满足西南地区的计算需求,阿里云大数据计算服务MaxCompute即将在成都正式开服。云贵川及周边...

晋恒
2018/08/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Taro 兼容 h5 踩坑指南

最近一周在改造 公羊阅读🐏 Taro 版本适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 client_mobile_taro...

dkvirus
今天
4
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
今天
3
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
今天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
今天
19
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部