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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDSClaw,2核4GB
简介: 阿里云•数加上如果要实现大数据上云,可选的工具有以下几种(如下图所示),主要分为批量加载工具和实时采集工具两大类。工具这么多,那么我应该选择哪一个呢? 首先第一就是确定您的业务场景对实时性的要求。 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支持的数据源请参考:

  2. DataX(开源)阿里开源的离线数据同步工具,可以理解它是数据集成(DI)的单机版实现,它与数据集成(DI)所支持的数据源是基本相同的。但有些时候因为网络、安全或者自定义需求等情况,无法用数据集成(DI)来完成企业的需求,此时可以考虑使用DataX来完成。比如:
    a) 数据在本地IDC机房,IDC的机器无法添加为数据集成(DI)的执行Agent
    b) 企业期望对同步任务资源占用有完全的控制权(包括但不限于内存占用量、完全掌控同步流控等);
    c) 企业具有一定的系统运维能力,期待脚本化、定制化的数据上云策略。比如本地环境已有任务调度系统,期待使用此调度系统触发执行同步作业;
    d) 数据上云是临时性的、一次性的操作;

  3. DI On Hadoop适用于企业已有Hadoop集群,且对数据同步性能有很高的要求,此时用DI On Hadoop工具来完成数据上云。它可以充分的利用现有Hadoop 集群的能力,来快速完成从Hadoop 到 MaxCompute的数据迁移或上云。但它对网络情况也有一定要求,它要求Hadoop集群的机器必须可以通过公网或者专线的方式,能过连通MaxCompute。
  4. MaxCompute客户端中有Tunnel 命令,它适用于原始数据存在在文件,临时或一次性上传一些数据到MaxCompute。
  5. 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

  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

  3. DI On Hadoop 暂无,目前还未完全开放。
  4. MaxCompute 客户端 安装:https://help.aliyun.com/document_detail/27971.html
    Tunnel命令说明:https://help.aliyun.com/document_detail/27833.html
  5. Tunnel SDK 使用说明:https://help.aliyun.com/document_detail/27837.html
    Tunnel SDK 上传下载示例:https://help.aliyun.com/document_detail/27842.html
  6. Logstash 官网帮助文档:https://www.elastic.co/guide/en/logstash/2.3/index.html

  7. Flume 插件开源网站:https://github.com/aliyun/aliyun-maxcompute-data-collectors/tree/master/flume-plugin

  8. Flunted 官方文档http://docs.fluentd.org/v0.12/articles/quickstart

  9. 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

  10. 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
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
9月前
|
SQL 人工智能 分布式计算
拥抱数据洪流:ODPS,从工具到智能基石的认知跃迁
ODPS正从计算工具进化为智能基石,重塑数据价值链条。它不仅是效率引擎,更是决策资产、信任桥梁与预见系统。其创新架构支持存算分离、AI融合计算与隐私保护,助力企业迎接AI革命。未来,ODPS将推动绿色智能,成为组织数字化转型的核心支撑平台。
263 3
|
存储 分布式计算 数据可视化
大数据常用技术与工具
【10月更文挑战第16天】
878 4
|
分布式计算 大数据 数据处理
从Excel到大数据:别让工具限制你的思维!
从Excel到大数据:别让工具限制你的思维!
564 85
|
11月前
|
人工智能 算法 自动驾驶
AI和大数据:是工具,还是操控人心的“隐形之手”?
AI和大数据:是工具,还是操控人心的“隐形之手”?
243 1
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
491 0
|
分布式计算 大数据 流计算
玩转数据:初学者的大数据处理工具指南
玩转数据:初学者的大数据处理工具指南
423 14
|
JSON 分布式计算 DataX
【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute
本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
358 4
|
存储 分布式计算 Hadoop
Spark和Hadoop都是大数据处理领域的重要工具
【6月更文挑战第17天】Spark和Hadoop都是大数据处理领域的重要工具
472 59
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。