在用户体验达不到所宣传效果之后,it领域中必然会随之出现“新的热门事件”。目前的新热门事件涉及大数据和对海量分布式数据的快速精准分析。
在目前的大数据领域中,hadoop被作为存储和分配海量数据的软件,而mapreduce则被作为处理这些海量数据的引擎。两者整合在一起可以批处理一些对时效性没有过高要求的数据。
那么对于近实时大数据分析应当怎么办呢?作为最先进的下一代开源技术apache spark已经为视频、传感器、交易等流数据的分析、机器学习、预测建模创造了条件。它们可以用于基因组研究、封包检测、恶意软件探测和物联网。
spark不仅可像mapreduce那样用于批处理,对于需要与数据集进行大量交互的算法,spark还可以将这些运算的中间结果存储在缓存中。 相比之下,在带入系统进行下一步处理前,mapreduce必须要将每步运算的结果写入磁盘。这种在内存中对弹性分布式数据集(rdd)的快速处理可以说 是apache spark的核心能力。
salient federal solutions公司一直致力于使用spark为政府机构开发分析产品。该公司预测分析主任dave vennergrund称:“一旦执行对数据集的操作,它们能够进行相互连接,从而使得转换能够被迅速完成。加之它们能够同时跨多台机器做这一工作,这使 得我们能够迅速做出反应。”
spark的支持者认为,与竞争对手相比,spark在扩展性和速度方面都具有优势。突出表现为在小数据集升级为拍字节后,它们仍然能够出色地工 作。在2014年11月份的基准竞赛中,apache spark整理100太字节数据的速度比hadoop mapreduce快了三倍,并且其机器集群的规模是mapreduce的十分之一。
据软件开发公司typesafe近期观察显示,对spark感兴趣的机构在数量上正在不断增长。数据显示,目前13%的受访者正在使用spark, 约30%的受访者正在对spark进行评估,20%的受访者计划在今年某一时候开始使用spark。另有6%的受访者希望在2016年或更晚时候使用 spark。此外,28%的受访者还对spark不了解,认为它们还不成熟。
salient 的数据分析中心副总裁cindy walker称:“对于政府来说,他们正在进行测试与评估。早期部署者都是那些有沙盒和研发预算的部门。我们的许多客户现在对大数据部署、内存分析、流解 决方案都还没有划定能力底线。因此,我们目前正在使用spark帮助他们设定合理的目标。”
虽然spark还无法取代mapreduce,但是它们最终将成为大数据分析领域的一部分,推动数据被以更快的速度处理。
apache spark生态环境有以下几个组成部分:
spark core:平台的底层执行引擎,支持大量应用以及java、scala和python等应用程序接口(api)。
spark sql(结构化查询语言) :用户可通过其探究数据。
spark streaming:可对来自推特的流数据进行分析,并且让spark具备批处理能力。
机器学习库 (mllib):一种分布式机器学习架构,交付高质量算法的速度比mapreduce快100倍。
graph x:帮助用户以图形的形式表现文本和列表数据,找出数据中的不同关系。
sparkr:针对r统计语言的程序包。r用户可通过其在r壳中使用spark功能。
blinkdb:大型并行引擎。允许用户对海量数据执行类sql查询,在速度重要性高于精确性的情况下非常有用。
本文作者:佚名
来源:51cto