专注于快乐的事情

什么是流计算?

本文于1135天之前发表,文中内容可能已经过时。

计算分类

大数据的计算模式主要分为批量计算、流式计算、交互计算、图计算(graph computing)等。其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。

Google MapReduce、Hadoop等处理大规模 数据变得简单。但这些处理的技术的目标都不是实时技术。但是随着大数据业务的快速增长,针对大规模数据处理的实时计算变成了一种业务上的需求,Storm类似的框架正是在这样的需求背景下出现的。

适用性

对于先存储后计算,实时性要求不高,同时数据的准确性、全面性更为重要的应用场景,批量计算更加适合。

对于无需先存储,可以直接进行数据计算,实时性要求很严格,但数据的精确度往往不太苛刻的 应用场景,流式计算具有明显优势。

流计算的原理

实时流计算的场景归纳起来多半是:业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,形成一个实时流计算系统。

流式计算特征

流式计算有点像数据库领域的触发器,大数据流式计算目前主要用于对动态产生的数据进行实时计算并及时反馈结果,但往往不要求结果绝对精确的应用场景,在数据的有效时间内获取其价值,是大数据流式计算系统的首要设计目标。

流式计算中,数据往往是最近一个时间窗口内的增量数据,因此数据时延往往较短,实时性较强,但数据的信息量往往相对较少,只限于一个时间窗口内的信息,不具有全量信息。流式计算和批量计算具有明显的优劣互补特征,在多种应用场合下可以将两者结合起来使用,通过发挥流式计算的实时性优势和批量计算的计算精度优势,满足多种应用场景在不同阶段的数据计算要求。

通常情况下,大数据流式计算场景具有以下鲜明特征:
在流式计算环境中,数据是以元组为单位,以连续数据流的形态,持续地到达大数据流式计算平台。数据并不是一次全部可用,不能够一次得到全量数据,只能在不同的时间点,以增量的方式,逐步得到相应数据。

流式计算应用场景

具体应用场景

金融

在金融银行的实时监控场景中,大数据流式计算往往体现出自身的优势。例如:在风险管理方面,包括信用卡诈骗、保险诈骗、证券交易诈骗、程序交易等,需要实时跟踪发现;营销管理方面,根据客户信用卡消费记录,掌握客户的消费习惯和偏好,预测客户未来的消费需求,并为其推荐个性化的金融产品和服务。

互联网领域

在互联网领域中,大数据流式计算的典型应用场景主要包括以下方面:搜索引擎提供商们往往会在反馈给客户的搜索页面中加入点击付费的广告信息,插入什么广告、在什么位置插入这些广告才能得到最佳效果,往往需要根据客户的查询偏好、浏览历史、地理位置等综合语义进行决定,而这种计算对于搜索服务器而言往往是大量的。一方面,每时每刻都会有大量客户进行搜索请求;另一方面,数据计算的时效性极低,需要保证极短的响应时间。同理,我们构建社交网站,一样需要实时分析用户的状态信息,及时提供最新的用户分享信息到相关的群体,准确地推荐朋友、推荐主题、提升用户体验,并能及时发现和屏蔽各种欺骗行为,至此大数据流式计算的方法就会帮助我们达成这种目标定位。

物联网领域

在物联网领域中,大数据流式计算的典型应用场景主要有智能交通和环境监测。通过传感器实时感知车辆、道路的状态,并分析和预测一定范围、一段时间内的道路流量情况,以便有效地进行分流、调度和指挥;环境监控则通过传感器和移动终端,对一个地区的环境综合指标进行实时监控、远程查看、智能联动、远程控制,系统地解决综合环境问题。这些对计算系统的实时性、吞吐量、可靠性等方面都提出了很高要求。

流计算框架 

流式大数据处理的三种框架:Storm,Spark和Samza

比较具体参见
http://www.csdn.net/article/2015-03-09/2824135

参考网站

评论系统未开启,无法评论!