大数据上云那些事儿:(一)上云工具的选择

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 阿里云•数加上如果要实现大数据上云,可选的工具有以下几种(如下图所示),主要分为批量加载工具和实时采集工具两大类。工具这么多,那么我应该选择哪一个呢? 首先第一就是确定您的业务场景对实时性的要求。 a) 如果是实时性要求不高,则采用批量加载类工具,定时完成批量数据加载即可。

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

首先第一就是确定您的业务场景对实时性的要求。
a) 如果是实时性要求不高,则采用批量加载类工具,定时完成批量数据加载即可。比如离线数仓,离线BI数据分析等场景。
b) 如果对实时性要求很高,数据一产生就需要即时看到分析结果,则采用实时采集类工具。如实时监控,实时分析,实时大屏等场景。
不过也有例外,在某些离线场景下有时候也会采用实时采集工具来完成数据上云。比如每天都有海量数据(可能TB级别甚至更多)需要同步,批量定时同步的话同步时间过长,无法满足业务要求,此时可以考虑采用实时采集工具来完成数据上云,以满足对同步时间的要求。

离线工具适用场景说明:

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

b) 从ECS(自建MySQL/Oracle等)同步到MaxCompute
c) 从ECS(文件)同步到MaxCompute
d) 从OSS/OTS等阿里云产品同步到MaxComdpute
e) 数据在IDC机房,并且企业已经搭建阿里云物理专线连接,此时可以通过数据集成(DI)自定义调度资源的方式完成数据上云。
注:以上均为举例,不一定覆盖所有情况,DI支持的数据源请参考:https://help.aliyun.com/document_detail/53008.html

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

b) 企业期望对同步任务资源占用有完全的控制权(包括但不限于内存占用量、完全掌控同步流控等);
c) 企业具有一定的系统运维能力,期待脚本化、定制化的数据上云策略。比如本地环境已有任务调度系统,期待使用此调度系统触发执行同步作业;
d) 数据上云是临时性的、一次性的操作;

  1. DI On Hadoop适用于企业已有Hadoop集群,且对数据同步性能有很高的要求,此时用DI On Hadoop工具来完成数据上云。它可以充分的利用现有Hadoop 集群的能力,来快速完成从Hadoop 到 MaxCompute的数据迁移或上云。但它对网络情况也有一定要求,它要求Hadoop集群的机器必须可以通过公网或者专线的方式,能过连通MaxCompute。
  2. MaxCompute客户端中有Tunnel 命令,它适用于原始数据存在在文件,临时或一次性上传一些数据到MaxCompute。
  3. Tunnel SDK :在上述工具均无法满足需求时,可以通过自己调用Tunnel SDK实现更加灵活自由的数据上传需求。比如:
    a) 数据下载过程中,需要根据数据内容不同,分发到不同的数据库或分库分表。

实时采集工具适用场景说明:

  1. Logstash / Flume / Flunted 为3个开源的数据采集工具,阿里云分别为其提供了写入DataHub的插件,可以实现数据采集后输出到DataHub。适用于大部分文件类数据采集类需求,如行为日志,系统日志等。选择这3个,主要取决于用户自己的技术倾向。
    Logstash 为JRuby开发,Flume为Java开发,Flunted为Ruby开发。三者性能上来看Flunted略差,Logstash和Flume应该说不分仲伯吧,暂无明确数据对比。
  2. Log Service(日志服务)是阿里云提供的针对日志类数据的一站式服务,它可以完成采集日志信息,并将其投递给各种下游产品,其中就包括Stream Compute 和 MaxCompute。它与Logstash / Flume / Flunted 所完成的场景类似,选择哪个主要取决于客户的使用习惯或技术倾向,暂无比较明显的区别。
  3. DTS(数据传输服务)是阿里云提供的云上数据的实时传输服务,适用于采集RDS(MySQL)的实时更新数据,并将其传输给DataHub或MaxCompute。如果你有云上RDS(MySQL)数据需要上传到大数据平台,那么可以选择它。不过它采集的是binlog信息,到MaxCompute后还需对数据做合并和预处理。
  4. OGG(Oracle GoldenGate)主要适用于源库为Oracle,可以通过其采集实时更新数据到DataHub中。一般在公共云上比较少见,但在专有云即线下机房比较常见。

整理各个工具的官网及使用说明供大家参考:

  1. 数据集成(DI)官网:https://www.aliyun.com/product/cdp
    使用文档:https://help.aliyun.com/document_detail/47677.html
  2. DataX源码:https://github.com/alibaba/DataX
    快速开始:https://github.com/alibaba/DataX/wiki/Quick-Start

各个数据源配置:https://github.com/alibaba/DataX/wiki/DataX-all-data-channels

  1. DI On Hadoop 暂无,目前还未完全开放。
  2. MaxCompute 客户端 安装:https://help.aliyun.com/document_detail/27971.html
    Tunnel命令说明:https://help.aliyun.com/document_detail/27833.html
  3. Tunnel SDK 使用说明:https://help.aliyun.com/document_detail/27837.html
    Tunnel SDK 上传下载示例:https://help.aliyun.com/document_detail/27842.html
  4. Logstash 官网帮助文档:https://www.elastic.co/guide/en/logstash/2.3/index.html
    阿里云Logstash教程文档:https://help.aliyun.com/document_detail/47451.html
  5. Flume 插件开源网站:https://github.com/aliyun/aliyun-maxcompute-data-collectors/tree/master/flume-plugin
  6. Flunted 官方文档http://docs.fluentd.org/v0.12/articles/quickstart
    阿里云Flunted教程文档:https://help.aliyun.com/document_detail/47450.html
  7. Log Service 官网:https://www.aliyun.com/product/sls
    Log Service 数据采集:https://help.aliyun.com/document_detail/28981.html

Log Service 投递 MaxCompute:https://help.aliyun.com/document_detail/29001.html
Log Service StreamCompute实时消费:https://help.aliyun.com/document_detail/47334.html

  1. DTS 官网:https://www.aliyun.com/product/dts
    DTS 采集到MaxCompute:https://help.aliyun.com/document_detail/44547.html

DTS 采集到Datahub:https://help.aliyun.com/document_detail/45214.html

  1. OGG 阿里云使用教程:https://help.aliyun.com/document_detail/47452.html
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
SQL 分布式计算 监控
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
【2月更文挑战第4天】MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
23 8
|
9月前
|
数据采集 SQL 分布式计算
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
978 0
|
1月前
|
大数据 Java Go
Go语言在大数据处理中的核心技术与工具
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理领域的核心技术与工具。通过分析Go语言的并发编程模型、内存管理、标准库以及第三方工具库等方面,展现了其在大数据处理中的优势和实际应用。同时,本文也讨论了如何使用这些技术与工具构建高效、稳定的大数据处理系统,为开发者提供了有价值的参考。
|
4月前
|
数据可视化 BI Apache
大数据可视化BI分析工具Apache Superset实现公网远程访问
大数据可视化BI分析工具Apache Superset实现公网远程访问
|
4月前
|
Prometheus 数据可视化 Cloud Native
助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】
助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】
102 1
|
4月前
|
SQL 分布式计算 监控
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况
40 4
|
4月前
|
大数据 数据管理 分布式数据库
探索 HBase GUI 工具,助您轻松驾驭大数据世界!
从此告别繁琐,迎接大数据时代的新利器! #HBase #GUI #数据管理 #工具分享
91 2
探索 HBase GUI 工具,助您轻松驾驭大数据世界!
|
4月前
|
分布式计算 数据可视化 数据挖掘
对maxcompute的数据进行临时分析 比如数据分布什么的 用什么工具比较好?
对maxcompute的数据进行临时分析 比如数据分布什么的 用什么工具比较好?
54 3
|
5月前
|
机器学习/深度学习 算法 数据挖掘
【大数据】数据挖掘工具:发现数据中的宝藏
【大数据】数据挖掘工具:发现数据中的宝藏
66 0
|
9月前
|
存储 Kubernetes JavaScript
大数据任务调度工具 Apache DolphinScheduler
大数据任务调度工具 Apache DolphinScheduler
539 1