数据同步工具3.数据采集模块实战分享(组图)

优采云 发布时间: 2021-06-03 23:26

  数据同步工具3.数据采集模块实战分享(组图)

  数据源2.数据同步工具3.数据采集module实战分享

  数据来源

  企业生产应用的数据源很多,大致可以分为:log采集、爬虫系统、数据库等

  数据采集

  在实际生产应用中,数据采集一般分为日志采集和数据库数据同步两部分。日志采集包括浏览器页面日志采集和客户端日志采集。

  数据同步技术更笼统的含义是不同系统之间的数据流转,有很多不同的应用场景。主库与备库之间的数据备份,以及主系统与子系统之间的数据更新,属于同类型不同集群数据库之间的数据同步。此外,还有不同地域、不同数据库类型之间的数据传输和交换,例如分布式业务系统和数据仓库系统之间的数据同步。总体规划分为两种:

  技术选择

  现在业界常用的数据采集有Flume、Sqoop、LogStash、DataX、Canal、WaterDrop等,这些工具的使用比较简单,学习成本低。根据应用范围和各工具的优缺点。结合自己的业务和使用场景来选择使用。

  水槽

  Flume 是一个分布式的、可靠的、高可用的海量日志采集,聚合和传输系统。 Flume可以以采集文件、socket数据包等多种形式获取数据,并且可以将采集接收到的数据输出到HDFS、hbase、hive、kafka等多种外部存储系统。下图是单代理架构图。

  

  日志存储

  Logstash 是著名的 ELK 中的 L。 Logstash 是一个服务器端数据处理管道,可以同时从多个来源提取数据,进行转换,然后像 Elasticsearch 一样将其发送到“存储”。 Logstash 是 Elastic 堆栈中非常重要的一部分,但它不仅被 Elasticsearch 使用。它可以引入各种各样的数据源。 Logstash 可以通过自己的过滤器帮助我们分析、丰富和转换数据。

  

  Logstash 的主要组件如下:

  Sqoop

  Sqoop 主要用于在 Hadoop(HDFS、Hive、HBase)和传统数据库(mysql、postgresql...)之间传输数据。它可以将关系数据库中的数据导入到 Hadoop 的 HDFS 中。您可以将 HDFS 数据导入到关系数据库中。

  

  数据X

  DataX是阿里巴巴集团开源支持异构数据同步工具,实现了包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS在内的各种异构数据等构建高效的数据源间数据同步功能,也可自行开发插件。

  

  运河

  canal 的主要用途是基于 MySQL 数据库分析增量日志,提供增量数据订阅和消费。

  

  canal是通过模拟成为mysql的slave来获取数据,*敏*感*词*mysql的binlog获取数据。 binlog设置成行模式后,不仅可以获取到每一个执行的增删改脚本,还可以同时获取修改前的脚本。而修改后的数据,基于这个特性,canal可以高性能的获取mysql数据的变化。

  水滴

  Waterdrop 是一款非常易用、高性能、海量数据处理产品,支持实时流式处理和离线批处理,基于 Apache Spark 和 Apache Flink。

  

  由于篇幅问题,本文没有对这些工具进行详细的比较和介绍。你想知道它们的优缺点吗?您想知道如何选择吗?去公众号【大华数据路】找答案!

  数据登陆

  采集之后需要持久化数据,也就是存储层。常见的有:

  学习Hive、HBase、ElasticSearch、Clickhouse,请关注公众号【大华数据路】!

  需要注意的是,数据采集在真正落地到各个存储层之前,往往会被发送到Kafka这样的消息队列中。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线