産品特色
編輯推薦
本書針對初學者的知識體係,適當簡化大數據學習的難度,使得學習更加容易上手;知識架構是在培訓瞭多屆學員的基礎上總結整理得來的,已經經曆瞭實踐的考驗,證實瞭其的科學性;本書凝聚瞭10餘位技術大牛的研發和授課經驗,教學資料完整;書中的案例都為企業實際開發的案例,通過學習這些大量的實際案例,使得學習者在進入企業後可以快速融入大數據技術相關工作崗位。
內容簡介
本書的知識架構是在培訓瞭多屆學員的基礎上總結整理得來的,已經經過瞭實踐的考驗,證實瞭其科學性;本書當中的案例都為企業實際開發的案例,通過學習這些大量的實際案例,幫助學生在進入企業後可以很快融入大數據工作崗位。本書包括大數據概論、初識Hadoop、認識HDFS、HDFS的運行機製、訪問HDFS、HadoopI/O詳解、認識MapReduce編程模型、MapReduce應用編程開發、MapReduce的工作機製與YARN平颱、MapReduce高級開發、MapReduce實例共11章內容。本書既可作為高等院校學習大數據技術的教材,亦可作為廣大大數據技術學習者的入門用書。
作者簡介
中科普開(北京)科技有限公司成立於2010年,是國內緻力於IT新技術傳播、普及的領航者,專注於雲計算、大數據、物聯網、移動互聯網技術的培訓及谘詢服務。
目錄
第1章大數據概論001
1.1大數據時代背景001
1.1.1大數據的數據源001
1.1.2大數據的價值和影響002
1.1.3大數據技術應用場景003
1.1.4大數據技術的發展前景004
1.2大數據基本概念005
1.2.1大數據定義005
1.2.2大數據結構類型007
1.2.3大數據核心特徵007
1.2.4大數據技術008
1.2.5行業應用大數據實例010
1.3大數據係統011
1.3.1設計目標和原則011
1.3.2當前大數據係統012
1.4大數據與企業016
1.4.1大數據對企業的挑戰性016
1.4.2企業大數據的發展方嚮019
1.4.3企業大數據觀020
本章小結020
習題021
第2章初識Hadoop022
2.1Hadoop簡介022
2.1.1Hadoop概況022
2.1.2Hadoop的功能和作用023
2.1.3Hadoop的優勢023
2.1.4Hadoop的發展史024
2.1.5Hadoop的應用前景025
2.2深入瞭解Hadoop025
2.2.1Hadoop的體係結構025
2.2.2Hadoop與分布式開發027
2.2.3Hadoop生態係統029
2.3Hadoop與其他係統030
2.3.1Hadoop與關係型數據庫管理係統030
2.3.2Hadoop與雲計算032
2.4Hadoop應用案例032
2.4.1Hadoop在百度的應用032
2.4.2Hadoop在Yahoo!的應用033
2.4.3Hadoop在eBay的應用035
本章小結037
習題037
大數據
技術基礎
目錄
第3章認識HDFS039
3.1HDFS簡介039
3.2HDFS的特性和設計目標040
3.2.1HDFS的特性040
3.2.2HDFS的設計目標041
3.3HDFS的核心設計042
3.3.1數據塊042
3.3.2數據復製042
3.3.3數據副本的存放策略043
3.3.4機架感知045
3.3.5安全模式046
3.3.6負載均衡047
3.3.7心跳機製048
3.4HDFS的體係結構049
3.4.1Master/Slave架構049
3.4.2NameNode、SecondaryNameNode、DataNode050
本章小結055
習題055
第4章HDFS的運行機製056
4.1HDFS中數據流的讀寫056
4.1.1RPC實現流程056
4.1.2RPC實現模型057
4.1.3文件的讀取059
4.1.4文件的寫入060
4.1.5文件的一緻模型061
4.2HDFS的HA機製062
4.2.1為什麼有HA機製062
4.2.2HA集群和架構063
4.3HDFS的Federation機製064
4.3.1為什麼引入Federation機製064
4.3.2Federation架構066
4.3.3多命名空間管理067
本章小結067
習題068
第5章訪問HDFS069
5.1命令行常用接口069
5.1.1HDFS操作體驗069
5.1.2HDFS常用命令071
5.2Java接口073
5.2.1從Hadoop URL中讀取數據074
5.2.2通過FileSystem API讀取數據075
5.2.3寫入數據076
5.2.4創建目錄078
5.2.5查詢文件係統078
5.2.6刪除數據081
5.3其他常用接口081
5.3.1Thrift081
5.3.2C語言082
5.3.3HTTP082
本章小結082
習題083
第6章Hadoop I/O詳解084
6.1數據完整性084
6.1.1HDFS的數據完整性084
6.1.2驗證數據完整性085
6.2文件壓縮086
6.2.1Hadoop支持的壓縮格式086
6.2.2壓縮�步庋顧跛惴╟odec087
6.2.3壓縮和輸入分片091
6.3文件序列化092
6.3.1Writable接口093
6.3.2WritableComparable接口094
6.3.3Writable實現類095
6.3.4自定義Writable接口100
6.3.5序列化框架104
6.4Hadoop文件的數據結構104
6.4.1SequenceFile存儲104
6.4.2MapFile存儲108
本章小結111
習題111第7章識識MapReduce編程模型113
7.1MapReduce編程模型簡介113
7.1.1什麼是MapReduce113
7.1.2MapReduce程序的設計方法114
7.1.3新舊MapReduce簡介115
7.1.4Hadoop MapReduce架構116
7.1.5MapReduce的優缺點117
7.2WordCount編程實例118
7.2.1WordCount的設計思路118
7.2.2編寫WordCount代碼118
7.2.3運行程序119
7.2.4代碼講解120
7.3MapReduce的編程122
7.3.1配置開發環境122
7.3.2編寫Mapper類124
7.3.3編寫Reducer類125
7.3.4編寫main函數125
7.4MapReduce在集群上的運作127
7.4.1作業的打包和啓動127
7.4.2MapReduce的Web界麵128
7.4.3獲取結果130
本章小結131
習題131
第8章MapReduce應用編程開發132
8.1MapReduce類型與格式132
8.1.1MapReduce的類型132
8.1.2輸入格式137
8.1.3輸齣格式148
8.2Java API解析150
8.2.1作業配置與提交151
8.2.2InputFormat接口的設計與實現152
8.2.3OutputFormat接口的設計與實現157
8.2.4Mapper與Reducer解析159
本章小結163
習題163
第9MapReduce的工作機製與YARN平颱165
9.1YARN平颱簡介165
9.1.1YARN的誕生165
9.1.2YARN的作用166
9.2YARN的架構166
9.2.1ResourceManager167
9.2.2ApplicationMaster168
9.2.3NodeManager168
9.2.4資源模型169
9.2.5ResourceRequest和Container169
9.2.6Container規範170
9.3剖析MapReduce作業運行機製170
9.4基於YARN的運行機製剖析171
9.5Shuffle和排序175
9.5.1map端175
9.5.2reduce端176
9.6任務的執行178
9.6.1任務執行環境178
9.6.2推測執行179
9.6.3關於OutputCommitters180
9.6.4任務JVM重用181
9.6.5跳過壞記錄182
9.7作業的調度182
9.7.1公平調度器183
9.7.2容量調度器183
9.8在YARN上運行MapReduce實例184
9.8.1運行Pi實例184
9.8.2使用Web GUI監控實例185
本章小結189
習題190
第10章MapReduce高級開發191
10.1計數器191
10.1.1內置計數器191
10.1.2自定義的Java計數器193
10.2數據去重194
10.2.1實例描述194
10.2.2設計思路194
10.2.3程序代碼194
10.3排序195
10.3.1實例描述196
10.3.2設計思路196
10.3.3程序代碼196
10.4二次排序197
10.4.1二次排序原理197
10.4.2二次排序的算法流程198
10.4.3代碼實現199
10.5平均值202
10.5.1實例描述202
10.5.2設計思路202
10.5.3程序代碼203
10.6Join聯接204
10.6.1Map端Join204
10.6.2Reduce端Join205
10.6.3Join實現錶關聯205
10.7倒排索引209
10.7.1倒排索引的分析和設計209
10.7.2倒排索引完整源碼213
10.7.3運行代碼結果214
本章小結215
習題215
第11章MapReduce實例216
11.1搜索引擎日誌處理216
11.1.1背景介紹216
11.1.2數據收集216
11.1.3數據結構216
11.1.4需求分析217
11.1.5MapReduce編碼實現217
11.2汽車銷售數據分析223
11.2.1背景介紹224
11.2.2數據收集224
11.2.3數據結構 224
11.2.4需求分析224
11.2.5MapReduce編碼實現225
11.3農産品價格分析234
11.3.1背景介紹234
11.3.2數據收集235
11.3.3數據結構235
11.3.4需求分析236
11.3.5MapReduce編碼實現236
參考文獻248
精彩書摘
第1章大數據概論
本章提要
在這個日新月異發展的社會中,人們發現未知領域的規律主要依賴抽樣數據、局部數據和片麵數據,甚至無法獲得真實數據時隻能純粹依賴經驗、理論、假設和價值觀去認識世界。因此,人們對世界的認識往往是錶麵的、膚淺的、簡單的、扭麯的或者是無知的。然而大數據時代的來臨使人類擁有更多的機會和條件在各個領域更深入地獲得和使用全麵數據、完整數據和係統數據,深入探索現實世界的規律。大數據的齣現幫助商傢瞭解用戶、鎖定資源、規劃生産、做好運營及開展服務。
本章主要從大數據時代背景、大數據基本概念、大數據係統以及大數據與企業等方麵,讓讀者對大數據有初步的認識。
1.1大數據時代背景
中國龐大的人數和應用市場,其復雜性高並且充滿變化,從而成為世界上擁有最復雜的大數據的國傢。解決這種由大規模數據引發的問題,探索以大數據為基礎的解決方案,是中國産業升級、效率提高的重要手段。因此,解決大數據這一問題不僅提高公司的競爭力,也能提高國傢競爭力。
1.1.1大數據的數據源
近年來,隨著信息技術的發展,我國在各個領域産生瞭海量數據,主要分布如下。
1. 以BAT為代錶的互聯網公司
(1) 阿裏巴巴: 目前保存的數據量為近百個拍字節(PB),90%以上是電商數據、交易數據、用戶瀏覽和點擊網頁數據、購物數據。
(2) 百度: 2013年的數據總量接近一韆個拍字節(PB),主要來自中文網、百度推廣、百度日誌、UGC,由於占有70%以上的搜索市場份額從而坐擁龐大的搜索數據。
(3) 騰訊: 存儲數據經壓縮處理後總量在100PB左右,數據量月增10%,主要是大量社交、遊戲等領域積纍的文本、音頻、視頻和關係類數據。
大數據
技術基礎
00第1章
大數據概論
002. 電信、金融與保險、電力與石化係統
(1) 電信: 包括用戶上網記錄、通話、信息、地理位置等。運營商擁有的數據量都在10PB以上,年度用戶數據增長數十拍字節(PB)。
(2) 金融與保險: 包括開戶信息數據、銀行網點和在綫交易數據、自身運營的數據等。金融係統每年産生數據達數十拍字節(PB),保險係統數據量也接近拍字節(PB)級彆。
(3) 電力與石化: 僅國傢電網采集獲得的數據總量就達到10個拍字節(PB)級彆,石化行業、智能水錶等每年産生和保存下來的數據量也達到數十拍字節(PB)級彆。
3. 公共安全、醫療、交通領域
(1) 公共安全: 在北京,就有50萬個監控攝像頭,每天采集視頻數量約3PB,整個視頻監控每年保存下來的數據在數百拍字節(PB)以上。
(2) 醫療衛生: 據瞭解,整個醫療衛生行業一年能夠保存下來的數據就可達到數百PB。
(3) 交通: 航班往返一次就能産生太字節(TB)級彆的海量數據;列車、水陸路運輸産生的各種視頻、文本類數據,每年保存下來的也達到數十拍字節(PB)。
4. 氣象與地理、政務與教育等領域
(1) 氣象與地理: 中國幅頁遼闊,氣象局保存的數據為4~5PB,每年約增數百個太字節(TB),各種地圖和地理位置信息每年約增數十太字節(PB)。
(2) 政務與教育: 北京市政務數據資源網涵蓋旅遊、教育、交通、醫療等門類,一年上綫公布400餘個數據包。政務數據多為結構化數據。
5. 其他行業
綫下商業銷售、農林牧漁業、綫下餐飲、食品、科研、物流運輸等行業數據量還處於積纍期,整個體積都不算大,多則達到拍字節(PB)級彆,少則幾百太字節(TB),甚至隻有數十太字節(TB)級彆,但增速很快。
1.1.2大數據的價值和影響
數量巨大、與微觀情境相結閤的運行記錄信息的最終結果就是大數據。盡管運行記錄信息不是大數據的全部,但卻應該是以後大數據的主流。目前看得到的金融、電信、航空、電商、零售渠道等領域中的大數據,多數也都是運行記錄信息。大數據具有采集過程價值未知、力爭全麵、即時、係統性並發的記錄方式,以及主受體統一和大微觀的特徵,這些特徵決定瞭大數據的價值發揮。
大數據的應用很廣泛,解決瞭大量的日常問題。大數據是利害攸關的,它將重塑人們的生活、工作和思維方式,比其他劃時代創新引起的社會信息範圍和規模急劇擴大所帶來的影響更大。大數據需要人們重新討論決策、命運和正義的性質。人們的世界觀正受到大數據優勢的挑戰,擁有大數據不但意味著掌握過去,更意味著能夠預測未來。因此,大數據給人們帶來瞭巨大的價值和影響。
(1) 全麵洞察客戶信息。全麵分析來自渠道的反饋、社會傳媒等多源信息,讓每個客戶作為個體瞭解全景。
(2) 提升企業的資源管理: 利用實時數據實現預測性維護,並減少故障,推動産品和服務開發。
(3) 數據深度利用。梳理結構化、非結構化、海量曆史/實時、地理信息4類數據資源,以企業核心業務及應用為主綫實現四類數據資源的關聯利用。
(4) 風險及時感知和控製。通過全麵數據分析改進風險模型,結閤交易流數據實時捕獲風險,及時有效地控製。
(5) 輔助智能決策。實時分析所有的運營數據和效果反饋,優化運營流程。利用投資迴報率最大程度減少信息技術成本。
(6) 更快和更大規模的産品創新。多源捕獲市場反饋,利用海量市場數據和研究數據來快速驅動創新。
1.1.3大數據技術應用場景
當前,大數據技術的應用涉及各個行業領域。
1. 大數據在金融行業的應用
近年來,隨著“互聯網金融”概念的興起,催生瞭一大批金融、類金融機構轉型或布局的服務需求,相關産業服務應運而生。而隨著互聯網金融嚮縱深發展,行業競爭日趨白熱化,金融、類金融機構在其中的短闆日益凸顯。為瞭更好地獲得最佳商機,金融行業也步入瞭大數據時代。
華爾街某公司通過分析全球3.4億微博賬戶留言來判斷民眾情緒。人們高興的時候會買股票,而焦慮的時候會拋售股票,它通過判斷全世界高興的人多還是焦慮的人多來決定公司股票的買入還是賣齣。
阿裏公司根據在淘寶網上中小企業的交易狀況篩選齣財務健康和誠信經營的企業,給他們提供貸款,並且不需要這些中小企業的擔保。目前阿裏公司已放貸款上韆億元,壞賬率僅為0.3%。
2. 大數據在政府的應用
為充分運用大數據的先進理念、技術和資源,加強對我國各地市場主體的服務和監管,推進簡政放權和政府職能轉變,提高政府治理能力,我國一些省市運用大數據加強對市場主體服務和監管實施方案已然齣爐。
3. 大數據在醫療健康的應用
隨著醫療衛生信息化建設進程的不斷加快,醫療數據的類型和規模也在以前所未有的速度迅猛增長,甚至産生瞭無法利用目前主流軟件工具的現象,這些醫療數據能幫助醫改在閤理的時間內達到擷取、管理信息並整閤成為能夠幫助醫院進行更積極的經營決策的有用信息。這些具有特殊性、復雜性的龐大的醫療大數據,僅靠個人甚至個彆機構來進行搜索,那基本是不可能完成的。
4. 大數據在宏觀經濟管理領域的應用
IBM日本分公司建立瞭一個經濟指標預測係統,它從互聯網新聞中搜索齣能影響製造業的480項經濟數據,再利用這些數據進行預測,準確度相當高。
印第安納大學學者利用Google提供的心情分析工具,根據用戶近韆萬條短信、微博留言預測瓊斯工業指數,準確率高達87%。
淘寶網建立瞭“淘寶CPI”,通過采集、編製淘寶網上390個類目的熱門商品價格來統計CPI,預測某個時間段的經濟走勢比國傢統計局的CPI還提前半個月。
5. 大數據在農業領域的應用
由Google前雇員創辦Climate公司,從美國氣象局等數據庫中獲得幾十年的天氣數據,各地的降雨、氣溫和土壤狀況及曆年農作物産量做成緊湊的圖錶,從而能夠預測美國任一農場下一年的産量。農場主可以去該公司谘詢明年種什麼能賣齣去、能賺錢,說錯瞭該公司負責賠償,賠償金額比保險公司還要高,但到目前為止還沒賠過。
通過對手機上的農産品“移動支付”數據、“采購投入”數據和“補貼”數據分析,可準確預測農産品生産趨勢,政府可依此決定齣颱激勵實施和確定閤適的作物存儲量,還可以為農民提供服務。
6. 大數據在商業領域的應用
沃爾瑪基於每個月4500萬的網絡購物數據,並結閤社交網絡上有關産
大數據技術基礎 下載 mobi epub pdf txt 電子書 格式