开源数据集如今深受开发者喜爱,比如谷歌的Images dataset数据集,YouTube-8M数据集等。通过对数据集里的数据进行分析,可以发现许多隐藏信息,比如客户喜好、未知相关性,市场趋势以及其他有用的商业信息。大数据分析对企业降低成本,准确掌握市场趋势,更快完成产品迭代十分有用。说到大数据分析,16年基本被Spark与Hadoop霸屏,到底是什么样的魔力让它们足以引起大数据世界的波动,未来又会如何发展呢?
Apache Spark
Apache Spark起源于加州大学伯克利分校,对于复杂分析来说是一个十分不错的开源处理引擎。Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。每一个Spark应用程序,都由一个驱动程序组成,运行用户的main函数,并且在一个集群上执行各种并行操作。
Spark提供的主要的抽象概念是具备容错能力的弹性分布式数据集,一个覆盖整个集群的只读多重数据项集。弹性分布式数据集(RDD)帮助实现交互式算法,通过多次访问数据集,实现交互式数据分析,应用延迟可以有不同程度上的减少,机器学习系统训练算法的交互性是使用Apache Spark的初始动力。以下是对Apache Spark的分析,看看是哪些特性使Apache Spark如此火热吧。
1、快速处理
大数据的处理速度至关重要,Apache Spark通过减少磁盘读写次数,降低磁盘I/O,使Hadoop集群上的应用程序操作比内存中快一百倍,比磁盘快十倍。
2、易用,支持多种语言
Spark允许使用Java,Sacla甚至Python进行快速编写。开发人员不仅可以使用熟悉的编程语言也可以运行这些应用程序。Spark本身自带了一个超过80个高阶操作符集合。而且还可以用它在shell中以交互式地查询数据。
3、支持复杂分析
除了Map和Reduce操作之外,Spark还支持SQL查询,流数据,机器学习和图表数据处理,此外,用户可以把所有这些功能都放在一个工作流中使用也可以单独使用。
4、实时流式处理
Apache Spark支持实时流式处理,它可以在进行数据操作的同时使用Spark Streaming。
5、与现有Hadoop及其上的数据整合
Spark可以在Hadoop Yarn集群管理器上独立操作,包括读取Hadoop上的数据。该特性使Spark十分适用于现有纯Hadoop应用程序的迁移。
6、基于Hadoop的多核服务器
大部分企业逐渐从昂贵的大型机和数据仓库平台向基于Hadoop的多核服务器转型。Hadoop是一个由java语言编写而成的开源分布式系统基础架构,其支持分布式环境中的大型数据集的存储和处理操作。很多公司都将Hadoop作为其大数据平台进行使用。
Hadoop
Hadoop是由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
1、低成本的数据存储
与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,Hadoop是开源的,项目的软件成本因此会大大降低。
2、高效
Hadoop可以运行分析算法,因为它被设计用来处理各种形式的大数据。在Hadoop上进行数据分析可以使分析更高效,Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
3、批量数据处理
Hadoop框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。HDFS是Hadoop的一大创举,分布式存储使文件存放在众多节点上,只需要一个节点去记录文件的元数据信息(主要是文件的位置),访问文件时先访问元数据节点,获取文件所在的位置, 然后在获取文件即可。此外,MapReduce也可以做大数据处理,即以价值为导向,对大数据加工、挖掘和优化等各种处理。其思想就是“分而治之”,将大任务分成若干小任务处理。
4、与数据仓库相辅相成
有很多数据集被从数据仓库卸到Hadoop平台上,或者一些新的数据会直接到Hadoop中。企业无非就是希望有一个好的平台来存储、处理、分析数据,以支持可以被集成在不同级别的不同用例。
5、物联网和Hadoop
据预测,未来20年物联网对全球GDP的贡献将会增长10到15万亿美元左右。物联网的核心是流和大数据。Hadoop被用来进行多事务数据存储,数据,统计算法和机器学习指出基于历史数据分析得到未来趋势的可能性。对过去进行分析是了解未来很好的一个途径,通过预测分析,未来的物联网世界将更加纯粹。
未来怎么走?
技术的变革、更新换代,本身是好事,但很多时候,人才的培养跟不上技术变革的脚步。即便是最先进的学府可能都还未来得及更换教科书,这时对企业来说,新技术带来的超高性价比就显得毫无意义了,因为相应的人力成本在上升。
有些人很喜欢及时更新知识储备,认为新技术的出现会取代旧技术。但各有各的好,新欢不一定敌得过旧爱,要看需求,别跟风。不过,越是Spark、Hadoop炒得火热,理性思考的人就越少,很多人只是浮于表面,这对技术的发展十分不利。