本书介绍了很多基本设计模式、优化技术和数据挖掘及机器学习解决方案,以解决生物信息学、基因组学、统计和社交网络分析等领域的很多问题。这本书还概要介绍了MapReduce、Hadoop和Spark。
本书主要内容包括:
完成超大量交易的购物篮分析。
数据挖掘算法(K-均值、KNN和朴素贝叶斯)。
使用超大基因组数据完成DNA和RNA测序。
朴素贝叶斯定理和马尔可夫链实现数据和市场预测。
推荐算法和成对文档相似性。
线性回归、Cox回归和皮尔逊(Pearson)相关分析。
等位基因频率和DNA挖掘。
社交网络分析(推荐系统、三角形计数和情感分析)。
如果你准备深入研究MapReduce框架来处理大数据集,本书非常实用,通过提供丰富的算法和工具,它会循序渐进地带你探索MapReduce世界,用Apache Hadoop或Apache Spark构建分布式MapReduce应用时通常都需要用到这些算法和工具。每一章分别提供一个实例来解决一个大规模计算问题,如构建推荐系统。你会了解如何用代码实现适当的MapReduce解决方案,而且可以在你的项目中具体应用这些解决方案。这
Mahmoud Parsian,计算机科学博士,是一位热衷于实践的软件专家,作为开发人员、设计人员、架构师和作者,他有30多年的软件开发经验。目前领导着Illumina的大数据团队,在过去15年间,他主要从事Java (服务器端)、数据库、MapReduce和分布式计算的有关工作。Mahmoud还著有《JDBC Recipes》和《JDBC Metadata, MySQL,and Oracle Recipes》等书(均由Apress出版)。
序 1
前言 3
第1章二次排序:简介 19
二次排序问题解决方案 21
MapReduce/Hadoop的二次排序解决方案 25
Spark的二次排序解决方案 29
第2章二次排序:详细示例 42
二次排序技术 43
二次排序的完整示例 46
运行示例——老版本Hadoop API 50
运行示例——新版本Hadoop API 52
第3章 Top 10 列表 54
Top N 设计模式的形式化描述 55
MapReduce/Hadoop实现:键 56
Spark实现:键 62
Spark实现:非键 73
使用takeOrdered()的Spark Top 10 解决方案 84
MapReduce/Hadoop Top 10 解决方案:非键 91
第4章左外连接 96
左外连接示例 96
MapReduce左外连接实现 99
Spark左外连接实现 105
使用leftOuterJoin()的Spark实现 117
第5章反转排序 127
反转排序模式示例 128
反转排序模式的MapReduce/Hadoop实现 129
运行示例 134
第6章移动平均 137
示例1:时间序列数据(股票价格) 137
示例2:时间序列数据(URL访问数) 138
形式定义 139
POJO移动平均解决方案 140
MapReduce/Hadoop移动平均解决方案 143
第7章购物篮分析 155
MBA目标 155
MBA的应用领域 157
使用MapReduce的购物篮分析 157
Spark解决方案 166
运行Spark实现的YARN 脚本 179
第8章共同好友 182
输入 183
POJO共同好友解决方案 183
MapReduce算法 184
解决方案1: 使用文本的Hadoop实现 187
解决方案2: 使用ArrayListOfLongsWritable 的Hadoop实现 189
Spark解决方案 191
第9章使用MapReduce实现推荐引擎 201
购买过该商品的顾客还购买了哪些商品 202
经常一起购买的商品 206
推荐连接 210
第10章基于内容的电影推荐 225
输入 226
MapReduce阶段1 226
MapReduce阶段2和阶段3 227
Spark电影推荐实现 234
第11章使用马尔可夫模型的智能邮件营销 .253
马尔可夫链基本原理 254
使用MapReduce的马尔可夫模型 256
Spark解决方案 269
第12章 K-均值聚类 282
什么是K-均值聚类? 285
聚类的应用领域 285
K-均值聚类方法非形式化描述:分区方法 286
K-均值距离函数 286
K-均值聚类形式化描述 287
K-均值聚类的MapReduce解决方案 288
K-均值算法Spark实现 292
第13章 k-近邻 296
kNN分类 297
距离函数 297
kNN示例 298
kNN算法非形式化描述 299
kNN算法形式化描述 299
kNN的类Java非MapReduce 解决方案 299
Spark的kNN算法实现 301
第14章朴素贝叶斯 315
训练和学习示例 316
条件概率 319
深入分析朴素贝叶斯分类器 319
朴素贝叶斯分类器:符号数据的MapReduce解决方案 322
朴素贝叶斯分类器Spark实现 332
使用Spark和Mahout 347
第15章情感分析 349
情感示例 350
情感分数:正面或负面 350
一个简单的MapReduce情感分析示例 351
真实世界的情感分析 353
第16章查找、统计和列出大图中的所有三角形 354
基本的图概念 355
三角形计数的重要性 356
MapReduce/Hadoop解决方案 357
Spark解决方案 364
第17章 K-mer计数 375
K-mer计数的输入数据 376
K-mer计数应用 376
K-mer计数MapReduce/Hadoop解决方案 377
K-mer计数Spark解决方案 378
第18章 DNA测序 390
DNA测序的输入数据 392
输入数据验证 393
DNA序列比对 393
DNA测试的MapReduce算法 394
第19章 Cox回归 413
Cox模型剖析 414
使用R的Cox回归 415
Cox回归应用 416
Cox回归 POJO解决方案 417
MapReduce输入 418
使用MapReduce的Cox回归 419
第20章 Cochran-Armitage趋势检验 426
Cochran-Armitage算法 427
Cochran-Armitage应用 432
MapReduce解决方案 435
第21章等位基因频率 443
基本定义 444
形式化问题描述 448
等位基因频率分析的MapReduce解决方案 449
MapReduce解决方案, 阶段1 449
MapReduce解决方案,阶段2 459
MapReduce解决方案, 阶段3 463
染色体X 和Y的特殊处理 466
第22章 T检验 468
对bioset完成T检验 469
MapReduce问题描述 472
输入 472
期望输出 473
MapReduce解决方案 473
Spark实现 476
第23章皮尔逊相关系数 488
皮尔逊相关系数公式 489
皮尔逊相关系数示例 491
皮尔逊相关系数数据集 492
皮尔逊相关系数POJO 解决方案 492
皮尔逊相关系数MapReduce解决方案 493
皮尔逊相关系数的Spark 解决方案 496
运行Spark程序的YARN 脚本 516
使用Spark计算斯皮尔曼相关系数 517
第24章 DNA碱基计数 520
FASTA 格式 521
FASTQ 格式 522
MapReduce解决方案:FASTA 格式 522
运行示例 524
MapReduce解决方案: FASTQ 格式 528
Spark 解决方案: FASTA 格式 533
Spark解决方案: FASTQ 格式 537
第25章 RNA测序 543
数据大小和格式 543
MapReduce工作流 544
RNA测序分析概述 544
RNA测序MapReduce算法 548
第26章基因聚合 553
输入 554
输出 554
MapReduce解决方案(按单个值过滤和按平均值过滤) 555
基因聚合的Spark解决方案 567
Spark解决方案:按单个值过滤 567
Spark解决方案:按平均值过滤 576
第27章线性回归 586
基本定义 587
简单示例 587
问题描述 588
输入数据 589
期望输出 590
使用SimpleRegression的MapReduce解决方案 590
Hadoop实现类 593
使用R线性模型的MapReduce解决方案 593
第28章 MapReduce和幺半群 600
概述 600
幺半群的定义 602
幺半群和非幺半群示例 603
MapReduce示例:非幺半群 606
MapReduce示例:幺半群 608
使用幺半群的Spark示例 612
使用幺半群的结论 618
函子和幺半群 619
第29章小文件问题 622
解决方案1:在客户端合并小文件 623
解决方案2:用CombineFileInputFormat解决小文件问题 629
其他解决方案 634
第30章 MapReduce的大容量缓存 635
实现方案 636
缓存问题形式化描述 637
一个精巧、可伸缩的解决方案 637
实现LRUMap缓存 640
使用LRUMap的MapReduce解决方案 646
第31章 Bloom过滤器 651Bloom
过滤器性质 651
一个简单的Bloom过滤器示例 653
不错,都是经典
挺好的,算法这了好多,够用了
Hadoop这本书,做工一般,有毛边。收到的时候边角有点磨损,书的背面中等程度的褶皱。希望在包装上多下点功夫。
还差五个字!!!!
物流太烂太懒送到丰巢
书应该是正版的,印刷很清晰。就是里面讲的东西便难,适合那些研究生以上学历的,数学专业的才能看懂。里边讲到许多算法,应该挺有用的,就是一般人看不懂。还有就是里边的案例不是用最新的scala写的,采用的还是java,这个有点不爽,毕竟Scala更加简洁。建议搞大数据3年以上的再去看这本书,里边的算法还是值得一看的
正版图书,非常满意,全5分好评。
当当的书真的很优惠,对比三大电商,当当花花肠子最少,最受不了某东了,雷声大雨滴小,还是当当好啊,绝对的五星好评!
发货迅速,性价比超高。
够厚,不知道什么时候能看懂。
66666666666
书很好!!
发货快,服务好,正品 好好好好好好好好
是好书没问题
明显被人用过,书角都被砸坏了,书封面还有污渍
先学习着。
当当网越来越刷新我的底线,原以为当当自营的书都是正版的,可怜天真的我错了
书挺厚的,讲的挺抽象,不适合初学。
实用性比较大,有现成的实例,专业性较强!
封皮及前面部分破损
感觉一般般,简单一说,看了一点都是spark里面自带的代码,实用性不怎么样,版本低,还是java代码
书质量不错,内容也很好
书的内容还没看,发货过来没有皮包裹,书的边角有破损,心塞
书很厚,内容却很空泛。代码没有上下文。三句不离本行,老是说到基因测序上去。
实用性比较大,有现成的实例,专业性较强,比较实用!
有各大数据算法的具体实践,但是是属于纯算法的那种,需要一点spark大数据经验,新手慎入
买了两本,一本明摆着就是别人退回来再发给我的,连包装都没有的,就连防伪图层都是刮掉的,真的是醉了,感觉当当的书越来越有问题了
稍微翻了下,感觉并不是讲原理的,比如说kmeans的分布式实现的理论是啥,这本书好像没有解释清楚,而是直接用了spark提供的函数。具体怎么样,还没有细看,待补充评论,目前感觉不值这个价。
数据算法,主要针对大数据处理方面,比较难啃,毕竟需要一定的数学和计算机基础,但是里面都带有详细的算法示例,依照坐下来应该不难,很是很推荐这本书的,毕竟也是o'reilly出版的数据,不多说了,两个字,推荐。。。。。
好,刚好需要,就买了。虽然由于国外内容翻译过来有些滞后,但是做基本算法了解还是不不错的教材。