
Spark是近年来发展较快的分布式并行数据处理框架,可以与Hadoop联合使用,增强Hadoop的性能。同时,Spark还增加了内存缓存、流数据处理、图数据处理等更为高级的数据处理能力。这里简单介绍了Spark概念和特性,方便小白入门。当然了,大数据处理和分析光会了这些是远远不够的,入门容易深入难,还得有数理统计、领域建模等真功夫才能做出真正有价值的成果。
1、Spark是什么?
Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。
2、Spark的生态体系
○MapReduce属于Hadoop生态体系之一,Spark则属于BDAS生态体系之一
○Hadoop包含了MapReduce、HDFS、HBase、Hive、Zookeeper、Pig、Sqoop等
○BDAS包含了Spark、Shark(相当于Hive)、BlinkDB、SparkStreaming(消息实时处理框架,类似Storm)等等
3、Spark与MapReduce
○MapReduce通常将中间结果放到HDFS上,Spark是基于内存并行大数据框架,中间结果存放到内存,对于迭代数据Spark效率高。
○MapReduce总是消耗大量时间排序,而有些场景不需要排序,Spark可以避免不必要的排序所带来的开销
○Spark是一张有向无环图(从一个点出发最终无法回到该点的一个拓扑),并对其进行优化。
4、Spark支持的API
Scala、Python、Java等
5、运行模式
○Local(用于测试、开发)
○Standlone(独立集群模式)
○SparkonYarn(Spark在Yarn上)
○SparkonMesos(Spark在Mesos)
6、运行时的Spark
Driver程序启动多个Worker,Worker从文件系统加载数据并产生RDD(即数据放到RDD中,RDD是一个数据结构),并按照不同分区Cache到内存中。
以上关于Spark的基本概念和特性简介的详细介绍,想要了解更多关于Spark的新闻资讯,请关注大讲台官网、微信等平台,大讲台IT职业在线学习教育平台为您提供权威的大数据Spark培训课程和视频教程系统,通过大讲台金牌讲师在线录制的第一套自适应Spark在线视频课程系统,让你快速掌握Spark从入门到精通大数据开发实战技能。