目录
一、流计算
1、流计算基本介绍
(1)、流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低,
(2)、目前有三类常见的流计算框架和平台:商业级的流计算平台、开源流计算框架、公司为支持自身业务开发的流计算框架
a、商业级:IBM InfoSphere Streams和IBM StreamBase
b、较为常见的是开源流计算框架,代表如下:
-
Twitter Storm:免费、开源的分布式实时计算系统,可简单、高效、可靠地处理大量的流数据
-
ahoo! S4(Simple Scalable Streaming System):开源流计算平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统
c、公司为支持自身业务开发的流计算框架:
-
Facebook Puma
-
Dstream(百度)
-
银河流数据处理平台(淘宝)
2、流计算处理流程
传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管理系统中,之后由用户通过查询操作和数据管理系统进行交互
流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务
(1)数据实时采集
通常采集多个数据源的海量数据,需要保证实时性、低延迟与稳定可靠
目前有许多互联网公司发布的开源分布式日志采集系统
-
Facebook的Scribe
-
LinkedIn的Kafka
-
淘宝的Time Tunnel
-
基于Hadoop的Chukwa和Flume
二、Spark Streaming
1、Spark Streaming基本原理
Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里