书籍:Spark大数据处理、技术、应用与性能优化
前言:
- Spark是发源于美国加州大学伯克利分校AMPLab的大数据分析平台,
- 它立足于内存计算,从多迭代批量处理出发,兼顾数据仓库、 流处理和图计算等多种计算范式,是大数据系统领域的全栈计算平台。
- Spark当下已成为Apache基金会的顶级开源项目,拥有庞大的社区支持,技术也逐渐走向成熟
- 在Spark出现前,要在一个平台内同时完成以上数种大数据分析任务,就不得不与多套独立的系统打交道,这需要系统间进行代价较大的数据转储,但是这无疑会增加运维负担
- BDAS生态系统 :伯克利数据分析栈(BDAS)
BDAS:One Stack to Rule Them All
相关链接:spark生态组件
  
 
Spark Core:核心
- Spark Core提供了多种运行模式,不仅可以使用自身运行模式处理任务,如本地模式、Standalone,而且可以使用第三方资源调度框架来处理任务,如YARN、MESOS等。相比较而言,第三方资源调度框架能够更细粒度管理资源
- Spark Core提供了有向无环图(DAG)的分布式并行计算框架,并提供内存机制来支持多次迭代计算或者数据共享,大大减少迭代计算之间读取数据的开销,这对于需要进行多次迭代的数据挖掘和分析性能有极大提升。另外,在任务处理过程中移动计算而非移动数据,RDDPartition 可以就近读取分布式文件系统中的数据块到各个节点内存中进行计算
- 在Spark 中引入了RDD的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部分丢失,则可以根据“血统”对它们进行重建,保证了数据的高容错性
Spark Streaming:实时流处理应用
- Spark Streaming 是一个对实时数据流进行高吞吐、高容错的流式处理系统,可以对多种数据源(如Kafka、Flume、Twitter 和ZeroMQ 等)进行类似Map、Reduce 和Join 等复杂操作,并将结果保存到外部文件系统、数据库或应用到实时仪表盘

Spark SQL:及时查询
- Spark SQL 的前身是Shark,它发布时Hive 可以说是SQL on Hadoop 的唯一选择(Hive 负责将SQL 编译成可扩展的MapReduce 作业),鉴于Hive 的性能以及与Spark 的兼容,Shark 由此而生
- Shark 即Hive on Spark,本质上是通过Hive 的HQL 进行解析,把HQL 翻译成Spark 上对应的RDD 操作,然后通过Hive 的Metadata 获取数据库里的表信息,实际为HDFS 上的数据和文件,最后由Shark 获取并放到Spark 上运算。Shark 的最大特性就是速度快,能与Hive 的完全兼容,并且可以在Shell 模式下使用rdd2sql 这样的API,把HQL 得到的结果集继续在Scala环境下运算,支持用户编写简单的机器学习或简单分析处理函数,对HQL 结果进一步分析计算
BlinkDB:采样近似查询引擎
MLBase/MLlib:机器学习
GraphX:图处理
SparkR:数学计算
Alluxio
 一、Spark简介 
    http://www.cnblogs.com/makexu/

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号