生活离不开水,一样离不开数据,咱们被数据包围,在数据中生活。当数据愈来愈多时,就成了大数据。web
在“中国制造2025”的技术路线图中,工业大数据是做为重要突破点来规划的,而在将来的十年,以数据为核心构建的智能化体系会成为支撑智能制造和工业互联网的核心动力。而想要理解大数据,就须要理解大数据相关的查询、处理、机器学习、图计算和统计分析等。Apache Spark 做为新一代轻量级大数据快速处理平台,集成了大数据相关的各类能力,是理解大数据的首选。算法
简单来说,Spark就是一个快速、通用的大规模数据处理引擎,各类不一样的应用,如实时流处理、机器学习、交互式查询等,均可以经过Spark 创建在不一样的存储和运行系统上。今天的格物汇,就带你们来认识一下如日中天、高速发展的大数据处理明星——Spark。编程
一、Spark发展历程框架
Spark做为Hadoop生态中重要的一员,其发展速度堪称恐怖,从诞生到成为Apache顶级项目不到五年时间,不过在现在数据量飞速增加的环境与背景下,Spark做为高效的计算框架能收到如此大的关注也是有所依据的。机器学习
二、Spark的特色编程语言
速度快
Spark经过使用先进的DAG调度器、查询优化器和物理执行引擎,能够高性能地进行批量及流式处理。使用逻辑回归算法进行迭代计算,Spark比Hadoop速度快100多倍。
简单易用
Spark目前支持多种编程语言,好比Java、Scala、Python、R。熟悉其中任一门语言的均可以直接上手编写Spark程序,很是方便。还支持超过80种高级算法,使用户能够快速构建不一样应用。而且Spark还支持交互式的Python和Scala的Shell,这意味着能够很是方便的在这些Shell中使用Spark集群来验证解决问题的方法,而不是像之前同样,须要打包、上传集群、验证等。这对于原型开发很是重要。
通用性高
Spark 目前主要由四大组件,以下:
Spark SQL:SQL on Hadoop,可以提供交互式查询和报表查询,经过JDBC等接口调用;
Spark Streaming::流式计算引擎;
Spark MLlib:机器学习库;
Spark GraphX:图计算引擎。
拥有这四大组件,成功解决了大数据领域中,离线批处理、交互式查询、实时流计算、机器学习与图计算等最重要的任务和问题,这些不一样类型的处理均可以在同一应用中无缝使用。Spark统一的解决方案很是具备吸引力,毕竟任何公司都想用统一的平台处理问题,减小开发和维护的人力成本和部署平台的物理成本。固然还有,做为统一的解决方案,Spark并无以牺牲性能为代价。相反,在性能方面Spark具备巨大优点。
分布式
可融合性
Spark能够运行在standalone、YARN、Mesos、Kubernetes及EC2多种调度平台上。其中Standalone模式不依赖第三方的资源管理器和调度器,这样下降了Spark的使用门槛,使得全部人能够很是容易地部署和使用Spark。
Spark能够处理全部Hadoop支持的数据,包括HDFS、Apach HBase、Apach Kudu、Apach Cassanda等。这对于已部署Hadoop集群的用户特别重要,由于不须要作任何数据迁移就可使用Spark强大的处理能力。
svg
三、Spark相比MapReduce优点oop
Spark与MapReduce 同为计算框架,但做为后起之秀,Spark借鉴了MapReduce,并在其基础上进行了改进,使得算法性能明显优于MapReduce,下面大体总结一下二者差别:性能
四、Spark与工业互联平台
工业互联网带来了工业数据的快速发展,对于日益增长的海量数据,传统单机因自己的软硬件限制没法应对海量数据的处理、分析以及深度挖掘,但做为分布式计算框架的Spark却能轻松应付这些场景。在工业互联网平台上,Spark 既能快速实现工业现场海量流数据的处理转换,又能轻松应对工业大数据平台中海量数据的快速批处理分析,自身集成的机器学习框架可以对海量工业数据进行深度挖掘分析,从而帮助管理者进行决策分析。
基于Spark框架自身的优良设计理念以及社区的蓬勃发展状态,相信将来Spark会在工业互联网平台扮演愈来愈重要的角色。
本文做者:格创东智黄欢(转载请注明做者及来源)