關(guān)于我們
書單推薦
新書推薦
|
深入理解大數(shù)據(jù):大數(shù)據(jù)處理與編程實踐
《深入理解大數(shù)據(jù):大數(shù)據(jù)處理與編程實踐》從HadoopMapReduce并行計算技術(shù)與系統(tǒng)的基本原理剖析著手,在系統(tǒng)介紹基本工作原理、編程模型、編程框架和接口的基礎(chǔ)上,著重系統(tǒng)化地介紹MapReduce并行算法設(shè)計與編程技術(shù),較為全面地介紹了基本MapReduce算法設(shè)計、高級MapReduce編程技術(shù)、以及一系列較為復(fù)雜的機器學(xué)習(xí)和數(shù)據(jù)挖掘并行化算法,并引入來自IntelHadoop系統(tǒng)產(chǎn)品的一系列增強功能以及深度技術(shù)剖析;最后,為了提高讀者的算法設(shè)計與編程實戰(zhàn)能力,本書較為詳細(xì)地介紹了一系列綜合性和實戰(zhàn)性大數(shù)據(jù)處理和算法設(shè)計問題,這些問題來自課程同學(xué)參加的全國性大數(shù)據(jù)大賽中的獲獎算法、課程中的優(yōu)秀課程設(shè)計、以及來自本團(tuán)隊的科研課題及業(yè)界實際的大數(shù)據(jù)應(yīng)用實戰(zhàn)案例。
第一部分 Hadoop系統(tǒng)
第1章 大數(shù)據(jù)處理技術(shù)簡介
1.1 并行計算技術(shù)簡介
1.1.1 并行計算的基本概念
1.1.2 并行計算技術(shù)的分類
1.1.3 并行計算的主要技術(shù)問題
1.2 大數(shù)據(jù)處理技術(shù)簡介
1.2.1 大數(shù)據(jù)的發(fā)展背景和研究意義
1.2.2 大數(shù)據(jù)的技術(shù)特點
1.2.3 大數(shù)據(jù)研究的主要目標(biāo)、基本原則和基本途徑
1.2.4 大數(shù)據(jù)計算模式和系統(tǒng)
1.2.5 大數(shù)據(jù)計算模式的發(fā)展趨勢
1.2.6 大數(shù)據(jù)的主要技術(shù)層面和技術(shù)內(nèi)容
1.3 MapReduce并行計算技術(shù)簡介
1.3.1 MapReduce的基本概念和由來
1.3.2 MapReduce的基本設(shè)計思想
1.3.3 MapReduce的主要功能和技術(shù)特征
1.4 Hadoop系統(tǒng)簡介
1.4.1 Hadoop的概述與發(fā)展歷史
1.4.2 Hadoop系統(tǒng)分布式存儲與并行計算構(gòu)架
1.4.3 Hadoop平臺的基本組成與生態(tài)系統(tǒng)
1.4.4 Hadoop的應(yīng)用現(xiàn)狀和發(fā)展趨勢
第2章 Hadoop系統(tǒng)的安裝與操作管理
2.1 Hadoop系統(tǒng)安裝方法簡介
2.2 單機和單機偽分布式Hadoop系統(tǒng)安裝基本步驟
2.2.1 安裝和配置JDK
2.2.2 創(chuàng)建Hadoop用戶
2.2.3 下載安裝Hadoop
2.2.4 配置SSH
2.2.5 配置Hadoop環(huán)境
2.2.6 Hadoop的運行
2.2.7 運行測試程序
2.2.8 查看集群狀態(tài)
2.3 集群分布式Hadoop系統(tǒng)安裝基本步驟
2.3.1 安裝和配置JDK
2.3.2 創(chuàng)建Hadoop用戶
2.3.3 下載安裝Hadoop
2.3.4 配置SSH
2.3.5 配置Hadoop環(huán)境
2.3.6 Hadoop的運行
2.3.7 運行測試程序
2.3.8 查看集群狀態(tài)
2.4 Hadoop& ;MapReduce程序開發(fā)過程
2.5 集群遠(yuǎn)程作業(yè)提交與執(zhí)行
2.5.1 集群遠(yuǎn)程作業(yè)提交和執(zhí)行過程
2.5.2 查看作業(yè)執(zhí)行結(jié)果和集群狀態(tài)
第3章 大數(shù)據(jù)存儲--分布式文件系統(tǒng)HDFS
3.1 HDFS的基本特征與構(gòu)架
3.1.1 HDFS的基本特征
3.1.2 HDFS的基本框架與工作過程
3.2 HDFS可靠性設(shè)計
3.2.1 HDFS數(shù)據(jù)塊多副本存儲設(shè)計
3.2.2 HDFS可靠性的設(shè)計實現(xiàn)
3.3 HDFS文件存儲組織與讀寫
3.3.1 文件數(shù)據(jù)的存儲組織
3.3.2 數(shù)據(jù)的讀寫過程
3.4 HDFS文件系統(tǒng)操作命令
3.4.1 HDFS啟動與關(guān)閉
3.4.2 HDFS文件操作命令格式與注意事項
3.4.3 HDFS文件操作命令
3.4.4 高級操作命令和工具
3.5 HDFS基本編程接口與示例
3.5.1 HDFS編程基礎(chǔ)知識
3.5.2 HDFS基本文件操作API
3.5.3 HDFS基本編程實例
第4章 Hadoop& ;MapReduce并行編程框架
4.1 MapReduce基本編程模型和框架
4.1.1 MapReduce并行編程抽象模型
4.1.2 MapReduce的完整編程模型和框架
4.2 Hadoop& ;MapReduce基本構(gòu)架與工作過程
4.2.1 Hadoop系統(tǒng)構(gòu)架和MapReduce程序執(zhí)行過程
4.2.2 Hadoop& ;MapReduce執(zhí)行框架和作業(yè)執(zhí)行流程
4.2.3 Hadoop& ;MapReduce作業(yè)調(diào)度過程和調(diào)度方法
4.2.4 MapReduce執(zhí)行框架的組件和執(zhí)行流程
4.3 Hadoop& ;MapReduce主要組件與編程接口
4.3.1 數(shù)據(jù)輸入格式InputFormat
4.3.2 輸入數(shù)據(jù)分塊InputSplit
4.3.3 數(shù)據(jù)記錄讀入RecordReader
4.3.4 Mapper類
4.3.5 Combiner
4.3.6 Partitioner
4.3.7 Sort
4.3.8 Reducer類
4.3.9 數(shù)據(jù)輸出格式OutputFormat
4.3.10 數(shù)據(jù)記錄輸出RecordWriter
第5章 分布式數(shù)據(jù)庫HBase
5.1 HBase簡介
5.1.1 為什么需要NoSQL數(shù)據(jù)庫
5.1.2 HBase的作用和功能特點
5.2 HBase的數(shù)據(jù)模型
5.2.1 HBase的基本數(shù)據(jù)模型
5.2.2 HBase的查詢模式
5.2.3 HBase表設(shè)計
5.3 HBase的基本構(gòu)架與數(shù)據(jù)存儲管理方法
5.3.1 HBase在Hadoop生態(tài)中的位置和關(guān)系
5.3.2 HBase的基本組成結(jié)構(gòu)
5.3.3 HBase& ;Region
5.3.4 Region& ;Server
5.3.5 HBase的總體組成結(jié)構(gòu)
5.3.6 HBase的尋址和定位
5.3.7 HBase節(jié)點的上下線管理
5.4 HBase安裝與操作
5.4.1 安裝一個單機版的HBase
5.4.2 HBase& ;Shell操作命令
5.4.3 基于集群的HBase安裝和配置
5.5 HBase的編程接口和編程示例
5.5.1 表創(chuàng)建編程接口與示例
5.5.2 表數(shù)據(jù)更新編程接口與示例
5.5.3 數(shù)據(jù)讀取編程接口與示例
5.5.4 HBase& ;MapReduce支持和編程示例
5.6 HBase的讀寫操作和特性
5.6.1 HBase的數(shù)據(jù)寫入
5.6.2 HBase的數(shù)據(jù)讀取
5.7 其他HBase功能
5.7.1 Coprocessor
5.7.2 批量數(shù)據(jù)導(dǎo)入Bulk& ;Load
第6章 分布式數(shù)據(jù)倉庫Hive
6.1 Hive的作用與結(jié)構(gòu)組成
6.2 Hive的數(shù)據(jù)模型
6.2.1 Hive的數(shù)據(jù)存儲模型
6.2.2 Hive的元數(shù)據(jù)存儲管理
6.2.3 Hive的數(shù)據(jù)類型
6.3 Hive的安裝
6.3.1 下載Hive安裝包
6.3.2 配置環(huán)境變量
6.3.3 創(chuàng)建Hive數(shù)據(jù)文件目錄
6.3.4 修改Hive配置文件
6.4 Hive查詢語言--HiveQL
6.4.1 DDL語句
6.4.2 DML語句
6.4.3 SELECT查詢語句
6.4.4 數(shù)據(jù)表操作語句示例
6.4.5 分區(qū)的使用
6.4.6 桶的使用
6.4.7 子查詢
6.4.8 Hive的優(yōu)化和高級功能
6.5 Hive& ;JDBC編程接口與程序設(shè)計
第7章 Intel& ;Hadoop系統(tǒng)優(yōu)化與功能增強
7.1 Intel& ;Hadoop系統(tǒng)簡介
7.1.1 Intel& ;Hadoop系統(tǒng)的主要優(yōu)化和增強功能
7.1.2 Intel& ;Hadoop的系統(tǒng)構(gòu)成與組件
7.2 Intel& ;Hadoop系統(tǒng)的安裝和管理
7.3 Intel& ;Hadoop& ;HDFS的優(yōu)化和功能擴(kuò)展
7.3.1 HDFS的高可用性
7.3.2 Intel& ;Hadoop系統(tǒng)高可用性配置服務(wù)
7.3.3 Intel& ;Hadoop系統(tǒng)高可用性配置服務(wù)操作
7.3.4 自適應(yīng)數(shù)據(jù)塊副本調(diào)整策略
7.4 Intel& ;Hadoop& ;HBase的功能擴(kuò)展和編程示例
7.4.1 HBase大對象存儲(LOB)
7.4.2 加鹽表
7.4.3 HBase跨數(shù)據(jù)中心大表
7.5 Intel& ;Hadoop& ;Hive的功能擴(kuò)展和編程示例
7.5.1 開源Hive的不足
7.5.2 Intel& ;Hadoop“Hive& ;over& ;HBase”優(yōu)化設(shè)計
7.5.3 Hive& ;over& ;HBase的架構(gòu)
第二部分 MapReduce的編程和算法設(shè)計
第8章 MapReduce基礎(chǔ)算法程序設(shè)計
8.1 WordCount
8.1.1 WordCount算法編程實現(xiàn)
8.2 矩陣乘法
8.2.1 矩陣乘法原理和實現(xiàn)思路
8.2.2 矩陣乘法的MapReduce程序?qū)崿F(xiàn)
8.3 關(guān)系代數(shù)運算
8.3.1 選擇操作
8.3.2 投影操作
8.3.3 交運算
8.3.4 差運算
8.3.5 自然連接
8.4 單詞共現(xiàn)算法
8.4.1 單詞共現(xiàn)算法的基本設(shè)計
8.4.2 單詞共現(xiàn)算法的實現(xiàn)
8.4.3 單詞共現(xiàn)算法實現(xiàn)中的細(xì)節(jié)問題
8.5 文檔倒排索引
8.5.1 簡單的文檔倒排索引
8.5.2 帶詞頻等屬性的文檔倒排索引
8.6 PageRank網(wǎng)頁排名算法
8.6.1 PageRank的簡化模型
8.6.2 PageRank的隨機瀏覽模型
8.6.3 PageRank的MapReduce實現(xiàn)
8.7 專利文獻(xiàn)分析算法
8.7.1 構(gòu)建專利被引用列表
8.7.2 專利被引用次數(shù)統(tǒng)計
8.7.3 專利被引用次數(shù)直方圖統(tǒng)計
8.7.4 按照年份或國家統(tǒng)計專利數(shù)
第9章 MapReduce高級程序設(shè)計技術(shù)
9.1 簡介
9.2 復(fù)合鍵值對的使用
9.2.1 把小的鍵值對合并成大的鍵值對
9.2.2 巧用復(fù)合鍵讓系統(tǒng)完成排序
9.3 用戶定制數(shù)據(jù)類型
9.3.1 Hadoop內(nèi)置的數(shù)據(jù)類型
9.3.2 用戶自定義數(shù)據(jù)類型的實現(xiàn)
9.4 用戶定制數(shù)據(jù)輸入輸出格式
9.4.1 Hadoop內(nèi)置的數(shù)據(jù)輸入格式與RecordReader
9.4.2 用戶定制數(shù)據(jù)輸入格式與RecordReader
9.4.3 Hadoop內(nèi)置的數(shù)據(jù)輸出格式與RecordWriter
9.4.4 用戶定制數(shù)據(jù)輸出格式與RecordWriter
9.4.5 通過定制數(shù)據(jù)輸出格式實現(xiàn)多集合文件輸出
9.5 用戶定制Partitioner和Combiner
9.5.1 用戶定制Partitioner
9.5.2 用戶定制Combiner
9.6 組合式MapReduce計算作業(yè)
9.6.1 迭代MapReduce計算任務(wù)
9.6.2 順序組合式MapReduce作業(yè)的執(zhí)行
9.6.3 具有復(fù)雜依賴關(guān)系的組合式MapReduce作業(yè)的執(zhí)行
9.6.4 MapReduce前處理和后處理步驟的鏈?zhǔn)綀?zhí)行
9.7 多數(shù)據(jù)源的連接
9.7.1 基本問題數(shù)據(jù)示例
9.7.2 用DataJoin類實現(xiàn)Reduce端連接
9.7.3 用全局文件復(fù)制方法實現(xiàn)Map端連接
9.7.4 帶Map端過濾的Reduce端連接
9.7.5 多數(shù)據(jù)源連接解決方法的限制
9.8 全局參數(shù)/數(shù)據(jù)文件的傳遞與使用
9.8.1 全局作業(yè)參數(shù)的傳遞
9.8.2 查詢?nèi)值腗apReduce作業(yè)屬性
9.8.3 全局?jǐn)?shù)據(jù)文件的傳遞
9.9 關(guān)系數(shù)據(jù)庫的連接與訪問
9.9.1 從數(shù)據(jù)庫中輸入數(shù)據(jù)
9.9.2 向數(shù)據(jù)庫中輸出計算結(jié)果
第10章 MapReduce數(shù)據(jù)挖掘基礎(chǔ)算法
10.1 K-Means聚類算法
10.1.1 K-Means聚類算法簡介
10.1.2 基于MapReduce的K-Means算法的設(shè)計實現(xiàn)
10.2 KNN最近鄰分類算法
10.2.1 KNN最近鄰分類算法簡介
10.2.2 基于MapReduce的KNN算法的設(shè)計實現(xiàn)
10.3 樸素貝葉斯分類算法
10.3.1 樸素貝葉斯分類算法簡介
10.3.2 樸素貝葉斯分類并行化算法的設(shè)計
10.3.3 樸素貝葉斯分類并行化算法的實現(xiàn)
10.4 決策樹分類算法
10.4.1 決策樹分類算法簡介
10.4.2 決策樹并行化算法的設(shè)計
10.4.3 決策樹并行化算法的實現(xiàn)
10.5 頻繁項集挖掘算法
10.5.1 頻繁項集挖掘問題描述
10.5.2& ; Apriori頻繁項集挖掘算法簡介
10.5.3 Apriori頻繁項集挖掘并行化算法的設(shè)計
10.5.4 Apriori頻繁項集挖掘并行化算法的實現(xiàn)
10.5.5 基于子集求取的頻繁項集挖掘算法的設(shè)計
10.5.6 基于子集求取的頻繁項集挖掘并行化算法的實現(xiàn)
10.6 隱馬爾科夫模型和最大期望算法
10.6.1 隱馬爾科夫模型的基本描述
10.6.2 隱馬爾科夫模型問題的解決方法
10.6.3 最大期望算法概述
10.6.4 并行化隱馬爾科夫算法設(shè)計
10.6.5 隱馬爾科夫算法的并行化實現(xiàn)
第11章 大數(shù)據(jù)處理算法設(shè)計與應(yīng)用編程案例
11.1 基于MapReduce的搜索引擎算法
11.1.1 搜索引擎工作原理簡介
11.1.2 基于MapReduce的文檔預(yù)處理
11.1.3 基于MapReduce的文檔倒排索引構(gòu)建
11.1.4 建立Web信息查詢服務(wù)
11.2 基于MapReduce的大規(guī)模短文本多分類算法
11.2.1 短文本多分類算法工作原理簡介
11.2.2 并行化分類訓(xùn)練算法設(shè)計實現(xiàn)
11.2.3 并行化分類預(yù)測算法設(shè)計實現(xiàn)
11.3 基于MapReduce的大規(guī)模基因序列比對算法
11.3.1 基因序列比對算法簡介
11.3.2 并行化BLAST算法的設(shè)計與實現(xiàn)
11.4 基于MapReduce的大規(guī)模城市路徑規(guī)劃算法
11.4.1 問題背景和要求
11.4.2 數(shù)據(jù)輸入
11.4.3 程序設(shè)計要求
11.4.4 算法設(shè)計總體框架和處理過程
11.4.5 并行化算法的設(shè)計與實現(xiàn)
11.5 基于MapReduce的大規(guī)模重復(fù)文檔檢測算法
11.5.1 重復(fù)文檔檢測問題描述
11.5.2 重復(fù)文檔檢測方法和算法設(shè)計
11.5.3 重復(fù)文檔檢測并行化算法設(shè)計實現(xiàn)
11.6 基于內(nèi)容的并行化圖像檢索算法與引擎
11.6.1 基于內(nèi)容的圖像檢索問題概述
11.6.2 圖像檢索方法和算法設(shè)計思路
11.6.3 并行化圖像檢索算法實現(xiàn)
11.7 基于MapReduce的大規(guī)模微博傳播分析
11.7.1 微博分析問題背景與并行化處理過程
11.7.2 并行化微博數(shù)據(jù)獲取算法的設(shè)計實現(xiàn)
11.7.3 并行化微博數(shù)據(jù)分析算法的設(shè)計實現(xiàn)
11.8 基于關(guān)聯(lián)規(guī)則挖掘的圖書推薦算法
11.8.1 圖書推薦和關(guān)聯(lián)規(guī)則挖掘簡介
11.8.2 圖書頻繁項集挖掘算法設(shè)計與數(shù)據(jù)獲取
11.8.3 圖書關(guān)聯(lián)規(guī)則挖掘并行化算法實現(xiàn)
11.9 基于Hadoop的城市智能交通綜合應(yīng)用案例
11.9.1 應(yīng)用案例概述
11.9.2 案例一:交通事件檢測
11.9.3 案例二:交通流統(tǒng)計分析功能
11.9.4 案例三:道路旅行時間分析
11.9.5 案例四:HBase實時查詢
11.9.6 案例五:HBase& ;Endpoint快速統(tǒng)計
11.9.7 案例六:利用Hive高速統(tǒng)計
附錄
附錄A OpenMP并行程序設(shè)計簡介
附錄B MPI并行程序設(shè)計簡介
附錄C 英特爾Apache& ;Hadoop*系統(tǒng)安裝手冊
參考文獻(xiàn)
4)從大數(shù)據(jù)處理響應(yīng)性能看,大數(shù)據(jù)處理可分為實時/準(zhǔn)實時與非實時計算,或者是聯(lián)機計算與線下計算。前述的流式計算通常屬于實時計算,此外查詢分析類計算通常也要求具有高響應(yīng)性能,因而也可以歸為實時或準(zhǔn)實時計算。而批處理計算和復(fù)雜數(shù)據(jù)挖掘計算通常屬于非實時或線下計算。
5)從數(shù)據(jù)關(guān)系角度看,大數(shù)據(jù)可分為簡單關(guān)系數(shù)據(jù)(如Web日志)和復(fù)雜關(guān)系數(shù)據(jù)(如社會網(wǎng)絡(luò)等具有復(fù)雜數(shù)據(jù)關(guān)系的網(wǎng)計算)。
6)從迭代計算角度看,現(xiàn)實世界的數(shù)據(jù)處理中有很多計算問題需要大量的迭代計算,諸如一些機器學(xué)習(xí)等復(fù)雜的計算任務(wù)會需要大量的迭代計算,為此需要提供具有高效的迭代計算能力的大數(shù)據(jù)處理和計算方法。
7)從并行計算體系結(jié)構(gòu)特征角度看,由于需要支持大規(guī)模數(shù)據(jù)的存儲和計算,因此目前絕大多數(shù)大數(shù)據(jù)處理都使用基于集群的分布式存儲與并行計算體系結(jié)構(gòu)和硬件平臺。MapReduce是最為成功的分布式存儲和并行計算模式。然而,基于磁盤的數(shù)據(jù)存儲和計算模式使MapReduce難以實現(xiàn)高響應(yīng)性能。為此人們從分布計算體系結(jié)構(gòu)層面上又提出了內(nèi)存計算的概念和技術(shù)方法。
1.2.3大數(shù)據(jù)研究的主要目標(biāo)、基本原則和基本途徑
1.大數(shù)據(jù)研究的主要目標(biāo)
大數(shù)據(jù)研究的主要目標(biāo)是,以有效的信息技術(shù)手段和計算方法,獲取、處理和分析各種應(yīng)用行業(yè)的大數(shù)據(jù),發(fā)現(xiàn)和提取數(shù)據(jù)的深度價值,為行業(yè)提供高附加值的應(yīng)用和服務(wù)。因此,大數(shù)據(jù)研究的核心目標(biāo)是價值發(fā)現(xiàn),而其技術(shù)手段是信息技術(shù)和計算方法,其效益目標(biāo)是為行業(yè)提供高附加值的應(yīng)用和服務(wù)。
2.大數(shù)據(jù)研究的基本特點。
大數(shù)據(jù)研究具有以下幾方面的主要特點:
1)大數(shù)據(jù)處理具有很強的行業(yè)應(yīng)用需求特性,因此大數(shù)據(jù)技術(shù)研究必須緊扣行業(yè)應(yīng)用需求。
2)大數(shù)據(jù)規(guī)模極大,超過任何傳統(tǒng)數(shù)據(jù)庫系統(tǒng)的處理能力。
3)大數(shù)據(jù)處理技術(shù)綜合性強,任何單一層面的計算技術(shù)都難以提供理想的解決方案,需要采用綜合性的軟硬件技術(shù)才能有效處理。
4)大數(shù)據(jù)處理時,大多數(shù)傳統(tǒng)算法都面臨失效,需要重寫。
3.大數(shù)據(jù)研究的基本原則
大數(shù)據(jù)研究的基本原則是:
1)應(yīng)用需求為導(dǎo)向:由于大數(shù)據(jù)問題來自行業(yè)應(yīng)用,因此大數(shù)據(jù)的研究需要以行業(yè)應(yīng)用問題和需求為導(dǎo)向,從行業(yè)實際的應(yīng)用需求和存在的技術(shù)難題入手,研究解決有效的處理技術(shù)和解決方案。
2)領(lǐng)域交叉為橋梁:由于大數(shù)據(jù)技術(shù)有典型的行業(yè)應(yīng)用特征,因此大數(shù)據(jù)技術(shù)研究和應(yīng)用開發(fā)需要由計算技術(shù)人員、數(shù)據(jù)分析師、具備專業(yè)知識的領(lǐng)域?qū)<蚁嗷ヅ浜虾蛥f(xié)同,促進(jìn)應(yīng)用行業(yè)、IT產(chǎn)業(yè)與計算技術(shù)研究機構(gòu)的交叉融合,來提供良好的大數(shù)據(jù)解決方法。
3)技術(shù)綜合為支撐:與傳統(tǒng)的單一層面的計算技術(shù)研究和應(yīng)用不同,大數(shù)據(jù)處理是幾乎整個計算技術(shù)和信息技術(shù)的融合,只有采用技術(shù)交叉融合的方法才能提供較為完善的大數(shù)據(jù)處理方法。
……
你還可能感興趣
我要評論
|