基于spark的流式数据处理—流计算

时间:2024-03-17 08:40:05

概念

流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息。
基于spark的流式数据处理—流计算
流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低,如用户点击流。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎。

对于一个流计算系统来说,它应达到如下需求:
  1. 高性能:处理大数据的基本要求,如每秒处理几十万条数据;
  2. 海量式:支持TB级甚至是PB级的数据规模;
  3. 实时性:保证较低的延迟时间,达到秒级别,甚至是毫秒级别;
  4. 分布式:支持大数据的基本架构,必须能够平滑扩展;
  5. 易用性:能够快速进行开发和部署;
  6. 可靠性:能可靠地处理流数据;

流计算框架

当前业界诞生了许多专门的流数据实时计算系统来满足各自需求,目前有三类常见的流计算框架和平台:

  1. 商业级的流计算平台;
  2. 开源流计算框架;
  3. 公司为支持自身业务开发的流计算框架。

商业级:IBM InfoSphere Streams和IBM StreamBase。较为常见的是开源流计算框架,代表如下:

  1. Twitter Storm:免费、开源的分布式实时计算系统,可简单、高效、可靠地处理大量的流数据;
  2. Yahoo! S4(Simple Scalable Streaming System):开源流计算平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统。

公司为支持自身业务开发的流计算框架:

  1. Facebook Puma
  2. Dstream(百度)
  3. 银河流数据处理平台(淘宝)