Spark 教程

1.Spark 介绍

Spark起源于2009年,是美国加州大学伯克利分校AMP实验室的一个研究性项目。Spark于2010年开源,是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台,是Apache软件基金会所有开源项目中三大顶级开源项目之一。


Spark是用Scala语言写成的一套分布式内存迭代计算系统,它的核心抽象概念是弹性分布式数据集( Resilient Distributed Dataset, RDD), 在“One Stack to rule them all" (一个技术堆栈容纳各种数据处理技术)理念的指引下,Spark 基于RDD成功地构建起了大数据处理的一体化解决方案,将MapReduce、Streaming、 SQL、 Machine Learming、 Graph Process-ing等大数据计算模型统一到一个技术堆栈中,开发者可以使用同样的API操作Spark中的所有功能。


更为重要的是,Spark 的Spark SQL、MLLib、 GraphX、 Spark Streaming 等四大子框架(在Spark 1.4版本中,加入了新的SparkR子框架)之间可以在内存中完美的无缝集成并可以互相操作彼此的数据,这不仅打造了Spark在当今大数据计算领域相比其他任何计算框架具备的无可匹敌的优势,更使得Spark正在加速成为大数据处理中心首选的和唯一的计算平台。

目前,Spark 已经发展成为包含众多子项目的大数据计算平台。Spark 的整个生态系统称为伯克利数据分析栈( BDAS)。其核心框架是Spark,同时BDAS涵盖支持结构化数据SQL查询与分析的查询引擎Spark SQL,提供具有机器学习功能的系统MILbase 及底层的分布式机器学习库MLlib、并行图计算框架GraphX、流计算框架Spark Streaming、 采样近似计算查询引擎BlinkDB、内存分布式文件系统Tachyon、资源管理框架Mesos等子项目。这些子项目在Spark上提供了更高层、更丰富的计算范式。

随着Spark社区的不断成熟,它已被广泛应用于阿里巴巴、百度、网易、英特尔等各大公司的生产环境中。

 

 

 

 

关注编程学问公众号