大數(shù)據(jù)開發(fā)者權(quán)威教程 大數(shù)據(jù)技術(shù)與編程基礎(chǔ)
定 價:109 元
叢書名:異步圖書
- 作者:Wrox國際IT認(rèn)證項目組 著,顧晨 譯
- 出版時間:2018/12/1
- ISBN:9787115493507
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:499
- 紙張:
- 版次:01
- 開本:16開
“大數(shù)據(jù)”近年成為IT領(lǐng)域的熱點話題,人們每天都會通過互聯(lián)網(wǎng)、移動設(shè)備等產(chǎn)生大量數(shù)據(jù)。如何管理大數(shù)據(jù)、掌握大數(shù)據(jù)的核心技術(shù)、理解大數(shù)據(jù)相關(guān)的生態(tài)系統(tǒng)等,是作為大數(shù)據(jù)開發(fā)者必須學(xué)習(xí)和熟練掌握的。本系列書以“大數(shù)據(jù)開發(fā)者”應(yīng)掌握的技術(shù)為主線,共分兩卷,以7個模塊分別介紹如何管理大數(shù)據(jù)生態(tài)系統(tǒng)、如何存儲和處理數(shù)據(jù)、如何利用Hadoop工具、如何利用NoSQL與Hadoop協(xié)同工作,以及如何利用Hadoop商業(yè)發(fā)行版和管理工具。本系列書涵蓋了大數(shù)據(jù)開發(fā)工作的核心內(nèi)容,全面且詳盡地涵蓋了大數(shù)據(jù)開發(fā)的各個領(lǐng)域。
本書為第1卷,共4個模塊,分別介紹大數(shù)據(jù)基礎(chǔ)知識、大數(shù)據(jù)生態(tài)系統(tǒng)的管理、HDFS和MapReduce以及Hadoop工具(如Hive、Pig和Oozie等)。本書適用于想成為大數(shù)據(jù)開發(fā)者以及所有對大數(shù)據(jù)開發(fā)感興趣的技術(shù)人員和決策者閱讀。
學(xué)習(xí)方法和特色
◆ 涵蓋了大數(shù)據(jù)開發(fā)者所需的大數(shù)據(jù)和Hadoop 基礎(chǔ)組件及相關(guān)組件的基本知識,使參與者有可能在一個系列書中獲得對所有相關(guān)知識、新興技術(shù)和平臺的了解。
◆ 在與大數(shù)據(jù)架構(gòu)、大數(shù)據(jù)應(yīng)用程序開發(fā)以及與大數(shù)據(jù)實施相關(guān)的產(chǎn)業(yè)相關(guān)技術(shù)有著極密切關(guān)聯(lián)的編程和技術(shù)領(lǐng)域中,鍛煉自己全面的和結(jié)構(gòu)化的本領(lǐng)。
◆ 基于場景的學(xué)習(xí)方法,通過多種有代表性的現(xiàn)實場景的使用和案例研究,將IT 基礎(chǔ)知識融入現(xiàn)實環(huán)境,鼓勵參與者積極、全面地學(xué)習(xí)和研究,實現(xiàn)體驗式教學(xué)。
◆ 強調(diào)目標(biāo)明確、基于成果的學(xué)習(xí)。每一講都以“本講目標(biāo)”開始,該目標(biāo)會進(jìn)一步關(guān)聯(lián)整個教程的更廣泛的目標(biāo)。
◆ 簡明、循序漸進(jìn)的編程和編碼指導(dǎo),清晰地解釋每行代碼的基本原理。
◆ 強調(diào)高效、實用的過程和技術(shù),幫助參與者深入理解巧妙且符合道德倫理的專業(yè)實踐及其對業(yè)務(wù)的影響。
大數(shù)據(jù)是當(dāng)今科技行業(yè)的流行語之一。全世界的企業(yè)都已經(jīng)意識到可用的大量數(shù)據(jù)的價值,并盡****努力來管理和分析數(shù)據(jù)、發(fā)揮其作用,以建立戰(zhàn)略和發(fā)展競爭優(yōu)勢。與此同時,這項技術(shù)的出現(xiàn),導(dǎo)致了各種新的和增強的工作角色的演變。
“大數(shù)據(jù)開發(fā)者**教程”系列的目標(biāo)是培養(yǎng)新一代的國際化全能大數(shù)據(jù)程序員、開發(fā)者和技術(shù)專家,使其熟悉大數(shù)據(jù)的相關(guān)工具、平臺和架構(gòu),幫助企業(yè)有效地存儲、管理并處理海量和多樣的數(shù)據(jù)。同時,本書還有助于讀者了解如何有效地整合、實現(xiàn)、定制和管理大數(shù)據(jù)基礎(chǔ)架構(gòu)。
本系列旨在為讀者提供處理大數(shù)據(jù)的技術(shù)、存儲、處理、管理和安全基礎(chǔ)架構(gòu)方面的技能,豐富讀者與Hadoop 及其組件工具協(xié)同工作的經(jīng)驗,并使其可以開發(fā)MapReduce 和Pig 程序,操縱分布式文件,以及了解支持MapReduce 程序的API 等。讀者同時可以熟悉一些流行的Hadoop 商業(yè)發(fā)行版系統(tǒng),如Cloudera、Hortonworks 和Greenplum 等。最后通過一個完整的項目介紹,使讀者能夠開發(fā)一個集成的大數(shù)據(jù)應(yīng)用程序。
本系列共兩卷,第1 卷“大數(shù)據(jù)技術(shù)與編程基礎(chǔ)”包含4 個模塊,涉及大數(shù)據(jù)入門,管理大數(shù)據(jù)生態(tài)系統(tǒng),使用HDFS 和MapReduce 存儲和處理數(shù)據(jù),利用Hadoop 工具(如Hive、Pig 和Oozie 等)提升效率;第2 卷“NoSQL、Hadoop 組件及大數(shù)據(jù)實施”包含3 個模塊,涉及ZooKeeper、Sqoop、Flume、YARN 和Storm 等額外的Hadoop 工具,如何利用NoSQL 和Hadoop 實現(xiàn)實時、安全和云,以及Hadoop 商業(yè)發(fā)行版和管理工具簡介。
本書作者均為國際知名IT培訓(xùn)機構(gòu)的知名講師,他們通過對技術(shù)、IT市場需求以及當(dāng)今就業(yè)培訓(xùn)方面的全球行業(yè)標(biāo)準(zhǔn)進(jìn)行了廣泛并嚴(yán)格的調(diào)研之后,集結(jié)成這套“大數(shù)據(jù)開發(fā)者**教程”。作者們的目標(biāo)是通過這套書為有志于在大數(shù)據(jù)開發(fā)領(lǐng)域取得事業(yè)成功的人技術(shù)人員和決策者提供必備的技術(shù)和技能。
譯者簡介
顧晨,男,碩士、PMP、信息系統(tǒng)項目管理師。畢業(yè)于上海交通大學(xué)。曾獲邀參加舊金山的Google I/O大會。喜歡所有與編程相關(guān)的事物,擁有14年的編程經(jīng)驗。對于大數(shù)據(jù)、SAP HANA數(shù)據(jù)庫和思科技術(shù)有著極其濃厚的興趣,是國內(nèi)較早從事HANA數(shù)據(jù)庫研究的人員之一。先后錄制了MCSE、CCNP等多種教學(xué)視頻,在多家知名網(wǎng)站發(fā)布。精通C#、Java編程,目前正致力于人臉識別、室內(nèi)定位和門店人流統(tǒng)計方面的研究。
模塊1 大數(shù)據(jù)入門
第 1講 大數(shù)據(jù)簡介 3
1.1 什么是大數(shù)據(jù) 4
1.1.1 大數(shù)據(jù)的優(yōu)勢 5
1.1.2 挖掘各種大數(shù)據(jù)源 6
1.2 數(shù)據(jù)管理的歷史——大數(shù)據(jù)的演化 7
1.3 大數(shù)據(jù)的結(jié)構(gòu)化 9
1.4 大數(shù)據(jù)要素 13
1.4.1 數(shù)據(jù)量 13
1.4.2 速度 14
1.4.3 多樣性 14
1.5 大數(shù)據(jù)在商務(wù)環(huán)境中的應(yīng)用 14
1.6 大數(shù)據(jù)行業(yè)中的職業(yè)機會 16
1.6.1 職業(yè)機會 17
1.6.2 所需技能 17
1.6.3 大數(shù)據(jù)的未來 19
練習(xí) 20
備忘單 22
第 2講 大數(shù)據(jù)在商業(yè)上的應(yīng)用 23
2.1 社交網(wǎng)絡(luò)數(shù)據(jù)的重要性 24
2.2 金融欺詐和大數(shù)據(jù) 30
2.3 保險業(yè)的欺詐檢測 32
2.4 在零售業(yè)中應(yīng)用大數(shù)據(jù) 36
練習(xí) 40
備忘單 42
第3講 處理大數(shù)據(jù)的技術(shù) 43
3.1 大數(shù)據(jù)的分布式和并行計算 44
3.1.1 并行計算技術(shù) 46
3.1.2 虛擬化及其對大數(shù)據(jù)的重要性 47
3.2 Hadoop簡介 47
3.3 云計算和大數(shù)據(jù) 50
3.3.1 大數(shù)據(jù)計算的特性 50
3.3.2 云部署模型 51
3.3.3 云交付模型 52
3.3.4 大數(shù)據(jù)云 52
3.3.5 大數(shù)據(jù)云市場中的供應(yīng)商 53
3.3.6 使用云服務(wù)所存在的問題 54
3.4 大數(shù)據(jù)內(nèi)存計算技術(shù) 54
練習(xí) 56
備忘單 58
第4講 了解Hadoop生態(tài)系統(tǒng) 59
4.1 Hadoop生態(tài)系統(tǒng) 60
4.2 用HDFS存儲數(shù)據(jù) 61
4.2.1 HDFS架構(gòu) 62
4.2.2 HDFS的一些特殊功能 65
4.3 利用Hadoop MapReduce處理數(shù)據(jù) 65
4.3.1 MapReduce是如何工作的 66
4.3.2 MapReduce的優(yōu)點和缺點 66
4.3.3 利用Hadoop YARN管理資源和應(yīng)用 67
4.4 利用HBase存儲數(shù)據(jù) 68
4.5 使用Hive查詢大型數(shù)據(jù)庫 69
4.6 與Hadoop生態(tài)系統(tǒng)的交互 70
4.6.1 Pig和Pig Latin 70
4.6.2 Sqoop 71
4.6.3 Zookeeper 72
4.6.4 Flume 72
4.6.5 Oozie 73
練習(xí) 74
備忘單 76
第5講 MapReduce基礎(chǔ) 77
5.1 MapReduce的起源 78
5.2 MapReduce是如何工作的 79
5.3 MapReduce作業(yè)的優(yōu)化技術(shù) 85
5.3.1 硬件/網(wǎng)絡(luò)拓?fù)洹?5
5.3.2 同步 86
5.3.3 文件系統(tǒng) 86
5.4 MapReduce的應(yīng)用 86
5.5 HBase在大數(shù)據(jù)處理中的角色 87
5.6 利用Hive挖掘大數(shù)據(jù) 89
練習(xí) 91
備忘單 94
模塊2 管理大數(shù)據(jù)生態(tài)系統(tǒng)
第 1講 大數(shù)據(jù)技術(shù)基礎(chǔ) 97
1.1 探索大數(shù)據(jù)!98
1.2 冗余物理基礎(chǔ)設(shè)施層 99
1.2.1 物理冗余網(wǎng)絡(luò) 100
1.2.2 管理硬件:存儲和服務(wù)器 101
1.2.3 基礎(chǔ)設(shè)施的操作 101
1.3 安全基礎(chǔ)設(shè)施層 101
1.4 接口層以及與應(yīng)用程序和互聯(lián)網(wǎng)的雙向反饋 102
1.5 可操作數(shù)據(jù)庫層 103
1.6 組織數(shù)據(jù)服務(wù)層及工具 104
1.7 分析數(shù)據(jù)倉庫層 105
1.8 分析層 105
1.9 大數(shù)據(jù)應(yīng)用層 106
1.10 虛擬化和大數(shù)據(jù) 107
1.11 虛擬化方法 108
1.11.1 服務(wù)器虛擬化 109
1.11.2 應(yīng)用程序虛擬化 109
1.11.3 網(wǎng)絡(luò)虛擬化 110
1.11.4 處理器和內(nèi)存虛擬化 110
1.11.5 數(shù)據(jù)和存儲虛擬化 111
1.11.6 用管理程序進(jìn)行虛擬化管理 111
1.11.7 抽象與虛擬化 112
1.11.8 實施虛擬化來處理大數(shù)據(jù) 112
練習(xí) 114
備忘單 116
第 2講 大數(shù)據(jù)管理系統(tǒng)——數(shù)據(jù)庫和數(shù)據(jù)倉庫 117
2.1 RDBMS和大數(shù)據(jù)環(huán)境 118
2.2 非關(guān)系型數(shù)據(jù)庫 119
2.2.1 鍵值數(shù)據(jù)庫 120
2.2.2 文檔數(shù)據(jù)庫 122
2.2.3 列式數(shù)據(jù)庫 124
2.2.4 圖數(shù)據(jù)庫 125
2.2.5 空間數(shù)據(jù)庫 127
2.3 混合持久化 129
2.4 將大數(shù)據(jù)與傳統(tǒng)數(shù)據(jù)倉庫相集成 130
2.4.1 優(yōu)化數(shù)據(jù)倉庫 130
2.4.2 大數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)倉庫的區(qū)別 130
2.5 大數(shù)據(jù)分析和數(shù)據(jù)倉庫 132
2.6 改變大數(shù)據(jù)時代的部署模式 134
2.6.1 設(shè)備模型 134
2.6.2 云模型 135
練習(xí) 136
備忘單 138
第3講 分析與大數(shù)據(jù) 139
3.1 使用大數(shù)據(jù)以獲取結(jié)果 140
3.1.1 基本分析 142
3.1.2 高級分析 143
3.1.3 可操作性分析 144
3.1.4 貨幣化分析 145
3.2 是什么構(gòu)成了大數(shù)據(jù) 145
3.2.1 構(gòu)成大數(shù)據(jù)的數(shù)據(jù) 145
3.2.2 大數(shù)據(jù)分析算法 146
3.2.3 大數(shù)據(jù)基礎(chǔ)設(shè)施支持 146
3.3 探索非結(jié)構(gòu)化數(shù)據(jù) 148
3.4 理解文本分析 149
3.4.1 分析和提取技術(shù) 150
3.4.2 理解提取的信息 151
3.4.3 分類法 152
3.4.4 將結(jié)果與結(jié)構(gòu)化數(shù)據(jù)放在一起 153
3.5 建立新的模式和方法以支持大數(shù)據(jù) 156
3.5.1 大數(shù)據(jù)分析的特征 156
3.5.2 大數(shù)據(jù)分析的應(yīng)用 157
3.5.3 大數(shù)據(jù)分析框架的特性 161
練習(xí) 163
備忘單 165
第4講 整合數(shù)據(jù)、實時數(shù)據(jù)和實施大數(shù)據(jù) 168
4.1 大數(shù)據(jù)分析的各個階段 169
4.1.1 探索階段 170
4.1.2 編纂階段 171
4.1.3 整合和合并階段 171
4.2 大數(shù)據(jù)集成的基礎(chǔ) 173
4.2.1 傳統(tǒng)ETL 174
4.2.2 ELT——提取、加載和轉(zhuǎn)換 175
4.2.3 優(yōu)先處理大數(shù)據(jù)質(zhì)量 175
4.2.4 數(shù)據(jù)性能分析工具 176
4.2.5 將Hadoop用作ETL 177
4.3 流數(shù)據(jù)和復(fù)雜的事件處理 177
4.3.1 流數(shù)據(jù) 178
4.3.2 復(fù)雜事件處理 181
4.3.3 區(qū)分CEP和流 182
4.3.4 流數(shù)據(jù)和CEP對業(yè)務(wù)的影響 183
4.4 使大數(shù)據(jù)成為運營流程的一部分 183
4.5 了解大數(shù)據(jù)的工作流 186
4.6 確保大數(shù)據(jù)有效性、準(zhǔn)確性和時效性 187
4.6.1 數(shù)據(jù)的有效性和準(zhǔn)確性 187
4.6.2 數(shù)據(jù)的時效性 187
練習(xí) 189
備忘單 191
第5講 大數(shù)據(jù)解決方案和動態(tài)數(shù)據(jù) 192
5.1 大數(shù)據(jù)作為企業(yè)戰(zhàn)略工具 193
5.1.1 階段1:利用數(shù)據(jù)做計劃 193
5.1.2 階段2:執(zhí)行分析 194
5.1.3 階段3:檢查結(jié)果 194
5.1.4 階段4:根據(jù)計劃行事 194
5.2 實時分析:把新的維度添加到周期 194
5.2.1 階段5:實時監(jiān)控 195
5.2.2 階段6:調(diào)整影響 195
5.2.3 階段7:實驗 195
5.3 對動態(tài)數(shù)據(jù)的需求 196
5.4 案例1:針對環(huán)境影響使用流數(shù)據(jù) 198
5.4.1 這是怎么做到的 198
5.4.2 利用傳感器提供實時信息 198
5.4.3 利用實時數(shù)據(jù)進(jìn)行研究 199
5.5 案例2:為了公共政策使用大數(shù)據(jù) 199
5.5.1 問題 200
5.5.2 使用流數(shù)據(jù) 200
5.6 案例3:在醫(yī)療保健行業(yè)使用流數(shù)據(jù) 200
5.6.1 問題 201
5.6.2 使用流數(shù)據(jù) 201
5.7 案例4:在能源行業(yè)使用流數(shù)據(jù) 201
5.7.1 利用流數(shù)據(jù)提高能源效率 201
5.7.2 流數(shù)據(jù)的使用推進(jìn)了可替代能源的生產(chǎn) 202
5.8 案例5:用實時文本分析提高客戶體驗 202
5.9 案例6:在金融業(yè)使用實時數(shù)據(jù) 203
5.9.1 保險 204
5.9.2 銀行 204
5.9.3 信用卡公司 204
5.10 案例7:使用實時數(shù)據(jù)防止保險欺詐 205
練習(xí) 207
備忘單 210
模塊3 存儲和處理數(shù)據(jù):HDFS和MapReduce
第 1講 在Hadoop中存儲數(shù)據(jù) 213
1.1 HDFS 214
1.1.1 HDFS的架構(gòu) 214
1.1.2 使用HDFS文件 218
1.1.3 Hadoop特有的文件類型 220
1.1.4 HDFS聯(lián)盟和高可用性 224
1.2 HBase 226
1.2.1 HBase的架構(gòu) 226
1.2.2 HBase模式設(shè)計準(zhǔn)則 231
1.3 HBase編程 232
1.4 為有效的數(shù)據(jù)存儲結(jié)合HDFS和HBase 237
1.5 為應(yīng)用程序選擇恰當(dāng)?shù)腍adoop數(shù)據(jù)組織 237
1.5.1 數(shù)據(jù)被MapReduce獨占訪問時 237
1.5.2 創(chuàng)建新數(shù)據(jù)時 238
1.5.3 數(shù)據(jù)尺寸太大時 238
1.5.4 數(shù)據(jù)用于實時訪問時 238
練習(xí) 239
備忘單 241
第 2講 利用MapReduce處理數(shù)據(jù) 242
2.1 開始了解MapReduce 243
2.1.1 MapReduce框架 243
2.1.2 MapReduce執(zhí)行管道 244
2.1.3 MapReduce的運行協(xié)調(diào)和任務(wù)管理 247
2.2 第 一個MapReduce應(yīng)用程序 249
2.3 設(shè)計MapReduce的實現(xiàn) 257
2.3.1 使用MapReduce作為并行處理的框架 258
2.3.2 MapReduce的簡單數(shù)據(jù)處理 259
2.3.3 構(gòu)建與MapReduce的連接 260
2.3.4 構(gòu)建迭代的MapReduce應(yīng)用程序 264
2.3.5 用還是不用MapReduce 268
2.3.6 常見的MapReduce設(shè)計提示 269
練習(xí) 271
備忘單 274
第3講 自定義MapReduce執(zhí)行 275
3.1 用InputFormat控制MapReduce的執(zhí)行 276
3.1.1 為計算密集型應(yīng)用程序?qū)嵤㊣nputFormat 277
3.1.2 實現(xiàn)InputFormat控制map的數(shù)量 282
3.1.3 為多HBase表實現(xiàn)InputFormat 287
3.2 用你自定義RecordReader的方式讀取數(shù)據(jù) 290
3.3 用自定義OutputFormat組織輸出數(shù)據(jù) 292
3.4 自定義RecordWriter以你的方式寫數(shù)據(jù) 293
3.5 利用結(jié)合器優(yōu)化MapReduce執(zhí)行 295
3.6 用分區(qū)器來控制reducer的執(zhí)行 298
練習(xí) 299
備忘單 302
第4講 測試和調(diào)試MapReduce應(yīng)用程序 303
4.1 MapReduce應(yīng)用程序的單元測試 304
4.1.1 測試mapper 306
4.1.2 測試reducer 307
4.1.3 集成測試 308
4.2 用Eclipse進(jìn)行本地程序測試 310
4.3 利用日志文件做Hadoop測試 312
4.4 利用工作計數(shù)器進(jìn)行報表度量 316
4.5 在MapReduce中的防御式編程 318
練習(xí) 320
備忘單 322
第5講 實現(xiàn)MapReduce WordCount程序——案例學(xué)習(xí) 323
5.1 背景 324
5.1.1 句子層級的情感分析 325
5.1.2 情感詞法采集 325
5.1.3 文檔級別的情感分析 325
5.1.4 比較情感分析 325
5.1.5 基于外觀的情感分析 326
5.2 場景 326
5.3 數(shù)據(jù)解釋 326
5.4 方法論 326
5.5 方法 327
模塊4 利用Hadoop工具Hive、Pig和Oozie提升效率
第 1講 探索Hive 343
1.1 介紹Hive 344
1.1.1 Hive數(shù)據(jù)單元 345
1.1.2 Hive架構(gòu) 346
1.1.3 Hive元數(shù)據(jù)存儲 347
1.2 啟動Hive 347
1.2.1 Hive命令行界面 348
1.2.2 Hive變量 349
1.2.3 Hive屬性 349
1.2.4 Hive一次性命令 349
1.3 執(zhí)行來自文件的Hive查詢 350
1.3.1 shell執(zhí)行 350
1.3.2 Hadoop dfs命令 350
1.3.3 Hive中的注釋 351
1.4 數(shù)據(jù)類型 351
1.4.1 基本數(shù)據(jù)類型 352
1.4.2 復(fù)雜數(shù)據(jù)類型 354
1.4.3 Hive內(nèi)置運算符 355
1.5 Hive內(nèi)置函數(shù) 356
1.6 壓縮的數(shù)據(jù)存儲 358
1.7 Hive數(shù)據(jù)定義語言 359
1.7.1 管理Hive中的數(shù)據(jù)庫 359
1.7.2 管理Hive中的表 360
1.8 Hive中的數(shù)據(jù)操作 364
1.8.1 將數(shù)據(jù)載入Hive表 364
1.8.2 將數(shù)據(jù)插入表 365
1.8.3 插入至本地文件 367
練習(xí) 368
備忘單 370
第 2講 高級Hive查詢 371
2.1 HiveQL查詢 372
2.1.1 SELECT查詢 372
2.1.2 LIMIT子句 373
2.1.3 嵌入查詢 373
2.1.4 CASE…WHEN…THEN 373
2.1.5 LIKE和RLIKE 373
2.1.6 GROUP BY 374
2.1.7 HAVING 374
2.2 使用函數(shù)操作列值 374
2.2.1 內(nèi)置函數(shù) 374
2.2.2 用戶定義函數(shù) 375
2.3 Hive中的連接 376
2.3.1 內(nèi)連接 376
2.3.2 外連接 377
2.3.3 笛卡兒積連接 378
2.3.4 Map側(cè)的連接 379
2.3.5 ORDER BY 379
2.3.6 UNION ALL 379
2.4 Hive的最佳實踐 380
2.4.1 使用分區(qū) 380
2.4.2 規(guī)范化 381
2.4.3 有效使用單次掃描 381
2.4.4 桶的使用 381
2.5 性能調(diào)優(yōu)和查詢優(yōu)化 382
2.5.1 EXPLAIN命令 383
2.5.2 LIMIT調(diào)優(yōu) 387
2.6 各種執(zhí)行類型 387
2.6.1 本地執(zhí)行 387
2.6.2 并行執(zhí)行 387
2.6.3 索引 388
2.6.4 預(yù)測執(zhí)行 388
2.7 Hive文件和記錄格式 388
2.7.1 文本文件 388
2.7.2 序列文件 389
2.7.3 RCFile 389
2.7.4 記錄格式(SerDe) 390
2.7.5 Regex SerDe 390
2.7.6 Avro SerDe 391
2.7.7 JSON SerDe 392
2.8 HiveThrift服務(wù) 393
2.8.1 啟動HiveThrift服務(wù)器 393
2.8.2 使用JDBC的樣例HiveThrift客戶端 393
2.9 Hive中的安全 395
2.9.1 認(rèn)證 395
2.9.2 授權(quán) 395
練習(xí) 397
備忘單 400
第3講 用Pig分析數(shù)據(jù) 402
3.1 介紹Pig 403
3.1.1 Pig架構(gòu) 403
3.1.2 Pig Latin的優(yōu)勢 404
3.2 安裝Pig 405
3.2.1 安裝Pig所需條件 405
3.2.2 下載Pig 405
3.2.3 構(gòu)建Pig庫 406
3.3 Pig的屬性 406
3.4 運行Pig 407
3.5 Pig Latin應(yīng)用程序流 408
3.6 開始利用Pig Latin 409
3.6.1 Pig Latin結(jié)構(gòu) 410
3.6.2 Pig數(shù)據(jù)類型 411
3.6.3 Pig語法 412
3.7 Pig腳本接口 413
3.8 Pig Latin的腳本 415
3.8.1 用戶定義函數(shù) 415
3.8.2 參數(shù)替代 418
3.9 Pig中的關(guān)系型操作 419
3.9.1 FOREACH 419
3.9.2 FILTER 420
3.9.3 GROUP 421
3.9.4 ORDER BY 422
3.9.5 DISTINCT 423
3.9.6 JOIN 424
3.9.7 LIMIT 425
3.9.8 SAMPLE 426
練習(xí) 427
備忘單 430
第4講 Oozie對數(shù)據(jù)處理進(jìn)行自動化 431
4.1 開始了解Oozie 432
4.2 Oozie工作流 433
4.2.1 在Oozie工作流中執(zhí)行異步活動 436
4.2.2 實現(xiàn)Oozie工作流 437
4.3 Oozie協(xié)調(diào)器 443
4.4 Oozie套件 448
4.5 利用EL的Oozie參數(shù)化 451
4.5.1 工作流函數(shù) 451
4.5.2 協(xié)調(diào)器函數(shù) 452
4.5.3 套件函數(shù) 452
4.5.4 其他EL函數(shù) 452
4.6 Oozie作業(yè)執(zhí)行模型 452
4.7 訪問Oozie 455
4.8 Oozie SLA 456
練習(xí) 460
備忘單 462
第5講 使用Oozie 464
5.1 業(yè)務(wù)場景:使用探測包驗證關(guān)于位置的信息 465
5.2 根據(jù)探測包設(shè)計位置驗證 466
5.3 設(shè)計Oozie工作流 467
5.4 實現(xiàn)Oozie工作流應(yīng)用程序 469
5.4.1 實現(xiàn)數(shù)據(jù)準(zhǔn)備工作流 469
5.4.2 實現(xiàn)考勤指數(shù)和集群簇的工作流 477
5.5 實現(xiàn)工作流的活動 479
5.5.1 從java行為中填充執(zhí)行上下文 479
5.5.2 在Oozie工作流中使用MapReduce作業(yè) 480
5.6 實現(xiàn)Oozie協(xié)調(diào)器應(yīng)用程序 483
5.7 實現(xiàn)Oozie套件應(yīng)用程序 488
5.8 部署、測試和執(zhí)行Oozie應(yīng)用程序 489
5.8.1 使用Oozie CLI執(zhí)行Oozie應(yīng)用程序 490
5.8.2 將參數(shù)傳遞給Oozie作業(yè) 493
5.8.3 決定如何將參數(shù)傳遞給Oozie作業(yè) 495
練習(xí) 497
備忘單 499