本書介紹了很多基本設(shè)計模式、優(yōu)化技術(shù)和數(shù)據(jù)挖掘及機器學(xué)習(xí)解決方案,以解決生物信息學(xué)、基因組學(xué)、統(tǒng)計和社交網(wǎng)絡(luò)分析等領(lǐng)域的很多問題。這本書還概要介紹了MapReduce、Hadoop和Spark。
本書主要內(nèi)容包括:
完成超大量交易的購物籃分析。
數(shù)據(jù)挖掘算法(K-均值、KNN和樸素貝葉斯)。
使用超大基因組數(shù)據(jù)完成DNA和RNA測序。
樸素貝葉斯定理和馬爾可夫鏈實現(xiàn)數(shù)據(jù)和市場預(yù)測。
推薦算法和成對文檔相似性。
線性回歸、Cox回歸和皮爾遜(Pearson)相關(guān)分析。
等位基因頻率和DNA挖掘。
社交網(wǎng)絡(luò)分析(推薦系統(tǒng)、三角形計數(shù)和情感分析)。
如果你準備深入研究MapReduce框架來處理大數(shù)據(jù)集,本書非常實用,通過提供豐富的算法和工具,它會循序漸進地帶你探索MapReduce世界,用Apache Hadoop或Apache Spark構(gòu)建分布式MapReduce應(yīng)用時通常都需要用到這些算法和工具。每一章分別提供一個實例來解決一個大規(guī)模計算問題,如構(gòu)建推薦系統(tǒng)。你會了解如何用代碼實現(xiàn)適當?shù)腗apReduce解決方案,而且可以在你的項目中具體應(yīng)用這些解決方案。這
Mahmoud Parsian,計算機科學(xué)博士,是一位熱衷于實踐的軟件專家,作為開發(fā)人員、設(shè)計人員、架構(gòu)師和作者,他有30多年的軟件開發(fā)經(jīng)驗。目前領(lǐng)導(dǎo)著Illumina的大數(shù)據(jù)團隊,在過去15年間,他主要從事Java (服務(wù)器端)、數(shù)據(jù)庫、MapReduce和分布式計算的有關(guān)工作。Mahmoud還著有《JDBC Recipes》和《JDBC Metadata, MySQL,and Oracle Recipes》等書(均由Apress出版)。
序 1
前言 3
第1章二次排序:簡介 19
二次排序問題解決方案 21
MapReduce/Hadoop的二次排序解決方案 25
Spark的二次排序解決方案 29
第2章二次排序:詳細示例 42
二次排序技術(shù) 43
二次排序的完整示例 46
運行示例——老版本Hadoop API 50
運行示例——新版本Hadoop API 52
第3章 Top 10 列表 54
Top N 設(shè)計模式的形式化描述 55
MapReduce/Hadoop實現(xiàn):鍵 56
Spark實現(xiàn):鍵 62
Spark實現(xiàn):非鍵 73
使用takeOrdered()的Spark Top 10 解決方案 84
MapReduce/Hadoop Top 10 解決方案:非鍵 91
第4章左外連接 96
左外連接示例 96
MapReduce左外連接實現(xiàn) 99
Spark左外連接實現(xiàn) 105
使用leftOuterJoin()的Spark實現(xiàn) 117
第5章反轉(zhuǎn)排序 127
反轉(zhuǎn)排序模式示例 128
反轉(zhuǎn)排序模式的MapReduce/Hadoop實現(xiàn) 129
運行示例 134
第6章移動平均 137
示例1:時間序列數(shù)據(jù)(股票價格) 137
示例2:時間序列數(shù)據(jù)(URL訪問數(shù)) 138
形式定義 139
POJO移動平均解決方案 140
MapReduce/Hadoop移動平均解決方案 143
第7章購物籃分析 155
MBA目標 155
MBA的應(yīng)用領(lǐng)域 157
使用MapReduce的購物籃分析 157
Spark解決方案 166
運行Spark實現(xiàn)的YARN 腳本 179
第8章共同好友 182
輸入 183
POJO共同好友解決方案 183
MapReduce算法 184
解決方案1: 使用文本的Hadoop實現(xiàn) 187
解決方案2: 使用ArrayListOfLongsWritable 的Hadoop實現(xiàn) 189
Spark解決方案 191
第9章使用MapReduce實現(xiàn)推薦引擎 201
購買過該商品的顧客還購買了哪些商品 202
經(jīng)常一起購買的商品 206
推薦連接 210
第10章基于內(nèi)容的電影推薦 225
輸入 226
MapReduce階段1 226
MapReduce階段2和階段3 227
Spark電影推薦實現(xiàn) 234
第11章使用馬爾可夫模型的智能郵件營銷 .253
馬爾可夫鏈基本原理 254
使用MapReduce的馬爾可夫模型 256
Spark解決方案 269
第12章 K-均值聚類 282
什么是K-均值聚類? 285
聚類的應(yīng)用領(lǐng)域 285
K-均值聚類方法非形式化描述:分區(qū)方法 286
K-均值距離函數(shù) 286
K-均值聚類形式化描述 287
K-均值聚類的MapReduce解決方案 288
K-均值算法Spark實現(xiàn) 292
第13章 k-近鄰 296
kNN分類 297
距離函數(shù) 297
kNN示例 298
kNN算法非形式化描述 299
kNN算法形式化描述 299
kNN的類Java非MapReduce 解決方案 299
Spark的kNN算法實現(xiàn) 301
第14章樸素貝葉斯 315
訓(xùn)練和學(xué)習(xí)示例 316
條件概率 319
深入分析樸素貝葉斯分類器 319
樸素貝葉斯分類器:符號數(shù)據(jù)的MapReduce解決方案 322
樸素貝葉斯分類器Spark實現(xiàn) 332
使用Spark和Mahout 347
第15章情感分析 349
情感示例 350
情感分數(shù):正面或負面 350
一個簡單的MapReduce情感分析示例 351
真實世界的情感分析 353
第16章查找、統(tǒng)計和列出大圖中的所有三角形 354
基本的圖概念 355
三角形計數(shù)的重要性 356
MapReduce/Hadoop解決方案 357
Spark解決方案 364
第17章 K-mer計數(shù) 375
K-mer計數(shù)的輸入數(shù)據(jù) 376
K-mer計數(shù)應(yīng)用 376
K-mer計數(shù)MapReduce/Hadoop解決方案 377
K-mer計數(shù)Spark解決方案 378
第18章 DNA測序 390
DNA測序的輸入數(shù)據(jù) 392
輸入數(shù)據(jù)驗證 393
DNA序列比對 393
DNA測試的MapReduce算法 394
第19章 Cox回歸 413
Cox模型剖析 414
使用R的Cox回歸 415
Cox回歸應(yīng)用 416
Cox回歸 POJO解決方案 417
MapReduce輸入 418
使用MapReduce的Cox回歸 419
第20章 Cochran-Armitage趨勢檢驗 426
Cochran-Armitage算法 427
Cochran-Armitage應(yīng)用 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實現(xiàn) 476
第23章皮爾遜相關(guān)系數(shù) 488
皮爾遜相關(guān)系數(shù)公式 489
皮爾遜相關(guān)系數(shù)示例 491
皮爾遜相關(guān)系數(shù)數(shù)據(jù)集 492
皮爾遜相關(guān)系數(shù)POJO 解決方案 492
皮爾遜相關(guān)系數(shù)MapReduce解決方案 493
皮爾遜相關(guān)系數(shù)的Spark 解決方案 496
運行Spark程序的YARN 腳本 516
使用Spark計算斯皮爾曼相關(guān)系數(shù) 517
第24章 DNA堿基計數(shù) 520
FASTA 格式 521
FASTQ 格式 522
MapReduce解決方案:FASTA 格式 522
運行示例 524
MapReduce解決方案: FASTQ 格式 528
Spark 解決方案: FASTA 格式 533
Spark解決方案: FASTQ 格式 537
第25章 RNA測序 543
數(shù)據(jù)大小和格式 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
輸入數(shù)據(jù) 589
期望輸出 590
使用SimpleRegression的MapReduce解決方案 590
Hadoop實現(xiàn)類 593
使用R線性模型的MapReduce解決方案 593
第28章 MapReduce和幺半群 600
概述 600
幺半群的定義 602
幺半群和非幺半群示例 603
MapReduce示例:非幺半群 606
MapReduce示例:幺半群 608
使用幺半群的Spark示例 612
使用幺半群的結(jié)論 618
函子和幺半群 619
第29章小文件問題 622
解決方案1:在客戶端合并小文件 623
解決方案2:用CombineFileInputFormat解決小文件問題 629
其他解決方案 634
第30章 MapReduce的大容量緩存 635
實現(xiàn)方案 636
緩存問題形式化描述 637
一個精巧、可伸縮的解決方案 637
實現(xiàn)LRUMap緩存 640
使用LRUMap的MapReduce解決方案 646
第31章 Bloom過濾器 651Bloom
過濾器性質(zhì) 651
一個簡單的Bloom過濾器示例 653
不錯,都是經(jīng)典
挺好的,算法這了好多,夠用了
Hadoop這本書,做工一般,有毛邊。收到的時候邊角有點磨損,書的背面中等程度的褶皺。希望在包裝上多下點功夫。
還差五個字?。。?!
物流太爛太懶送到豐巢
書應(yīng)該是正版的,印刷很清晰。就是里面講的東西便難,適合那些研究生以上學(xué)歷的,數(shù)學(xué)專業(yè)的才能看懂。里邊講到許多算法,應(yīng)該挺有用的,就是一般人看不懂。還有就是里邊的案例不是用最新的scala寫的,采用的還是java,這個有點不爽,畢竟Scala更加簡潔。建議搞大數(shù)據(jù)3年以上的再去看這本書,里邊的算法還是值得一看的
正版圖書,非常滿意,全5分好評。
當當?shù)臅娴暮軆?yōu)惠,對比三大電商,當當花花腸子最少,最受不了某東了,雷聲大雨滴小,還是當當好啊,絕對的五星好評!
發(fā)貨迅速,性價比超高。
夠厚,不知道什么時候能看懂。
66666666666
書很好??!
發(fā)貨快,服務(wù)好,正品 好好好好好好好好
是好書沒問題
明顯被人用過,書角都被砸壞了,書封面還有污漬
先學(xué)習(xí)著。
當當網(wǎng)越來越刷新我的底線,原以為當當自營的書都是正版的,可憐天真的我錯了
書挺厚的,講的挺抽象,不適合初學(xué)。
實用性比較大,有現(xiàn)成的實例,專業(yè)性較強!
封皮及前面部分破損
感覺一般般,簡單一說,看了一點都是spark里面自帶的代碼,實用性不怎么樣,版本低,還是java代碼
書質(zhì)量不錯,內(nèi)容也很好
書的內(nèi)容還沒看,發(fā)貨過來沒有皮包裹,書的邊角有破損,心塞
書很厚,內(nèi)容卻很空泛。代碼沒有上下文。三句不離本行,老是說到基因測序上去。
實用性比較大,有現(xiàn)成的實例,專業(yè)性較強,比較實用!
有各大數(shù)據(jù)算法的具體實踐,但是是屬于純算法的那種,需要一點spark大數(shù)據(jù)經(jīng)驗,新手慎入
買了兩本,一本明擺著就是別人退回來再發(fā)給我的,連包裝都沒有的,就連防偽圖層都是刮掉的,真的是醉了,感覺當當?shù)臅絹碓接袉栴}了
稍微翻了下,感覺并不是講原理的,比如說kmeans的分布式實現(xiàn)的理論是啥,這本書好像沒有解釋清楚,而是直接用了spark提供的函數(shù)。具體怎么樣,還沒有細看,待補充評論,目前感覺不值這個價。
數(shù)據(jù)算法,主要針對大數(shù)據(jù)處理方面,比較難啃,畢竟需要一定的數(shù)學(xué)和計算機基礎(chǔ),但是里面都帶有詳細的算法示例,依照坐下來應(yīng)該不難,很是很推薦這本書的,畢竟也是o'reilly出版的數(shù)據(jù),不多說了,兩個字,推薦。。。。。
好,剛好需要,就買了。雖然由于國外內(nèi)容翻譯過來有些滯后,但是做基本算法了解還是不不錯的教材。