大数据之数据采集组件选型

楼高10个月前技术文章629

按数据的源头、实际上也是对应的数据采集方式,分别进行分析与技术推荐,数据从源头基本分为

以下三大类

1、Web页面/移动App/MES/IoT/系统生产: 

这些数据是被动接收。建议可采用Apache NiFi,Apache Seatunel,虽然国内有DataX,但是NiFi

的能力要丰富,可视化界面,画布模式简单拖拽,NiFi经过Apache多年开源积累已经相当成熟,

有每天处理几十亿数据的案例SeaTunnel 与 kettle,NiFi这种重量级的平台相比,更像 Datax 轻量

级的数据传输工具,用户可以根据需要来安装 Source、Sink、Transform插件对于特殊场景,可以

使用NiFi和SeaTunnel结合使

第一种结合方式是可以用 NiFi 的 执行程序组件封装 SeaTunnel ,利用NiFi的调度能力,使其可以

定时运行 SeaTunnel 任务另外一种形式是NiFi可以二次开发来封装 SeaTunnel 组件

2、数据库(database):

首先可以是定期增量或全量批拉的方式,这里主要讲实时的CDC方式,数据是基于事件被推过来的。

(1)MySQL,可以采用Sqoop/Canal,也可以自己写逻辑成一个定制的NiFi Processor,最后流入

Kafka,也可以同时流入其它存储。

(2)Oracle可以采用OGG同步Oracle数据,通过解析源数据库在线日志或归档日志获得数据的增

删改变化(数据量只有日志的四分之一左右)

(3)HBase可以考虑写一个基于HBaseEndpoint的CDC(Change Data Capture)

(4)Cassandra作为一线业务存储,官方有CDC支持

(5)关系数据库管理系统(RDBMS)采用Sqoop完全可以支持

3、系统日志(System log):

可以用Apache NiFi中的TailFile(支持Rolling)这个Processor,中间加上自己写或拖拽处需要的处

理逻辑,最后吐到Kafka等存储中。或者使用典的Flume也是可以,但是相对来说NiFi简单便捷。

4、消息队列:一般选用Apache Flink做准实时数据处理,也可采用SparkStreaming或者

Apache Storm

数据采集组件选择流程图:

image.png

综合:用NiFi一个框架就可以解决所有数据的问题了,而且NiFi具备综合的管理能力,如:跟踪、

监控、拖拽开发、多租户、HA方案等。可以把NiFi看成是万能的整合采集器,但不要把复杂的

计算逻辑让它来担当,那不是它的强项。NiFi还有背压的能力

相关文章

Hive架构图及Hive SQL的执行流程

Hive架构图及Hive SQL的执行流程

1、Hive产生背景MapReduce编程的不便性HDFS上的文件缺少Schema(表名,名称,ID等,为数据库对象的集合)2、Hive是什么Hive的使用场景是什么?基于Hadoop做一些数据清洗啊...

MongoDB的写入安全级别

一、MongoDB写入安全级别为提高数据写入的安全性,在客户端可以设置相应的安全级别来进行控制,MongoDB提供四种写入级别,分别是:1、非确认式写入(Unacknowledged)非确认式写入不会...

某客户ERP华为云502错误案例

某客户ERP华为云502错误案例

1、客户反馈系统出现502错误图1上面的截图,我们大致可以看到浏览器显示的502错误,但是我们还有获知更多的信息。通过沟通我们可以确定:此功能为新上线功能,上线后一直是访问502,但是开发又找不到相关...

PG的pg_stat_statements插件

pg_stat_statements可追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资源开销,分析TOP SQL。一、插件安装1、编译安装进入postgresql源码目录...

Redis 慢查询相关配置

Redis 慢查询相关配置

一、查询生命周期一条查询的生命周期:发送命令命令排队执行命令返回结果Redis 慢日志只统计 “执行命令” 步骤 3 的耗时,所以没有慢查询并不代表客户端没有超时问题。二、慢日志配置参数慢日志相关的参...

PG初识

PG数据库是一种典型的C/S模型应用,不同的客户端通过TCP/IP进行连接、每个连接启动一个fork进程(多进程数据库)。一、pg逻辑架构1.1 pg与MySQL异同对比逻辑架构postgresMyS...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。