昨日阅读3.5小时,总计41.5小时
《大数据基础及应用》-吕云翔-钟巧灵等编著--清华Press-2017-3
ch5
分布式处理
CPU多核和POSIX Thread
MPI(Message Passing Interface)并行计算框架
Hadoop MapReduce
Spark
(竟然讲不出什么东西)
ch6 Hadoop MapReduce解析 (还是开源的东西)架构、工作机制、组成、任务容错、应用案例、缺陷与不足(网文很多)
ch7 Spark解析(一个高性能的内存分布式计算框架)RDD(Resilient Distributed Database)、与MapReduce的对比、工作机制(DAG有向无环图工作图、Partition、Lineage容错方法、内存管理)、数据持久化。数据的读取。应用案例(日志挖掘)
ch8 流计算
Storm流计算系统(Twitter开源的分布式、高容错的实时计算系统)
Apache Samza:一个分布式流处理框架,使用Apache Kafka做消息发送,Apache Hadoop YARN提供容错、处理器格力、安全性和资源管理。适合实时流数据处理业务。
阿里云流计算
集群日志文件的实时分析案例:
https://github.com/alibook/alibook-bigdata.git
ch9 图计算:图作为数据模型的计算问题(如社交网络分析、移动电话网络分析、已发表科学成果之间的相互引用关系计算等)
以Google Pregel为代表的分布式图计算框架采取BSP计算模型处理大量图任务
Apache以Google发表的论文,实现了一个开源的框架Giraph
不同于以上两种以消息传递机制作为计算节点间通信方式,Carnegie Mellon University开发了分布式图计算框架GraphLab,采用GAS(Gather,Apply,Scatter)拉数据(Data-pulling)模型和共享内存抽象,图计算算法开发人员只需要为每个顶点实现用户定义的GAS函数即可。
图计算框架的实现需要考虑两个问题:怎样切分图,以更好地计算和保持;采用什么图计算模型。
图切分方式:点切分(每条边只保存一次)、边切分(顶点只保存一次)
BSP计算模型:一次计算过程中由一系列全局超步组成,每一个超步由并发计算、通信、同步3个步骤组成。批量同步(Bulk synchrony),独特在于超补(superstep)概念的引入。
图计算、流计算(实时计算)、批处理计算都是针对现实中问题的解决思路,在实践中不断互补
Spark GraphX(Spark的一个新API)用于图和并行图计算
Pregel是一种面向图算法的分布式编程框架,采用迭代式计算模型
案例(航班机场状态分析,采用Spark GraphX)