颠覆大数据分析 基于StormSpark等Hadoop替代技术的实时应用
内容简介:
Vijay Srinivas Agneeswaran 博士,1998 年于SVCE 的马德拉斯分校获得计算机科学与工程专业的学士学位,2001 年获取了印度理工学院马德拉斯分校的硕士学位(研究性质),2008年又获取了该校的博士学位。他曾在瑞士洛桑的联邦理工学院的分布式信息系统实验室(LSIR)担任过一年的博士后研究员。之前7 年先后就职于Oracle、Cognizant 及Impetus,对大数据及云领域的工程研发贡献颇多。目前担任Impetus 的大数据实验室的执行总监。他的研发团队在专利、论文、受邀的会议发言以及下一代产品创新方面都处于领导地位。他主要研究的领域包括大数据管理、批处理及实时分析,以及大数据的机器学习算法的实现范式。最近8 年来,他一直是计算机协会(ACM)以及电气和电子工程师协会(IEEE)的专家成员,并于2012年12 月被推选为IEEE 的资深成员。他在美国、欧洲以及印度的专利局都申请过专利(并持有美国的两项专利)。他在前沿的期刊及会议,包括IEEE transaction 上都发表过论文。他还是国内外多个会议的特邀发言人,譬如O’Reilly 的Strata 大数据系列会议。最近一次公开发表论文是在Liebertpub 的大数据期刊上。他与妻子及儿女一起居住在班加罗尔,对印度、埃及、巴比伦以及希腊古代的文化与哲学的研究非常感兴趣
资源目录:
前言
致谢
关于作者
1 引言:为什么要超越 Hadoop Map-Reduce 1
Hadoop的适用范围 3
大数据分析之机器学习实现的革命 10
第一代机器学习工具 /范式 11
第二代机器学习工具 /范式 11
第三代机器学习工具 /范式 14
小结 18
参考文献 19
2 何为伯克利数据分析栈(BDAS) 23
实现 BDAS的动机 24
Spark:动机 25
Shark:动机 26
Mesos:动机 28
BDAS的设计及架构 29
Spark:高效的集群数据处理的范式 34
Spark的弹性分布式数据集 36
Spark的实现 40
Spark VS. 分布式共享内存系统 42
RDD的表达性 44
类似 Spark的系统 45
Shark:分布式系统上的 SQL接口 46
Spark为 Shark提供的扩展 47
列内存存储 49
分布式数据加载 50
完全分区智能连接 50
分区修剪 50
机器学习的支持 51
Mesos:集群调度及管理系统 51
Mesos组件 52
资源分配 54
隔离 55
容错性 57
小结 58
参考文献 59
3 使用 Spark实现机器学习算法 66
机器学习基础知识 66
机器学习:随机森林示例 68
逻辑回归:概述 72
二元形式的逻辑回归 73
逻辑回归估计 75
多元逻辑回归 76
Spark中的逻辑回归算法 77
支持向量机 80
复杂决策面 81
支持向量机背后的数学原理 82
Spark中的支持向量机 84
Spark对 PMML的支持 85
PMML结构 87
PMML的生产者及消费者 92
Spark对朴素贝叶斯的 PMML支持 94
Spark对线性回归的 PMML支持 95
在 Spark中使用 MLbase进行机器学习 97
参考文献 99
4 实现实时的机器学习算法 101
Storm简介 101
数据流 103
拓扑 104
Storm集群 105
简单的实时计算例子 106
数据流组 108
Storm的消息处理担保 109
基于 Storm的设计模式 111
分布式远程过程调用 111
Trident:基于 Storm的实时聚合 115
实现基于 Storm的逻辑回归算法 116
实现基于 Storm的支持向量机算法 120
Storm对朴素贝叶斯 PMML的支持 122
实时分析的应用 126
工业日志分类 126
互联网流量过滤器 130
Storm的替代品 131
Spark流 133
D-Streams的动机 133
参考文献 135
5 图处理范式 138
Pregel:基于 BSP的图处理框架 139
类似的做法 141
开源的 Pregel实现 143
Giraph 143
GoldenORB 145
Phoebus 145
Apache Hama 146
Stanford GPS 146
GraphLab 147
GraphLab:多核版本 148
分布式的 GraphLab 150
PowerGraph 152
通过 GraphLab实现网页排名算法 156
顶点程序 158
基于 GraphLab实现随机梯度下降算法 163
参考文献 167
6 结论:超越Hadoop Map-Reduce的大数据分析 171
Hadoop YARN概览 172
Hadoop YARN的动机 172
作为资源调度器的 YARN 174
YARN上的其他框架 175
大数据分析的未来是怎样的 177
参考文献 180
附录A 代码笔记 182
截图: