TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
深入理解大數據:大數據處理與程序設計實踐(簡體書)
滿額折

深入理解大數據:大數據處理與程序設計實踐(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

本書從HadoopMapReduce平行計算技術與系統的基本原理剖析著手,在系統介紹基本工作原理、程式設計模型、程式設計框架和介面的基礎上,著重系統化地介紹MapReduce平行算法設計與程式設計技術,較為全面地介紹了基本MapReduce演算法設計、高級MapReduce程式設計技術、以及一系列較為複雜的機器學習和資料採擷並行化演算法,並引入來自IntelHadoop系統產品的一系列增強功能以及深度技術剖析;最後,為了提高讀者的演算法設計與程式設計實戰能力,本書較為詳細地介紹了一系列綜合性和實戰性大資料處理和演算法設計問題,這些問題來自課程同學參加的全國性大資料大賽中的獲獎演算法、課程中的優秀課程設計、以及來自本團隊的科研課題及業界實際的大資料應用實戰案例。

作者簡介

黃宜華博士,南京大學計算機科學與技術系教授、PASA大數據實驗室學術帶頭人。中國計算機學會大數據專家委員會委員、副秘書長,江蘇省計算機學會大數據專家委員會主任。于1983、1986和1997年獲得南京大學計算機專業學士、碩士和博士學位。主要研究方向為大數據并行處理、云計算以及Web信息挖掘等,發表學術研究論文60多篇。2010年在Google公司資助下在本校創建并開設了“MapReduce大數據并行處理技術”課程,成為全國最早開設該課程的院校之一。因在該課程教學和人才培養方面的出色成績獲得2012年Google獎教金。目前正在開展系統化的大數據并行處理技術研究工作,主持國家和省部級科研項目以及與美國Intel公司等業界的合作研究項目多項。
苗凱翔(Kai X. Miao)博士,英特爾數據中心軟件部中國區首席技術官,中國計算機學會大數據專家委員會委員。曾擔任英特爾中國區系統集成部總監、信息技術研究部門亞洲地區總監、英特爾北美地區解決方案首席架構師。于2009榮獲英特爾公司首席工程師職稱。在加入英特爾以前,曾在美國Rutgers與DeVry大學任教。獲得北方交通大學(北京)通信學士學位、美國辛辛那提大學電機工程碩士和博士學位。發表期刊和會議研究論文多篇,并擁有21項美國專利,在各種會議上發表過上百次主題演講,曾參與IETF、ITU 和 MIT CFP等工業標準的制定,并于2006 年擔任IEEE通信雜志的聯合編輯。

名人/編輯推薦

■ 學術界與業界完美結合的結晶,從原理剖析到系統化算法設計與編程實踐 ■ 多年來系統性教學實踐和成果總結,一系列業界產品增強功能深度技術剖析 ■ 一系列大賽獲獎算法、優秀課程設計以及來自科研課題及業界應用的實戰案例

目次

目錄
推薦序一
推薦序二
推薦序三
叢書序言
前言
第一部分Hadoop系統
第1章大數據處理技術簡介
1.1并行計算技術簡介
1.1.1并行計算的基本概念
1.1.2并行計算技術的分類
1.1.3并行計算的主要技術問題
1.2大數據處理技術簡介
1.2.1大數據的發展背景和研究意義
1.2.2大數據的技術特點
目錄
推薦序一
推薦序二
推薦序三
叢書序言
前言
第一部分Hadoop系統
第1章大數據處理技術簡介
1.1并行計算技術簡介
1.1.1并行計算的基本概念
1.1.2并行計算技術的分類
1.1.3并行計算的主要技術問題
1.2大數據處理技術簡介
1.2.1大數據的發展背景和研究意義
1.2.2大數據的技術特點
1.2.3大數據研究的主要目標、基本原則和基本途徑
1.2.4大數據計算模式和系統
1.2.5大數據計算模式的發展趨勢
1.2.6大數據的主要技術層面和技術內容
1.3MapReduce并行計算技術簡介
1.3.1MapReduce的基本概念和由來
1.3.2MapReduce的基本設計思想
1.3.3MapReduce的主要功能和技術特征
1.4Hadoop系統簡介
1.4.1Hadoop的概述與發展歷史
1.4.2Hadoop系統分布式存儲與并行計算構架
1.4.3Hadoop平臺的基本組成與生態系統
1.4.4Hadoop的應用現狀和發展趨勢
第2章Hadoop系統的安裝與操作管理
2.1Hadoop系統安裝方法簡介
2.2單機和單機偽分布式Hadoop系統安裝基本步驟
2.2.1安裝和配置JDK
2.2.2創建Hadoop用戶
2.2.3下載安裝Hadoop
2.2.4配置SSH
2.2.5配置Hadoop環境
2.2.6Hadoop的運行
2.2.7運行測試程序
2.2.8查看集群狀態
2.3集群分布式Hadoop系統安裝基本步驟
2.3.1安裝和配置JDK
2.3.2創建Hadoop用戶
2.3.3下載安裝Hadoop
2.3.4配置SSH
2.3.5配置Hadoop環境
2.3.6Hadoop的運行
2.3.7運行測試程序
2.3.8查看集群狀態
2.4HadoopMapReduce程序開發過程
2.5集群遠程作業提交與執行
2.5.1集群遠程作業提交和執行過程
2.5.2查看作業執行結果和集群狀態
第3章大數據存儲--分布式文件系統HDFS
3.1HDFS的基本特征與構架
3.1.1HDFS的基本特征
3.1.2HDFS的基本框架與工作過程
3.2HDFS可靠性設計
3.2.1HDFS數據塊多副本存儲設計
3.2.2HDFS可靠性的設計實現
3.3HDFS文件存儲組織與讀寫
3.3.1文件數據的存儲組織
3.3.2數據的讀寫過程
3.4HDFS文件系統操作命令
3.4.1HDFS啟動與關閉
3.4.2HDFS文件操作命令格式與注意事項
3.4.3HDFS文件操作命令
3.4.4高級操作命令和工具
3.5HDFS基本編程接口與示例
3.5.1HDFS編程基礎知識
3.5.2HDFS基本文件操作API
3.5.3HDFS基本編程實例
第4章HadoopMapReduce并行編程框架
4.1MapReduce基本編程模型和框架
4.1.1MapReduce并行編程抽象模型
4.1.2MapReduce的完整編程模型和框架
4.2HadoopMapReduce基本構架與工作過程
4.2.1Hadoop系統構架和MapReduce程序執行過程
4.2.2HadoopMapReduce執行框架和作業執行流程
4.2.3HadoopMapReduce作業調度過程和調度方法
4.2.4MapReduce執行框架的組件和執行流程
4.3HadoopMapReduce主要組件與編程接口
4.3.1數據輸入格式InputFormat
4.3.2輸入數據分塊InputSplit
4.3.3數據記錄讀入RecordReader
4.3.4Mapper類
4.3.5Combiner
4.3.6Partitioner
4.3.7Sort
4.3.8Reducer類
4.3.9數據輸出格式OutputFormat
4.3.10數據記錄輸出RecordWriter
第5章分布式數據庫HBase
5.1HBase簡介
5.1.1為什么需要NoSQL數據庫
5.1.2HBase的作用和功能特點
5.2HBase的數據模型
5.2.1HBase的基本數據模型
5.2.2HBase的查詢模式
5.2.3HBase表設計
5.3HBase的基本構架與數據存儲管理方法
5.3.1HBase在Hadoop生態中的位置和關系
5.3.2HBase的基本組成結構
5.3.3HBaseRegion
5.3.4RegionServer
5.3.5HBase的總體組成結構
5.3.6HBase的尋址和定位
5.3.7HBase節點的上下線管理
5.4HBase安裝與操作
5.4.1安裝一個單機版的HBase
5.4.2HBaseShell操作命令
5.4.3基于集群的HBase安裝和配置
5.5HBase的編程接口和編程示例
5.5.1表創建編程接口與示例
5.5.2表數據更新編程接口與示例
5.5.3數據讀取編程接口與示例
5.5.4HBaseMapReduce支持和編程示例
5.6HBase的讀寫操作和特性
5.6.1HBase的數據寫入
5.6.2HBase的數據讀取
5.7其他HBase功能
5.7.1Coprocessor
5.7.2批量數據導入BulkLoad
第6章分布式數據倉庫Hive
6.1Hive的作用與結構組成
6.2Hive的數據模型
6.2.1Hive的數據存儲模型
6.2.2Hive的元數據存儲管理
6.2.3Hive的數據類型
6.3Hive的安裝
6.3.1下載Hive安裝包
6.3.2配置環境變量
6.3.3創建Hive數據文件目錄
6.3.4修改Hive配置文件
6.4Hive查詢語言--HiveQL
6.4.1DDL語句
6.4.2DML語句
6.4.3SELECT查詢語句
6.4.4數據表操作語句示例
6.4.5分區的使用
6.4.6桶的使用
6.4.7子查詢
6.4.8Hive的優化和高級功能
6.5HiveJDBC編程接口與程序設計
第7章IntelHadoop系統優化與功能增強
7.1IntelHadoop系統簡介
7.1.1IntelHadoop系統的主要優化和增強功能
7.1.2IntelHadoop的系統構成與組件
7.2IntelHadoop系統的安裝和管理
7.3IntelHadoopHDFS的優化和功能擴展
7.3.1HDFS的高可用性
7.3.2IntelHadoop系統高可用性配置服務
7.3.3IntelHadoop系統高可用性配置服務操作
7.3.4自適應數據塊副本調整策略
7.4IntelHadoopHBase的功能擴展和編程示例
7.4.1HBase大對象存儲(LOB)
7.4.2加鹽表
7.4.3HBase跨數據中心大表
7.5IntelHadoopHive的功能擴展和編程示例
7.5.1開源Hive的不足
7.5.2IntelHadoop"HiveoverHBase"優化設計
7.5.3HiveoverHBase的架構
第二部分MapReduce的編程和算法設計
第8章MapReduce基礎算法程序設計
8.1WordCount
8.1.1WordCount算法編程實現
8.2矩陣乘法
8.2.1矩陣乘法原理和實現思路
8.2.2矩陣乘法的MapReduce程序實現
8.3關系代數運算
8.3.1選擇操作
8.3.2投影操作
8.3.3交運算
8.3.4差運算
8.3.5自然連接
8.4單詞共現算法
8.4.1單詞共現算法的基本設計
8.4.2單詞共現算法的實現
8.4.3單詞共現算法實現中的細節問題
8.5文檔倒排索引
8.5.1簡單的文檔倒排索引
8.5.2帶詞頻等屬性的文檔倒排索引
8.6PageRank網頁排名算法
8.6.1PageRank的簡化模型
8.6.2PageRank的隨機瀏覽模型
8.6.3PageRank的MapReduce實現
8.7專利文獻分析算法
8.7.1構建專利被引用列表
8.7.2專利被引用次數統計
8.7.3專利被引用次數直方圖統計
8.7.4按照年份或國家統計專利數
第9章MapReduce高級程序設計技術
9.1簡介
9.2復合鍵值對的使用
9.2.1把小的鍵值對合并成大的鍵值對
9.2.2巧用復合鍵讓系統完成排序
9.3用戶定制數據類型
9.3.1Hadoop內置的數據類型
9.3.2用戶自定義數據類型的實現
9.4用戶定制數據輸入輸出格式
9.4.1Hadoop內置的數據輸入格式與RecordReader
9.4.2用戶定制數據輸入格式與RecordReader
9.4.3Hadoop內置的數據輸出格式與RecordWriter
9.4.4用戶定制數據輸出格式與RecordWriter
9.4.5通過定制數據輸出格式實現多集合文件輸出
9.5用戶定制Partitioner和Combiner
9.5.1用戶定制Partitioner
9.5.2用戶定制Combiner
9.6組合式MapReduce計算作業
9.6.1迭代MapReduce計算任務
9.6.2順序組合式MapReduce作業的執行
9.6.3具有復雜依賴關系的組合式MapReduce作業的執行
9.6.4MapReduce前處理和后處理步驟的鏈式執行
9.7多數據源的連接
9.7.1基本問題數據示例
9.7.2用DataJoin類實現Reduce端連接
9.7.3用全局文件復制方法實現Map端連接
9.7.4帶Map端過濾的Reduce端連接
9.7.5多數據源連接解決方法的限制
9.8全局參數/數據文件的傳遞與使用
9.8.1全局作業參數的傳遞
9.8.2查詢全局的MapReduce作業屬性
9.8.3全局數據文件的傳遞
9.9關系數據庫的連接與訪問
9.9.1從數據庫中輸入數據
9.9.2向數據庫中輸出計算結果
第10章MapReduce數據挖掘基礎算法
10.1K-Means聚類算法
10.1.1K-Means聚類算法簡介
10.1.2基于MapReduce的K-Means算法的設計實現
10.2KNN最近鄰分類算法
10.2.1KNN最近鄰分類算法簡介
10.2.2基于MapReduce的KNN算法的設計實現
10.3樸素貝葉斯分類算法
10.3.1樸素貝葉斯分類算法簡介
10.3.2樸素貝葉斯分類并行化算法的設計
10.3.3樸素貝葉斯分類并行化算法的實現
10.4決策樹分類算法
10.4.1決策樹分類算法簡介
10.4.2決策樹并行化算法的設計
10.4.3決策樹并行化算法的實現
10.5頻繁項集挖掘算法
10.5.1頻繁項集挖掘問題描述
10.5.2Apriori頻繁項集挖掘算法簡介
10.5.3Apriori頻繁項集挖掘并行化算法的設計
10.5.4Apriori頻繁項集挖掘并行化算法的實現
10.5.5基于子集求取的頻繁項集挖掘算法的設計
10.5.6基于子集求取的頻繁項集挖掘并行化算法的實現
10.6隱馬爾科夫模型和最大期望算法
10.6.1隱馬爾科夫模型的基本描述
10.6.2隱馬爾科夫模型問題的解決方法
10.6.3最大期望算法概述
10.6.4并行化隱馬爾科夫算法設計
10.6.5隱馬爾科夫算法的并行化實現
第11章大數據處理算法設計與應用編程案例
11.1基于MapReduce的搜索引擎算法
11.1.1搜索引擎工作原理簡介
11.1.2基于MapReduce的文檔預處理
11.1.3基于MapReduce的文檔倒排索引構建
11.1.4建立Web信息查詢服務
11.2基于MapReduce的大規模短文本多分類算法
11.2.1短文本多分類算法工作原理簡介
11.2.2并行化分類訓練算法設計實現
11.2.3并行化分類預測算法設計實現
11.3基于MapReduce的大規模基因序列比對算法
11.3.1基因序列比對算法簡介
11.3.2并行化BLAST算法的設計與實現
11.4基于MapReduce的大規模城市路徑規劃算法
11.4.1問題背景和要求
11.4.2數據輸入
11.4.3程序設計要求
11.4.4算法設計總體框架和處理過程
11.4.5并行化算法的設計與實現
11.5基于MapReduce的大規模重復文檔檢測算法
11.5.1重復文檔檢測問題描述
11.5.2重復文檔檢測方法和算法設計
11.5.3重復文檔檢測并行化算法設計實現
11.6基于內容的并行化圖像檢索算法與引擎
11.6.1基于內容的圖像檢索問題概述
11.6.2圖像檢索方法和算法設計思路
11.6.3并行化圖像檢索算法實現
11.7基于MapReduce的大規模微博傳播分析
11.7.1微博分析問題背景與并行化處理過程
11.7.2并行化微博數據獲取算法的設計實現
11.7.3并行化微博數據分析算法的設計實現
11.8基于關聯規則挖掘的圖書推薦算法
11.8.1圖書推薦和關聯規則挖掘簡介
11.8.2圖書頻繁項集挖掘算法設計與數據獲取
11.8.3圖書關聯規則挖掘并行化算法實現
11.9基于Hadoop的城市智能交通綜合應用案例
11.9.1應用案例概述
11.9.2案例一:交通事件檢測
11.9.3案例二:交通流統計分析功能
11.9.4案例三:道路旅行時間分析
11.9.5案例四:HBase實時查詢
11.9.6案例五:HBaseEndpoint快速統計
11.9.7案例六:利用Hive高速統計
附錄
附錄AOpenMP并行程序設計簡介
附錄BMPI并行程序設計簡介
附錄C英特爾ApacheHadoop*系統安裝手冊
參考文獻

顯示全部信息

書摘/試閱

第一部分
Hadoop系統
第1章 大數據處理技術簡介
第2章 ?Hadoop系統的安裝與操作管理
第3章 大數據存儲——分布式文件系統HDFS
第4章 ?Hadoop MapReduce并行編程框架
第5章 分布式數據庫HBase
第6章 分布式數據倉庫Hive
第7章 ?Intel Hadoop系統優化與功能增強
第1章
大數據處理技術簡介
近年來,大數據技術在全世界迅猛發展,引起了全世界的廣泛關注,掀起了一個全球性的發展浪潮。大數據技術發展的主要推動力來自并行計算硬件和軟件技術的發展,以及近年來行業大數據處理需求的迅猛增長。其中,大數據處理技術最直接的推動因素,當數Google公司發明的MapReduce大規模數據分布存儲和并行計算技術,以及Apache社區推出的開源Hadoop MapReduce并行計算系統的普及使用。為此,本書將重點介紹目前成為大數據處理主流技術和平臺Hadoop MapReduce并行處理和編程技術。
本章將簡要介紹大數據處理相關的基本概念、技術及發展狀況。大數據處理的核心技術是分布存儲和并行計算,因此,本章首先簡要介紹并行計算的基本概念和技術;在此基礎上,將簡要介紹MapReduce的基本概念、功能和技術特點;最后本章將進一步簡要介紹開源Hadoop系統的基本功能特點和組成。
1.1 并行計算技術簡介
1.1.1 并行計算的基本概念
隨著信息技術的快速發展,人們對計算系統的計算能力和數據處理能力的要求日益提高。隨著計算問題規模和數據量的不斷增大,人們發現,以傳統的串行計算方式越來越難以滿足實際應用問題對計算能力和計算速度的需求,為此出現了并行計算技術。
并行計算(Parallel Computing)是指同時對多條指令、多個任務或多個數據進行處理的一種計算技術。實現這種計算方式的計算系統稱為并行計算系統,它由一組處理單元組成,這組處理單元通過相互之間的通信與協作,以并行化的方式共同完成復雜的計算任務。實現并行計算的主要目的是,以并行化的計算方法,實現計算速度和計算能力的大幅提升,以解決傳統的串行計算所難以完成的計算任務。
現代計算機的發展歷程可分為兩個明顯不同的發展時代:串行計算時代和并行計算時代。并行計算技術是在單處理器計算能力面臨發展瓶頸、無法繼續取得突破后,才開始走上了快速發展的通道。并行計算時代的到來,使得計算技術獲得了突破性的發展,大大提升了計算能力和計算規模。
1.?單處理器計算性能提升達到極限
縱觀計算機的發展歷史,日益提升計算性能是計算技術不斷追求的目標和計算技術發展的主要特征之一。自計算機出現以來,提升單處理器計算機系統計算速度的常用技術手段有以下幾個方面。
圖1-1 摩爾定律
1)提升計算機處理器字長。隨著計算機技術的發展,單處理器字長也在不斷提升,從最初的4位發展到如今的64位。處理器字長提升的每個發展階段均有代表性的處理器產品,如20世紀70年代出現的最早的4位Intel微處理器4004,到同時代以Intel 8008為代表的8位處理器,以及20世紀80年代Intel推出的16位字長80286處理器,以及后期發展出的Intel 80386/486/Pentium系列為主的32位處理器等。2000年以后發展至今,出現了64位字長的處理器。目前,32位和64位處理器是市場上主流的處理器。計算機處理器字長的發展大幅提升了處理器性能,推動了單處理器計算機的發展。
2)提高處理器芯片集成度。1965年,戈登·摩爾(Gordon Moore)發現了這樣一條規律:半導體廠商能夠集成在芯片中的晶體管數量大約每18~24個月翻一番,其計算性能也隨著翻一番,這就是眾所周知的摩爾定律。在計算技術發展的幾十年中,摩爾定律一直引導著計算機產業的發展。
3)提升處理器的主頻。計算機的主頻越高,指令執行的時間則越短,計算性能自然會相應提高。因此,在2004年以前,處理器設計者一直追求不斷提升處理器的主頻。計算機主頻從Pentium開始的60MHz,曾經最高可達到4GHz~5GHz。
4)改進處理器微架構。計算機微處理器架構的改進對于計算性能的提升具有重大的作用。例如,為了使處理器資源得到最充分利用,計算機體系結構設計師引入了指令集并行技術(Instruction-level Parallelism,ILP),這是單處理器并行計算的杰出設計思想之一。實現指令級并行最主要的體系結構技術就是流水線技術(Pipeline)。
在2004年以前,以上這些技術極大地提高了微處理器的計算性能,但此后處理器的性能不再像人們預期的那樣能夠繼續提高。人們發現,隨著集成度的不斷提高以及處理器頻率的不斷提升,單核處理器的性能提升開始接近極限。首先,芯片的集成度會受到半導體器件制造工藝的限制。目前集成電路已經達到十多個納米的極小尺度,因此,芯片集成度不可能無限制提高。與此同時,根據芯片的功耗公式P=CV2f(其中,P是功耗;C是時鐘跳變時門電路電容,與集成度成正比;V是電壓,f是主頻),芯片的功耗與集成度和主頻成正比,芯片集成度和主頻的大幅提高導致了功耗的快速增大,進一步導致了難以克服的處理器散熱問題。而流水線體系結構技術也已經發展到了極致,2001年推出的Pentium4(CISC結構)已采用了20級復雜流水線技術,因此,流水線為主的微體系結構技術也難以有更大提升的空間。
由圖1-2可以看出,從2004年以后,微處理器的主頻和計算性能變化逐步趨于平緩,不再隨著集成度的提高而提高。如圖1-3a所示,在2005年以前,人們預期可以一直提升處理器主頻。但2004年5月Intel處理器Tejas和Jayhawk(4GHz)因無法解決散熱問題最終放棄,標志著升頻技術時代的終結。因此,隨后人們修改了2005年后微處理器主頻提升路線圖,基本上以較小的幅度提升處理器主頻,而代之以多核實現性能提升,如圖1-3b所示。
2.?多核計算技術成為必然發展趨勢
2005年,Intel公司宣布了微處理器技術的重大戰略調整,即從2005年開始,放棄過去不斷追求單處理器計算性能提升的戰略,轉向以多核微處理器架構實現計算性能提升。自此Intel推出了多核/眾核構架,微處理器全面轉入了多核計算技術時代。多校計算技術的基本思路是:簡化單處理器的復雜設計,代之以在單個芯片上設計多個簡化的處理器核,以多核/眾核并行計算提升計算性能。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區