spark大数据教程(spark大数据分析源码解析)《Spark大数据分析实战》笔记

写在前面:此书很棒,但需要一定的编程功底,此外强烈建议买书,因为很多架构图、算子列表,我也不会摘抄下来。

第一章 简介

1.Spark执行的特点

Hadoop中包含计算框架MapReduce和分布式文件系统HDFS等。

Spark是MapReduce的替代方案,且兼容HDFS, Hive等分布式存储层,融入Hadoop的生态系统,并弥补MapReduce的不足。

①中间结果输出

Spark将执行工作流抽象为通用的有向无环图(DAG)执行计划,可将多Stage的任务串联或并行执行,而无须将Stage的中间结果输出到HDFS中,类似的引擎包括Flink, Dryad, Tez等。

②数据格式和内存布局

RDD: 支持粗粒度的写操作,但对于读操作可精确到每条记录

Spark的特性是能控制不同节点上的分区,用户可自定义分区策略

③执行策略

Spark执行过程中,不同Stage之间须进行Shuffle

Shuffle是链接有依赖的Stage的桥梁,上游Stage输出到下游Stage必须经过Shuffle

Spark Shuffle支持基于Hash或排序的分布式聚合机制。

④任务调度的开销

Spark采用了事件驱动的类库AKKA来启动人物,通过线程池的复用线程来避免系统启动和切换开销

第二章 Spark开发与环境配置

第三章 BDAS简介

1.Spark生态系统BDAS

BDAS是博客里大学提出的基于Spark的数据分析栈。

其框架核心是Spark,同时涵盖Spark SQL, MLBase, MLlib, GraphX, Spark Streaming, 近似查询引擎BlinkDB,内存分布式文件系统Techyon, 资源管理框架Mesos等子项目。

①SQL on Spark

AMPLab将大数据分析负载分为三类:批量数据处理、交互式查、实时流处理

据Spark峰会2014上博客里大学的Big Data Benchmark测试结果,Shark in Memory效率是Hive的100倍,即便On Disk也有10倍于Hive的效率。 作为Shark的进化版本, Spark SQL性能更优于Shark。

SQL经过查询优化其最终转化为一个执行计划树,而Spark SQL还会将这个执行计划树转化为DAG再执行。

整个Catalyst是Spark SQL的调度核心。

②Spark Streaming

Spark Streaming讲数据流以时间片为单位分割成RDD,使用RDD处理每一块数据。

每块数据(RDD)都会生成一个Spark Job进行处理,最终以批处理的方式处理每个时间片的数据。

Spark Streaming将Dstream操作转换为Dstream DAG, 对每个时间片,Dstream DAG产生一个RDD DAG。

之后的操作就回归了Spark主线,Job->JobManager->Spark DAG Scheduler, 最后发给Executor.

③GraphX

GraphX实现了大规模图计算的功能,是常见的图算法在Spark上并行化的实现,同时提供了丰富的API。

GraphX的特点是离线计算,批量处理。基于同步的BSP模型(Bulk Synchronous Parallel Computing Model, 整体同步并行计算模型),这样的优势在于可以提升数据处理的吞吐量和规模,但是会造成速度上稍逊一筹。

目前大规模图处理框架还有基于MPI模型的异步图计算模型GraphLab和同样基于BSP模型的Graph等。

现在和GraphX可以组合使用的分布式图数据库是Neo4J,Neo4J是一个高性能的、菲关系的、具有完全事务特性的、鲁棒的图数据库。

另一个数据库是Titan,Titan是一个分布式的图形数据库,特别为存储和处理大规模图形数据而优化。

GraphX的操作符介绍:本书P46-48

④MLlib

MLlib是构建在Spark上的分布式机器学习库,充分利用了Spark的内存计算和适合迭代型计算的特性,性能得到优化。

MLlib是AMPLab的在研机器学习项目MLBase的底层组件,MLBase收一个机器学习平台,MLI是接口层,提供很多结构,MLlib是底层算法实现层。

K-means 算法浅析

https://zhuanlan.zhihu.com/p/20432322

比knn稍微复杂一些,还没理解更新cluster中心点后,怎样去更新已有的cluster内数据点

(即牧师每一次移动不可能离所有人都更近,有的人发现A牧师移动以后自己还不如去B牧师处听课更近,于是每个居民又去了离自己最近的布道点……)

源码直接看书

第四章 Lamda架构日志分析流水线

TODO

    THE END
    喜欢就支持一下吧
    点赞5 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容