Hadoop等大数据解决方案,解决了当今大部分对于大数据的处理需求,但对于某些实时性要求很高的数据处理系统,Hadoop则无能为力,对实时交互处理的需求催生了一个概念——流式大数据,对其进行处理计算的方式则称为流计算。
流式数据,是指由多个数据源持续生成的数据,通常也同时以数据记录的形式发送,规模较小。可以这样理解,需要处理的输入数据并不存储在磁盘或内存中,他们以一个或多个连续数据流的形式到达,即数据像水一样连续不断地流过。
流式数据包括多种数据,例如Web应用程序生成的日志文件、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅、地理空间服务等,以及来自数据中心内所连接设备或仪器的遥测数据。流式数据的主要特点是数据源非常多、持续生成、单个数据规模小。
流式大数据处理框架如下:
(1)Storm。Storm是一个免费开源的高可靠性的、可容错的分布式实时计算系统。利用Storm可以很容易做到可靠的处理无限的数据流,像Hadoop批量处理大数据一样,Storm可以进行实时数据处理。Storm是非常快速的处理系统,在一个节点上每秒钟能处理超过100万个元组数据。Storm有着非常良好的可扩展性和容错性,能保证数据一定被处理,并且提供了非常方便的编程接口,使得开发者们很容易上手进行设置和开发。(www.daowen.com)
Storm有着一些非常优秀的特性,首先是Storm编程简单,支持多种编程语言,其次,支持水平扩展,消息可靠性。最后,容错性强。
(2)Spark Streaming。Spark Streaming是Spark框架上的一个扩展,主要用于Spark上的实时流式数据处理。具有可扩展性高吞吐量可容错性等特点,是目前比较流行的流式数据处理框架之一,Spark统一了编程模型和处理引擎,使这一切的处理流程非常简单。
(3)其他。目前比较流行的流式处理框架还有Samza、Heron等。这些处理框架都是开源的分布式系统,都具有可扩展性、容错性等诸多特性。
流式大数据框架的将成为实时处理的主流框架,比如新闻股票商务领域大部分数据的价值是随着时间的流逝而逐渐降低的,所以很多场景要求数据在出现之后必须尽快处理,而不是采取缓存成批数据再统一处理的模式流式处理框架,为这一需求提供了有力的支持。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。