在大数据计算引擎当中,Spark不能忽视的一个重要技术框架,Spark继承了Hadoop MapReduce的优势,同时实现了计算效率的提升,满足更加实时性的数据处理需求。今天我们就来讲讲Spark生态圈入门。
Spark在设计之初,就是围绕速度、易用性和复杂分析来研发的,当时的背景下,就是MapReduce在实时数据处理上有明显的不足,已经很难满足很多业务场景下的需求。
Spark生态圈核心组件
围绕Spark,技术生态圈也不断完善,生态圈的各个组件,在Spark Core的支持下,能够满足更多实际业务场景下的数据处理需求。
Spark Core:
Spark Core作为Spark引擎的核心,提供基于内存的分布式计算,在Hadoop原生的MapReduce引擎的基础上,继承其优势,改善其不足,减少计算过程当中的迭代运算,大大提升计算效率。
Spark Core 引入了一个全新的概念 —— RDD。RDD(Resilient Distributed Datasets),全称是“弹性分布式数据集”。
本质上,RDD 是 Spark 用于对分布式数据进行抽象的数据模型。这种数据模型用于囊括、封装所有内存中和磁盘中的分布式数据实体。
任意的分布式作业都可以由 RDD 抽象之间的转换来实现。理论上,如果计算节点内存足够大,那么所有关于 RDD 的转换操作都可以放到内存中来执行,这便是Spark内存计算的由来。
Spark Streaming:
Spark Streaming基于微批量方式的计算和处理,可以用于处理实时的流数据。它使用DStream,简单来说就是一个弹性分布式数据集(RDD)系列,处理实时数据。
Spark SQL:
Spark SQL可以通过JDBC API将Spark数据集暴露出去,而且还可以用传统的BI和可视化工具在Spark数据上执行类似SQL的查询。用户还可以用Spark SQL对不同格式的数据(如JSON,Parquet以及数据库等)执行ETL,将其转化,然后暴露给特定的查询。
Spark MLlib:
MLlib是一个可扩展的Spark机器学习库,由通用的学习算法和工具组成,包括二元分类、线性回归、聚类、协同过滤、梯度下降以及底层优化原语。
Spark GraphX:
GraphX用于图计算和并行图计算。在这里,Spark的优势是既能处理表视图,也能处理图视图。
生态圈其他组件
前面所讲的是Spark当中需要掌握的重点组件,而除此之外,还有Tachyon、BlinkDB、Mesos等组件,也提供相应的支持。
Tachyon:
以内存为中心的分布式文件系统,提供内存级别速度的跨集群框架(如Spark和MapReduce)的可信文件共享,可绕过HDFS,以更快地速度执行。
BlinkDB:
一个近似查询引擎,用于在海量数据上执行交互式SQL查询。BlinkDB可以通过牺牲数据精度来提升查询响应时间。
Mesos:
它的设计初衷是作为整个数据中心的一个可拓展的全局资源管理器,而在Spark当中,可以选择独立运行的Standalone 模式,也可以构建于 Yarn 或 Mesos 之上,由它们提供资源管理。
关于大数据Spark框架,Spark生态圈入门,以上就为大家做了一个简单的介绍了。Spark在大数据领域当中,占据着明显的市场规模,而学习大数据,Spark及其生态圈,是需要掌握的重点内容,需加以重视。
领取专属 10元无门槛券
私享最新 技术干货