欢迎阅读美图数据技术团队的「Spark,从入门到精通」系列文章,本系列文章将由浅入深为大家介绍 Spark,从框架入门到底层架构的实现,相信总有一种姿势适合你,欢迎大家持续关注:)
/ 什么是 Spark? /
Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架,是专为大规模数据处理而设计的快速通用的大数据处理引擎及轻量级的大数据处理统一平台。
当我们在谈 Spark 的时候可能是指一个 Spark 应用程序,替代 MapReduce 运行在 Yarn上,存储在 HDFS 上的一个大数据批处理程序;也可能是指使用包含 Spark sql、Spark streaming 等子项目;甚至 Tachyon、Mesos 等大数据处理的统一平台,或者称为 Spark 生态。
图 1
发展至今,Spark 已不仅仅是 MapReduce 的替换方案,它已经发出成了一个包含众多子项目的 Spark 生态。如图 1 所示,Spark 生态可分为四层:
- 数据存储层,以 HDFS 、Tachyon 为代表的一些分布式文件存储系统或各种数据库;
- 资源管理层,Yarn、Mesos 等资源管理器;
- 数据处理引擎;
- 应用层,以 Spark 为基础产生的众多项目;
Spark SQL 提供 HiveQL(通过 Apache Hive 的 SQL 变体 Hive 查询语言)与Spark 进行交互的 API。每个数据库表被当做一个 RDD,Spark SQL 查询被转换为 Spark 操作。Spark Streaming 对实时数据流进行处理和控制,它允许程序能够像普通 RDD 一样处理实时数据。
接下来的系列文章将会详细介绍 Spark 生态中的其他模块与各个子项目,接下来将通过与 MapReduce 的对比来介绍数据处理引擎Spark的特点及其原理。
/ Spark 的特点 /
根据谷歌和百度的搜索结果显示,Spark 的搜索趋势已与 Hadoop 持平甚至赶超,标志着 Spark 已经成为计算部分的事实标准,也就是说大数据技术绕不开 Spark 了。
在大数据的存储、计算、资源调度中,已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击Spark 主要解决计算问题ÿ