提到大数据处理框架,Spark是肯定占据一席之地的,尤其是在实时数据计算上,Spark具有公认的优势。在大数据技术学习阶段,Spark也是必须要掌握的。今天,我们就从Spark入门开始,来简单了解一下Spark生态系统。
Spark在大规模数据处理上,核心设计仍然是分布式计算,通过分布式计算,将大规模的数据处理任务,分而化之,以若干个小任务的方式,共同完成整个数据处理计算的过程,然后整合输出结果。
相比于早已经存在的Hadoop,同样也是采取分布式计算,Spark存在的必要性是什么呢?
Spark和Hadoop的MapReduce,在数据处理上最大的不同之处在于,Hadoop基于磁盘进行计算,而Spark基于内存计算。基于磁盘计算,在计算的过程中就要不断地写入和读取数据,运行速率会被降低;而基于内存进行计算,免去了不断从磁盘读写的过程,运行速率也得到极大的提升。
理论上的说法认为,Spark处理数据的效率,可以达到Hadoop系统的10-100倍,因此在面对对数据时效性要求更高的数据处理任务时,Spark将具有天然的优势。
发展至今,Spark生态系统也在不断优化,核心包括Spark core、Spark SQL、Spark Streaming、Spark GraphX、Spark MLlib等几大组件。
Spark Core,主要负责承载各大组件以及保证这些组件的正常运行,相当于Spark的地基,Spark很多基础功能都依赖于Core。Spark核心的弹性分布式数据集(RDD)功能,承担数据集“操作”和"转换"的抽象分布式项目集合。
Spark SQL,用于处理Spark和Hive支持的SQL子集处理Big Data,可以实现对各种格式和来源的数据进行处理。
Spark Streaming,负责获取实时流数据的框架,支持常见的消息中间件。Spark Streaming使用离散流的流数据,周期性的创建最后一个时间窗口进入的数据的RDD。
Spark MLib,是Spark当中的机器学习框架,支持机器学习框架。
Spark GraphX,在Spark当中主要负责图论算法实现。
以上就是从Spark入门角度为大家带来的Spark生态系统简介。相比Hadoop,Spark显得要简介很多,但是作为企业大数据平台,Spark并不能独立完成,还需要结合数据存储系统才行。成都加米谷大数据,大数据技术知识分享,
大数据课程培训,更多详情可联系客服了解!