4. 可融合性
Spark可以运行在standalone、YARN、Mesos、Kubernetes及EC2多种调度平台上。其中Standalone模式不依赖第三方的资源管理器和调度器,这样降低了Spark的使用门槛,使得所有人可以非常容易地部署和使用Spark。
Spark可以处理所有Hadoop支持的数据,包括HDFS、Apach HBase、Apach Kudu、Apach Cassanda等。这对于已部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark强大的处理能力。
三、 Spark 相比MapReduce优势
Spark与MapReduce 同为计算框架,但作为后起之秀,Spark借鉴了MapReduce,并在其基础上进行了改进,使得算法性能明显优于MapReduce,下面大致总结一下两者差异:
1) Spark把运算的中间数据存放在内存,迭代计算效率更高;MapReduce的中间结果需要落地到磁盘,磁盘io操作多,影响性能。
2) Spark容错性高,它通过Lineage机制实现RDD算子的高效容错,某一部分丢失或者出错,可以通过整个数据集的计算流程的血缘关系来实现重建;MapReduce的话容错可能只能重新计算了,成本较高。
3) Spark更加通用,Spark提供了transformation和action这两大类的多个功能算子,操作更为方便;MapReduce只提供了map和reduce两种操作。
4) Spark框架和生态更为复杂,首先有RDD、血缘lineage、执行时的有向无环图DAG、stage划分等等,很多时候spark作业都需要根据不同业务场景的需要进行调优已达到性能要求;MapReduce框架及其生态相对较为简单,对性能的要求也相对较弱,但是运行较为稳定,适合长期后台运行。
四、 Spark与工业互联网平台
工业互联网带来了工业数据的快速发展,对于日益增加的海量数据,传统单机因本身的软硬件限制无法应对海量数据的处理、分析以及深度挖掘,但作为分布式计算框架的Spark却能轻松应付这些场景。在工业互联网平台上,Spark 既能快速实现工业现场海量流数据的处理转换,又能轻松应对工业大数据平台中海量数据的快速批处理分析,自身集成的机器学习框架能够对海量工业数据进行深度挖掘分析,从而帮助管理者进行决策分析。
基于Spark框架自身的优良设计理念以及社区的蓬勃发展状态,相信未来Spark会在工业互联网平台扮演越来越重要的角色。
本文作者: 黄欢,格创东智大数据工程师 (转载请注明来源及作者)