天天看点

大数据上云那些事儿:(一)上云工具的选择离线工具适用场景说明:实时采集工具适用场景说明:整理各个工具的官网及使用说明供大家参考:

阿里云•数加上如果要实现大数据上云,可选的工具有以下几种(如下图所示),主要分为批量加载工具和实时采集工具两大类。工具这么多,那么我应该选择哪一个呢?

大数据上云那些事儿:(一)上云工具的选择离线工具适用场景说明:实时采集工具适用场景说明:整理各个工具的官网及使用说明供大家参考:

首先第一就是确定您的业务场景对实时性的要求。

a) 如果是实时性要求不高,则采用批量加载类工具,定时完成批量数据加载即可。比如离线数仓,离线bi数据分析等场景。

b) 如果对实时性要求很高,数据一产生就需要即时看到分析结果,则采用实时采集类工具。如实时监控,实时分析,实时大屏等场景。

不过也有例外,在某些离线场景下有时候也会采用实时采集工具来完成数据上云。比如每天都有海量数据(可能tb级别甚至更多)需要同步,批量定时同步的话同步时间过长,无法满足业务要求,此时可以考虑采用实时采集工具来完成数据上云,以满足对同步时间的要求。

数据集成(di)是数加提供的官方同步工具,分为界面向导模式和脚本模式两种开发模式。如果您是离线数据加工场景,那么优先推荐选择它。它可以完成阿里云云上数据到maxcompute的大部分离线场景。比如常见的:

a) 从rds/drds同步到maxcompute

b) 从ecs(自建mysql/oracle等)同步到maxcompute

c) 从ecs(文件)同步到maxcompute

d) 从oss/ots等阿里云产品同步到maxcomdpute

e) 数据在idc机房,并且企业已经搭建阿里云物理专线连接,此时可以通过数据集成(di)自定义调度资源的方式完成数据上云。

datax(开源)阿里开源的离线数据同步工具,可以理解它是数据集成(di)的单机版实现,它与数据集成(di)所支持的数据源是基本相同的。但有些时候因为网络、安全或者自定义需求等情况,无法用数据集成(di)来完成企业的需求,此时可以考虑使用datax来完成。比如:

a) 数据在本地idc机房,idc的机器无法添加为数据集成(di)的执行agent

b) 企业期望对同步任务资源占用有完全的控制权(包括但不限于内存占用量、完全掌控同步流控等);

c) 企业具有一定的系统运维能力,期待脚本化、定制化的数据上云策略。比如本地环境已有任务调度系统,期待使用此调度系统触发执行同步作业;

d) 数据上云是临时性的、一次性的操作;

di on hadoop适用于企业已有hadoop集群,且对数据同步性能有很高的要求,此时用di on hadoop工具来完成数据上云。它可以充分的利用现有hadoop 集群的能力,来快速完成从hadoop 到 maxcompute的数据迁移或上云。但它对网络情况也有一定要求,它要求hadoop集群的机器必须可以通过公网或者专线的方式,能过连通maxcompute。

maxcompute客户端中有tunnel 命令,它适用于原始数据存在在文件,临时或一次性上传一些数据到maxcompute。

tunnel sdk :在上述工具均无法满足需求时,可以通过自己调用tunnel sdk实现更加灵活自由的数据上传需求。比如:

a) 数据下载过程中,需要根据数据内容不同,分发到不同的数据库或分库分表。

logstash / flume / flunted 为3个开源的数据采集工具,阿里云分别为其提供了写入datahub的插件,可以实现数据采集后输出到datahub。适用于大部分文件类数据采集类需求,如行为日志,系统日志等。选择这3个,主要取决于用户自己的技术倾向。

logstash 为jruby开发,flume为java开发,flunted为ruby开发。三者性能上来看flunted略差,logstash和flume应该说不分仲伯吧,暂无明确数据对比。

log service(日志服务)是阿里云提供的针对日志类数据的一站式服务,它可以完成采集日志信息,并将其投递给各种下游产品,其中就包括stream compute 和 maxcompute。它与logstash / flume / flunted 所完成的场景类似,选择哪个主要取决于客户的使用习惯或技术倾向,暂无比较明显的区别。

dts(数据传输服务)是阿里云提供的云上数据的实时传输服务,适用于采集rds(mysql)的实时更新数据,并将其传输给datahub或maxcompute。如果你有云上rds(mysql)数据需要上传到大数据平台,那么可以选择它。不过它采集的是binlog信息,到maxcompute后还需对数据做合并和预处理。

ogg(oracle goldengate)主要适用于源库为oracle,可以通过其采集实时更新数据到datahub中。一般在公共云上比较少见,但在专有云即线下机房比较常见。

di on hadoop 暂无,目前还未完全开放。

继续阅读