浅谈大数据处理中的实时流式处理

码农小妹

发布时间:19-03-0414:15

大数据的实时流式处理问题的特点

数据源源不断的到来;数据需要尽快的得到处理,不能产生积压;处理之后的数据量依然巨大,仍然后TB级甚至PB级的数据量;处理的结果能够尽快的展现;以上四个特点可以总结为

数据的收集->数据的传输->数据的处理->数据的展现

其中数据的处理一般涉及数据的聚合,数据的处理和展现能够在秒级或者毫秒级得到响应。针对这些问题目前形成了 **Flume + kafka + Storm / Spark + Hbase / Redis **的技术架构。

(1)何为Flume ?

Flume 专注于大数据的收集和传输,用来解决在线分析处理特点,数据源源不断的到来的问题。类似的大数据开源系统有 Logstash 和 Fluentd 。

架构图中 Source 用来连接输出源,Sink 用来连接输出源,Channel 是 Flume 内部数据传输通道(主要包括 Memory Channel 和 File Channel)。其中 Source 连接的输入源可以但不限于:

AvroThriftExec(unix command output)JMS (Java Message Service)KafkaNetCat (可以使用 nc –lk port 测试)SyslogCustom

其中 Sink 连接的输出源可以但不限于:

HdfsHiveAvroThriftFile RollHbaseElasticSearch (提供的功能和 Logstash 一样,但是不如Logstash 丰富,大多数时候需要自己构造 ElasticSearch 文档和索引)KafkaCustom

(2)kafka:负责数据的缓冲,和解耦作用(3)spark:负责实时处理计算(4)Hbase和redis负责存储处理后的数据供外部查询。

返回顶部