新到貨2本75折
Hadoop大數據技術開發實戰

Hadoop大數據技術開發實戰

  • 定價:594
  • 優惠價:87517
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書以Hadoop及其周邊框架為主線,介紹了整個Hadoop生態系統主流的大資料開發技術。全書共16章,第1章講解了VMware中CentOS 7作業系統的安裝;第2章講解了大資料開發之前對作業系統集群環境的配置;第3~16章講解了Hadoop生態系統各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和資料即時處理系統Flume、Kafka、Storm、Spark以及分散式搜索系統Elasticsearch等的基礎知識、架構原理、集群環境搭建,同時包括常用的Shell命令、API操作、源碼剖析,並通過實際案例加深對各個框架的理解與應用。通過閱讀本書,讀者即使沒有任何大資料基礎,也可以對照書中的步驟成功搭建屬於自己的大資料集群並獨立完成專案開發。 本書可作為Hadoop新手入門的指導書,也可作為大資料開發人員的隨身手冊以及大資料從業者的參考用書。
 

作者介紹

張偉洋

畢業于中國地質大學計算機科學與技術專業,先後就職于知名互聯網公司百度、慧聰網,任Java高級軟體工程師,互聯網旅遊公司任軟體研發事業部技術經理。目前供職于青島英穀教育科技股份有限公司,任大資料項目目講師,為數十所高校先後舉行多次大資料專題講座,對Hadoop及周邊框架ZooKeeper、Hive、HBase、Storm、Spark等有深入的研究。高等院校雲計算與大資料專業課改教材《雲計算與大資料概論》《大資料開發與應用》的主要編寫者,百度文庫、百度閱讀簽約作者。
 

目錄

第1章  VMware中安裝CentOS 7 1
1.1  下載CENTOS 7鏡像文件 1
1.2  新建虛擬機器 5
1.3  安裝作業系統 9

第2章  CentOS 7集群環境配置 16
2.1  系統環境配置 16
2.1.1  新建用戶 17
2.1.2  修改用戶許可權 17
2.1.3  關閉防火牆 17
2.1.4  設置固定IP 18
2.1.5  修改主機名稱 22
2.1.6  新建資原始目錄 23
2.2  安裝JDK 23
2.3  克隆虛擬機器 25
2.4  配置主機IP映射 29

第3章  Hadoop 31
3.1  HADOOP簡介 31
3.1.1  Hadoop生態系統架構 32
3.1.2  Hadoop 1.x與2.x的架構對比 33
3.2  YARN基本架構及組件 34
3.3  YARN工作流程 37
3.4  配置集群各節點SSH無金鑰登錄 38
3.4.1  無金鑰登錄原理 38
3.4.2  無金鑰登錄操作步驟 39
3.5  搭建HADOOP 2.X分散式集群 41

第4章  HDFS 48
4.1  HDFS簡介 48
4.1.1  設計目標 49
4.1.2  總體架構 49
4.1.3  主要組件 50
4.1.4  文件讀寫 53
4.2  HDFS命令列操作 54
4.3  HDFS WEB介面操作 57
4.4  HDFS JAVA API操作 59
4.4.1  讀取數據 59
4.4.2  創建目錄 61
4.4.3  創建文件 62
4.4.4  刪除檔 63
4.4.5  遍歷檔和目錄 64
4.4.6  獲取檔或目錄的中繼資料 65
4.4.7  上傳本地檔 66
4.4.8  下載檔案到本地 66

第5章  MapReduce 68
5.1  MAPREDUCE簡介 68
5.1.1  設計思想 69
5.1.2  任務流程 70
5.1.3  工作原理 71
5.2  MAPREDUCE程式編寫步驟 74
5.3  案例分析:單詞計數 76
5.4  案例分析:數據去重 82
5.5  案例分析:求平均分 86
5.6  案例分析:二次排序 89
5.7  使用MRUNIT測試MAPREDUCE程式 97

第6章  ZooKeeper 100
6.1  ZOOKEEPER簡介 100
6.1.1  應用場景 101
6.1.2  架構原理 101
6.1.3  資料模型 102
6.1.4  節點類型 103
6.1.5  Watcher機制 103
6.1.6  分散式鎖 105
6.2  ZOOKEEPER安裝配置 106
6.2.1  單機模式 106
6.2.2  偽分佈模式 108
6.2.3  集群模式 109
6.3  ZOOKEEPER命令列操作 112
6.4  ZOOKEEPER JAVA API操作 114
6.4.1  創建Java工程 114
6.4.2  創建節點 115
6.4.3  修改資料 118
6.4.4  獲取資料 118
6.4.5  刪除節點 123
6.5  案例分析:監聽伺服器動態上下線 124

第7章  HDFS與YARN HA 129
7.1  HDFS HA搭建 129
7.1.1  架構原理 130
7.1.2  搭建步驟 131
7.1.3  結合ZooKeeper進行HDFS自動容錯移轉 137
7.2  YARN HA搭建 142
7.2.1  架構原理 142
7.2.2  搭建步驟 142

第8章  HBase 147
8.1  什麼是HBASE 147
8.2  HBASE基本結構 148
8.3  HBASE資料模型 149
8.4  HBASE集群架構 151
8.5  HBASE安裝配置 153
8.5.1  單機模式 153
8.5.2  偽分佈模式 155
8.5.3  集群模式 156
8.6  HBASE SHELL命令操作 160
8.7  HBASE JAVA API操作 164
8.7.1  創建Java工程 164
8.7.2  創建表 164
8.7.3  添加數據 166
8.7.4  查詢資料 168
8.7.5  刪除資料 169
8.8  HBASE篩檢程式 170
8.9  案例分析:HBASE MAPREDUCE資料轉移 174
8.9.1  HBase不同表間資料轉移 174
8.9.2  HDFS資料轉移至HBase 180
8.10  案例分析:HBASE資料備份與恢復 183

第9章  Hive 185
9.1  什麼是HIVE 185
9.1.1  資料單元 186
9.1.2  資料類型 187
9.2  HIVE架構體系 189
9.3  HIVE三種運行模式 190
9.4  HIVE安裝配置 191
9.4.1  內嵌模式 192
9.4.2  本地模式 195
9.4.3  遠端模式 198
9.5  HIVE常見屬性配置 200
9.6  BEELINE CLI的使用 201
9.7  HIVE資料庫操作 205
9.8  HIVE表操作 208
9.8.1  內部表 209
9.8.2  外部表 213
9.8.3  分區表 215
9.8.4  分桶表 219
9.9  HIVE查詢 223
9.9.1  SELECT子句查詢 224
9.9.2  JOIN連接查詢 230
9.10  其他HIVE命令 233
9.11  HIVE中繼資料表結構分析 235
9.12  HIVE自訂函數 237
9.13  HIVE JDBC操作 239
9.14  案例分析:HIVE與HBASE整合 242
9.15  案例分析:HIVE分析搜狗使用者搜索日誌 246

第10章  Sqoop 251
10.1  什麼是SQOOP 251
10.1.1  Sqoop基本架構 252
10.1.2  Sqoop開發流程 252
10.2  使用SQOOP 253
10.3  資料導入工具 254
10.4  資料匯出工具 259
10.5  SQOOP安裝與配置 261
10.6  案例分析:將MYSQL表數據導入到HDFS中 262
10.7  案例分析:將HDFS中的資料匯出到MYSQL中 263
10.8  案例分析:將MYSQL表數據導入到HBASE中 264

第11章  Kafka 267
11.1  什麼是KAFKA 267
11.2  KAFKA架構 268
11.3  主題與分區 269
11.4  分區副本 271
11.5  消費者組 273
11.6  資料存儲機制 274
11.7  集群環境搭建 276
11.8  命令列操作 278
11.8.1  創建主題 278
11.8.2  查詢主題 279
11.8.3  創建生產者 280
11.8.4  創建消費者 280
11.9  JAVA API操作 281
11.9.1  創建Java工程 281
11.9.2  創建生產者 281
11.9.3  創建消費者 283
11.9.4  運行程式 285
11.10  案例分析:KAFKA生產者攔截器 287

第12章  Flume 294
12.1  什麼是FLUME 294
12.2  架構原理 295
12.2.1  單節點架構 295
12.2.2  組件介紹 296
12.2.3  多節點架構 297
12.3  安裝與簡單使用 299
12.4  案例分析:日誌監控(一) 302
12.5  案例分析:日誌監控(二) 304
12.6  攔截器 306
12.6.1  內置攔截器 307
12.6.2  自訂攔截器 310
12.7  選擇器 313
12.8  案例分析:攔截器和選擇器的應用 315
12.9  案例分析:FLUME與KAFKA整合 319

第13章  Storm 322
13.1  什麼是STORM 322
13.2  STORM TOPOLOGY 323
13.3  STORM集群架構 324
13.4  STORM流分組 326
13.5  STORM集群環境搭建 329
13.6  案例分析:單詞計數 332
13.6.1  設計思路 332
13.6.2  代碼編寫 333
13.6.3  程式運行 339
13.7  案例分析:STORM與KAFKA整合 341

第14章  Elasticsearch 347
14.1  什麼是ELASTICSEARCH 347
14.2  基本概念 348
14.2.1  索引、類型和文檔 348
14.2.2  分片和副本 348
14.2.3  路由 349
14.3  集群架構 350
14.4  集群環境搭建 352
14.5  KIBANA安裝 355
14.6  REST API 357
14.6.1  集群狀態API 357
14.6.2  索引API 358
14.6.3  文檔API 360
14.6.4  搜索API 363
14.6.5  Query DSL 365
14.7  HEAD外掛程式安裝 371
14.8  JAVA API操作:員工資訊 375

第15章  Scala 379
15.1  什麼是SCALA 379
15.2  安裝SCALA 380
15.2.1  Windows中安裝Scala 380
15.2.2  CentOS 7中安裝Scala 381
15.3  SCALA基礎 382
15.3.1  變數聲明 382
15.3.2  資料類型 383
15.3.3  運算式 385
15.3.4  迴圈 386
15.3.5  方法與函數 388
15.4  集合 391
15.4.1  陣列 391
15.4.2  List 393
15.4.3  Map映射 394
15.4.4  元組 396
15.4.5  Set 396
15.5  類和對象 398
15.5.1  類的定義 398
15.5.2  單例對象 399
15.5.3  伴生對象 399
15.5.4  get和set方法 400
15.5.5  構造器 402
15.6  抽象類別和特質 404
15.6.1  抽象類別 404
15.6.2  特質 406
15.7  使用ECLIPSE創建SCALA專案 408
15.7.1  安裝Scala for Eclipse IDE 408
15.7.2  創建Scala項目 409
15.8  使用INTELLIJ IDEA創建SCALA專案 410
15.8.1  IDEA中安裝Scala外掛程式 410
15.8.2  創建Scala項目 414

第16章  Spark 416
16.1  SPARK概述 416
16.2  SPARK主要組件 417
16.3  SPARK運行時架構 419
16.3.1  Spark Standalone模式 419
16.3.2  Spark On YARN模式 421
16.4  SPARK集群環境搭建 423
16.4.1  Spark Standalone模式 423
16.4.2  Spark On YARN模式 425
16.5  SPARK HA搭建 426
16.6  SPARK應用程式的提交 430
16.7  SPARK SHELL的使用 433
16.8  SPARK RDD 435
16.8.1  創建RDD 435
16.8.2  RDD運算元 436
16.9  案例分析:使用SPARK RDD實現單詞計數 441
16.10  SPARK SQL 448
16.10.1  DataFrame和Dataset 448
16.10.2  Spark SQL基本使用 449
16.11  案例分析:使用SPARK SQL實現單詞計數 452
16.12  案例分析:SPARK SQL與HIVE整合 454
16.13  案例分析:SPARK SQL讀寫MYSQL 457
 

前言

當今互聯網已進入大資料時代,大資料技術已廣泛應用于金融、醫療、教育、電信、政府等領域。各行各業每天都在產生大量的資料,資料計量單位已從B、KB、MB、GB、TB發展到PB、EB、ZB、YB甚至BB、NB、DB。預計未來幾年,全球資料將呈爆炸式增長。谷歌、阿裡巴巴、百度、京東等互聯網公司都急需掌握大資料技術的人才,而大資料相關人才卻出現了供不應求的狀況。

Hadoop作為大資料生態系統中的核心框架,專為離線和大規模資料處理而設計。Hadoop的核心組成HDFS為海量資料提供了分散式存儲;MapReduce則為海量資料提供了分散式運算。很多互聯網公司都使用Hadoop來實現公司的核心業務,例如華為的雲計算平臺、淘寶的推薦系統等,只要和海量資料相關的領域都有Hadoop的身影。

本書作為Hadoop及其周邊框架的入門書,知識面比較廣,涵蓋了當前整個Hadoop生態系統主流的大資料開發技術。內容全面,代碼可讀性強,以實操為主,理論為輔,一步一步手把手對常用的離線計算以及即時計算等系統進行了深入講解。

全書共16章,第1章講解了VMware中CentOS 7作業系統的安裝;第2章講解了大資料開發之前對作業系統集群環境的配置;第3~16章講解了Hadoop生態系統各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和資料即時處理系統Flume、Kafka、Storm、Spark以及分散式搜索系統Elasticsearch等的基礎知識、架構原理、集群環境搭建,同時包括常用的Shell命令、API操作、源碼剖析,並通過實際案例加深對各個框架的理解與應用。

那麼如何學習本書呢?

本書推薦的閱讀方式是按照章節順序從頭到尾完成閱讀,因為後面的很多章節是以前面的章節為基礎,而且這種一步一個腳印、由淺入深的方式將使你更加順利地掌握大資料的開發技能。

學習本書時,首先根據第1、2章搭建好開發環境,然後依次學習第3~16章,學習每一章時先瞭解該章的基礎知識和框架的架構原理,然後再進行集群環境搭建、Shell命令操作等實操練習,這樣學習效果會更好。當書中的理論和實操知識都掌握後,可以進行舉一反三,自己開發一個大資料程式,或者將所學知識運用到自己的程式設計項目上,也可以到各種線上論壇與其他大資料愛好者進行討論,互幫互助。

本書可作為Hadoop新手入門的指導書籍或者大資料開發人員的參考用書,要求讀者具備一定的Java語言基礎和Linux系統基礎,即使沒有任何大資料基礎的讀者,也可以對照書中的步驟成功搭建屬於自己的大資料集群,是一本真正的提高讀者動手能力、以實操為主的入門書籍。通過對本書的學習,讀者能夠對大資料相關框架迅速理解並掌握,可以熟練使用Hadoop集成環境進行大資料專案的開發。

讀者若對書中講解的知識有任何疑問,可關注下面的公眾號聯繫筆者,還可以在該公眾號中獲取大資料相關的學習教程和資源。
 
掃描下述二維碼可以下載本書原始程式碼:
 
由於時間原因,書中難免出現一些錯誤或不準確的地方,懇請讀者批評指正。

張偉洋
2019年5月於青島
 
 

詳細資料

  • ISBN:9787302534020
  • 規格:平裝 / 462頁 / 16k / 19 x 26 x 2.31 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

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

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折