内容简介
序
前言
第1章 二次排序:简介
二次排序问题解决方案
MapReduce/Hadoop的二次排序解决方案
Spark的二次排序解决方案
第2章 二次排序:详细示例
二次排序技术
二次排序的完整示例
运行示例——老版本Hadoop API
运行示例——新版本Hadoop API
第3章 Top10列表
TopN设计模式的形式化描述
MapReduce/Hadoop实现:唯一键
Spark实现:唯一键
Spark实现:非唯一键
使用takeOrdered()的Spark Top10解决方案
MapReduce/Hadoop Top10解决方案:非唯一键
第4章 左外连接
左外连接示例
MapReduce左外连接实现
Spark左外连接实现
使用leftOuterJoin()的Spark实现
第5章 反转排序
反转排序模式示例
反转排序模式的MapReduce/Hadoop实现
运行示例
第6章 移动平均
示例1:时间序列数据(股票价格)
示例2:时间序列数据(URL访问数)
形式定义
POJO移动平均解决方案
MapReduce/Hadoop移动平均解决方案
第7章 购物篮分析
MBA目标
MBA的应用领域
使用MapReduce的购物篮分析
Spark解决方案
运行Spark实现的YARN脚本
第8章 共同好友
输入
POJO共同好友解决方案
MapReduce算法
解决方案1:使用文本的Hadoop实现
解决方案2:使用ArrayListOfLongsWritable的Hadoop实现
Spark解决方案
第9章 使用MapReduce实现推荐引擎
购买过该商品的顾客还购买了哪些商品
经常一起购买的商品
推荐连接
第10章 基于内容的电影推荐
输入
MapReduce阶段1
MapReduce阶段2和阶段3
Spark电影推荐实现
第11章 使用马尔可夫模型的智能邮件营销
马尔可夫链基本原理
使用MapReduce的马尔可夫模型
Spark解决方案
第12章 K-均值聚类
什么是K-均值聚类?
聚类的应用领域
K-均值聚类方法非形式化描述:分区方法
K-均值距离函数
K-均值聚类形式化描述
K-均值聚类的MapReduce解决方案
K-均值算法Spark实现
第13章 k-近邻
kNN分类
距离函数
kNN示例
kNN算法非形式化描述
kNN算法形式化描述
kNN的类Java非MapReduce解决方案
Spark的kNN算法实现
第14章 朴素贝叶斯
训练和学习示例
条件概率
深入分析朴素贝叶斯分类器
朴素贝叶斯分类器:符号数据的MapReduce解决方案
朴素贝叶斯分类器Spark实现
使用Spark和Mahout
第15章 情感分析
情感示例
情感分数:正面或负面
一个简单的MapReduce情感分析示例
真实世界的情感分析
第16章 查找、统计和列出大图中的所有三角形
基本的图概念
三角形计数的重要性
MapReduce/Hadoop解决方案
Spark解决方案
第17章 K-mer计数
K-mer计数的输入数据
K-mer计数应用
K-mer计数MapReduce/Hadoop解决方案
K-mer计数Spark解决方案
第18章 DNA测序
DNA测序的输入数据
输入数据验证
DNA序列比对
DNA测试的MapReduce算法
第19章 Cox回归
Cox模型剖析
使用R的Cox回归
Cox回归应用
Cox回归POJO解决方案
MapReduce输入
使用MapReduce的Cox回归
第20章 Cochran-Armitage趋势检验
Cochran-Armitage算法
Cochran-Armitage应用
MapReduce解决方案
第21章 等位基因频率
基本定义
形式化问题描述
等位基因频率分析的MapReduce解决方案
MapReduce解决方案,阶段1
MapReduce解决方案,阶段2
MapReduce解决方案,阶段3
染色体X和Y的特殊处理
第22章 T检验
对bioset完成T检验
MapReduce问题描述
输入
期望输出
MapReduce解决方案
Spark实现
第23章 皮尔逊相关系数
皮尔逊相关系数公式
皮尔逊相关系数示例
皮尔逊相关系数数据集
皮尔逊相关系数POJO解决方案
皮尔逊相关系数MapReduce解决方案
皮尔逊相关系数的Spark解决方案
运行Spark程序的YARN脚本
使用Spark计算斯皮尔曼相关系数
第24章 DNA碱基计数
FASTA格式
FASTQ格式
MapReduce解决方案:FASTA格式
运行示例
MapReduce解决方案:FASTQ格式
Spark解决方案:FASTA格式
Spark解决方案:FASTQ格式
第25章 RNA测序
数据大小和格式
MapReduce工作流
RNA测序分析概述
RNA测序MapReduce算法
第26章 基因聚合
输入
输出
MapReduce解决方案(按单个值过滤和按平均值过滤)
基因聚合的Spark解决方案
Spark解决方案:按单个值过滤
Spark解决方案:按平均值过滤
第27章 线性回归
基本定义
简单示例
问题描述
输入数据
期望输出
使用SimpleRegression的MapReduce解决方案
Hadoop实现类
使用R线性模型的MapReduce解决方案
第28章 MapReduce和幺半群
概述
幺半群的定义
幺半群和非幺半群示例
MapReduce示例:非幺半群
MapReduce示例:幺半群
使用幺半群的Spark示例
使用幺半群的结论
函子和幺半群
第29章 小文件问题
解决方案1:在客户端合并小文件
解决方案2:用CombineFileInputFormat解决小文件问题
其他解决方案
第30章 MapReduce的大容量缓存
实现方案
缓存问题形式化描述
一个精巧、可伸缩的解决方案
实现LRUMap缓存
使用LRUMap的MapReduce解决方案
第31章 Bloom过滤器
Bloom过滤器性质
一个简单的Bloom过滤器示例
Guava库中的Bloom过滤器
MapReduce中使用Bloom过滤器
附录A Bioset
附录B Spark RDD
参考书目