Hadoop大數(shù)據(jù)原理與應(yīng)用
定 價(jià):62 元
- 作者:徐魯輝
- 出版時(shí)間:2020/3/1
- ISBN:9787560655796
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP274
- 頁碼:456
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書全面介紹了Hadoop生態(tài)系統(tǒng)中各個(gè)開源組件的理論知識(shí)和實(shí)踐案例。全書分為上篇——Hadoop基礎(chǔ)篇、中篇——Hadoop提高篇、下篇——案例篇三部分,共11章,涉及數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)與管理、數(shù)據(jù)處理與分析、數(shù)據(jù)可視化一系列大數(shù)據(jù)應(yīng)用生命周期中各階段典型組件的理論知識(shí)、安裝部署和實(shí)戰(zhàn)使用。上篇為第1~8章,具體內(nèi)容包括大數(shù)據(jù)概述、初識(shí)Hadoop、分布式文件系統(tǒng)HDFS、分布式計(jì)算框架MapReduce、統(tǒng)一資源管理和調(diào)度框架YARN、分布式協(xié)調(diào)框架ZooKeeper、分布式數(shù)據(jù)庫HBase、數(shù)據(jù)倉庫Hive;中篇為第9、10章,具體內(nèi)容包括大數(shù)據(jù)遷移和采集工具、數(shù)據(jù)可視化;下篇為第11章,介紹了使用Hadoop平臺(tái)完成用戶畫像項(xiàng)目的全過程。本書在Hadoop、HDFS、MapReduce、ZooKeeper、HBase、Hive等重要章節(jié)安排了初級實(shí)踐操作,以便讀者更好地學(xué)習(xí)和掌握Hadoop關(guān)鍵技術(shù)。
本書內(nèi)容翔實(shí),案例豐富,既可作為高等院校大數(shù)據(jù)、計(jì)算機(jī)、人工智能等相關(guān)專業(yè)研究生、本科生的大數(shù)據(jù)課程教材,也可供相關(guān)技術(shù)人員參考。
本書配套有《Hadoop大數(shù)據(jù)原理與應(yīng)用實(shí)驗(yàn)教程》,同時(shí)可在西安電子科技大學(xué)出版社網(wǎng)站下載本書作者提供的相關(guān)資源。
大數(shù)據(jù)時(shí)代的到來,帶來了信息技術(shù)發(fā)展的巨大變革,并深刻影響著社會(huì)生產(chǎn)和人民生活的方方面面。在全球范圍內(nèi),世界各國政府均高度重視大數(shù)據(jù)技術(shù)的研究與產(chǎn)業(yè)發(fā)展,紛紛把大數(shù)據(jù)上升為國家戰(zhàn)略加以重點(diǎn)推進(jìn)。大數(shù)據(jù)已經(jīng)成為企業(yè)和社會(huì)關(guān)注的重要戰(zhàn)略資源,越來越多的行業(yè)面臨著海量數(shù)據(jù)存儲(chǔ)和分析的挑戰(zhàn)。
Hadoop由道格·卡丁(Doug Cutting)創(chuàng)建,起源于開源項(xiàng)目網(wǎng)絡(luò)搜索引擎Apache
Nutch,于2008年1月成為Apache頂級項(xiàng)目。Hadoop是一個(gè)開源的、可運(yùn)行于大規(guī)模集群上的分布式存儲(chǔ)和計(jì)算的軟件框架,它具有高可靠、彈性可擴(kuò)展等特點(diǎn),非常適合處理海量數(shù)據(jù)。Hadoop實(shí)現(xiàn)了分布式文件系統(tǒng)HDFS和分布式計(jì)算框架MapReduce等功能,允許用戶在不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下,使用簡單的編程模型輕松編寫出分布式程序,并將其運(yùn)行于計(jì)算機(jī)集群上,完成對大規(guī)模數(shù)據(jù)集的存儲(chǔ)和分析。目前,Hadoop在業(yè)內(nèi)得到了廣泛應(yīng)用,已經(jīng)是公認(rèn)的大數(shù)據(jù)通用存儲(chǔ)和分析平臺(tái),許多廠商都圍繞Hadoop提供開發(fā)工具、開源軟件、商業(yè)化工具和技術(shù)服務(wù),例如谷歌、雅虎、微軟、淘寶等都支持Hadoop。另外,還有一些專注于Hadoop的公司,例如Cloudera、Hortonworks和MapR都可以提供商業(yè)化的Hadoop支持。
未來5~10年,我國大數(shù)據(jù)產(chǎn)業(yè)將會(huì)處于高速發(fā)展時(shí)期,社會(huì)亟需高校培養(yǎng)一大批大數(shù)據(jù)相關(guān)專業(yè)人才。自2016年以來,我國新增的大數(shù)據(jù)類專業(yè)包括“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”本科專業(yè)(080910T)、“數(shù)據(jù)管理與應(yīng)用”本科專業(yè)(120108T)、“大數(shù)據(jù)技術(shù)與應(yīng)用”?茖I(yè)(610215),以適應(yīng)地方產(chǎn)業(yè)發(fā)展對戰(zhàn)略性新興產(chǎn)業(yè)的人才需求。因此,學(xué)會(huì)使用大數(shù)據(jù)通用存儲(chǔ)和分析平臺(tái)Hadoop及其生態(tài)系統(tǒng)對于未來適應(yīng)新一代信息技術(shù)產(chǎn)業(yè)的發(fā)展具有重要的意義。
本書面向Hadoop生態(tài)系統(tǒng),以企業(yè)需求為導(dǎo)向,緊緊圍繞大數(shù)據(jù)應(yīng)用的閉環(huán)流程展開講述,引導(dǎo)讀者構(gòu)建大數(shù)據(jù)知識(shí)體系和進(jìn)行大數(shù)據(jù)技術(shù)的初級實(shí)踐,旨在使讀者掌握Hadoop生態(tài)系統(tǒng)的設(shè)計(jì)原理和Hadoop平臺(tái)的運(yùn)用能力。
本書分為上篇——Hadoop基礎(chǔ)篇、中篇——Hadoop提高篇和下篇——案例篇三大部分,共11章,涉及數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)與管理、數(shù)據(jù)處理與分析、數(shù)據(jù)可視化一系列大數(shù)據(jù)應(yīng)用生命周期中各階段典型組件的理論知識(shí)、安裝部署和實(shí)戰(zhàn)使用。上篇即Hadoop基礎(chǔ)篇,為1~8章,其中第1章介紹了大數(shù)據(jù)的基本概念和相關(guān)產(chǎn)業(yè),分析了大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)、人工智能、5G之間的關(guān)系,梳理了大數(shù)據(jù)職業(yè)崗位,同時(shí)給出了大數(shù)據(jù)的學(xué)習(xí)路線;第2章介紹了大數(shù)據(jù)處理平臺(tái)Hadoop的來源、發(fā)展史、生態(tài)系統(tǒng)、體系架構(gòu)和應(yīng)用現(xiàn)狀等,并演示了如何在Linux操作系統(tǒng)下部署Hadoop集群;第3章介紹了分布式文件系統(tǒng)HDFS的特征、體系架構(gòu)、文件存儲(chǔ)機(jī)制和數(shù)據(jù)讀/寫過程,通過實(shí)戰(zhàn)案例演示了HDFS用戶接口HDFS Web、HDFS Shell和HDFS Java API的使用,并講述了HDFS實(shí)現(xiàn)高可靠性的幾種機(jī)制;第4章介紹了分布式計(jì)算框架MapReduce的編程思想、作業(yè)執(zhí)行流程、數(shù)據(jù)類型、Shuffle機(jī)制,通過引入入門案例WordCount詳細(xì)講解了MapReduce的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),通過實(shí)戰(zhàn)案例演示了如何定義和使用自定義組件,以及MapReduce Shell、MapReduce Web和MapReduce Java API的使用,并簡單介紹了目前其他主流分布式計(jì)算框架;第5章從MapReduce 1.0存在的問題入手,引入新一代資源管理和調(diào)度框架YARN,簡述了YARN的優(yōu)勢、發(fā)展目標(biāo)、體系架構(gòu)和工作流程,演示了YARN的基本使用,并介紹了YARN的新特性和當(dāng)前常見的其他統(tǒng)一資源管理與調(diào)度平臺(tái);第6章介紹了分布式協(xié)調(diào)框架ZooKeeper的來源、基本概念、系統(tǒng)模型、工作原理、典型應(yīng)用場景,演示了ZooKeeper集群的部署過程,并通過實(shí)戰(zhàn)案例講述了ZooKeeper四字命令、ZooKeeper Shell、ZooKeeper Java API等實(shí)踐技能;第7章介紹了NoSQL數(shù)據(jù)庫的特點(diǎn)以及HBase數(shù)據(jù)庫的發(fā)展史、基本特點(diǎn)、數(shù)據(jù)模型、體系結(jié)構(gòu),演示了HBase集群的部署過程,通過實(shí)戰(zhàn)案例講述了HBase Shell、HBase Java API的使用方法,以及如何在HBase中使用MapReduce,并介紹了HBase性能優(yōu)化的常見方法;第8章介紹了數(shù)據(jù)倉庫Hive的基本工作流程、特征、體系架構(gòu)、數(shù)據(jù)類型、文件格式、函數(shù)等知識(shí),演示了部署Hive的過程,通過實(shí)戰(zhàn)案例講述了HWI、Hive Shell、HiveQL語句和Hive Java API的使用方法,并介紹了幾種常見的Hive優(yōu)化策略。中篇即Hadoop提高篇,為第9、10章,其中第9章從初步認(rèn)識(shí)、體系架構(gòu)、安裝部署、實(shí)戰(zhàn)應(yīng)用四個(gè)方面依次介紹了數(shù)據(jù)遷移工具Sqoop、日志采集工具Flume、分布式流平臺(tái)Kafka和ETL工具Kettle,同時(shí)也簡要介紹了當(dāng)前比較常見的其他數(shù)據(jù)遷移工具;第10章介紹了數(shù)據(jù)可視化的基本概念、歷史、意義、常用圖表類型,重點(diǎn)演示了ECharts、Python、Tableau、阿里云DataV、D3.js等幾種主流數(shù)據(jù)可視化工具的使用。下篇即案例篇,為第11章,本章旨在通過一個(gè)具體項(xiàng)目案例,介紹如何借助Hadoop大數(shù)據(jù)處理平臺(tái),基于華為P30手機(jī)的評論數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,從而得到用戶畫像的完整
過程。
為了方便讀者整體把握各章知識(shí),在每章開始位置均配備有本章知識(shí)結(jié)構(gòu)圖。根據(jù)近幾年的教學(xué)實(shí)踐,建議安排32學(xué)時(shí)理論課,第1、2、5、10章每章安排2學(xué)時(shí),第3、4、6、7、8、9章每章安排4學(xué)時(shí),第11章由學(xué)生自學(xué)完成。另外,建議增加16學(xué)時(shí)的上機(jī)實(shí)踐課。
本書面向高等院校計(jì)算機(jī)、大數(shù)據(jù)、人工智能等相關(guān)專業(yè)的研究生、本科生,可以作為專業(yè)核心課程大數(shù)據(jù)技術(shù)原理與應(yīng)用的教材。本書擁有配套的實(shí)驗(yàn)教材《Hadoop大數(shù)據(jù)原理與應(yīng)用實(shí)驗(yàn)教程》(亦由本書作者編寫,由西安電子科技大學(xué)出版社出版),兩本書配套使用,可以達(dá)到更好的學(xué)習(xí)效果。
本書由校企聯(lián)合完成,第1章由西京學(xué)院于長青編寫,第2章由安徽信息工程學(xué)院李月軍編寫,第3、7、8章由西京學(xué)院左銀波編寫,第4章由國信藍(lán)橋教育科技(北京)股份有限公司顏群工程師編寫,第5、6、9章由西京學(xué)院徐魯輝編寫,第10章由鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院王芳編寫,第11章由鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院周湘貞編寫。全書由國信藍(lán)橋教育科技(北京)股份有限公司大數(shù)據(jù)專家唐友剛主審,由西京學(xué)院徐魯輝負(fù)責(zé)策劃、審校和定稿。
本書與配套實(shí)驗(yàn)教材《Hadoop大數(shù)據(jù)原理與應(yīng)用實(shí)驗(yàn)教程》擁有完整的立體化資源,包括教學(xué)大綱、授課計(jì)劃、教案、PPT、源代碼、在線題庫、實(shí)驗(yàn)大綱、實(shí)驗(yàn)指導(dǎo)書、實(shí)驗(yàn)視頻、項(xiàng)目案例庫等教學(xué)資源,提供全方位的免費(fèi)服務(wù)。讀者可通過以下三種方式免費(fèi)在線瀏覽或下載全部配套資源:教材官方網(wǎng)站https://dzxxgcx.xijing.edu.cn/xkzy/zxkc. htm/pabigdata/index.asp,教材官方云班課“Hadoop大數(shù)據(jù)原理與應(yīng)用教材云班課”(邀請碼為5962412),教材官方GitHub網(wǎng)站https://github.com/xuluhuixijing/pabigdata。
本書中關(guān)于圖形界面元素代替符號的約定如表1所示。
表1 本書中圖形界面元素的代替符號約定
文字描述 代替符號 舉 例
按鈕 邊框?+?陰影?+?底紋 “確定”按鈕可簡化為?確定
菜單項(xiàng) 『 』 菜單項(xiàng)“文件”可簡化為『File』
連續(xù)選擇菜單項(xiàng)及子菜單項(xiàng) → 選擇『File』→『New』→『Java Project』
下拉框、單選框、復(fù)選框選項(xiàng) [ ] 復(fù)選框選項(xiàng)“啟用用戶”可簡化為[啟用用戶]
窗口名 【 】 例如,進(jìn)入窗口【Properties for HDFSExample】
提示信息 “ ” 例如,否則會(huì)出現(xiàn)錯(cuò)誤信息“bash: ****: command not found...”
本書中各實(shí)驗(yàn)所使用軟件的名稱、版本、發(fā)布日期及下載地址如表2所示。
表2 本書使用軟件的名稱、版本、發(fā)布日期及下載地址
序號 軟件
名稱 軟件
版本 發(fā)布日期 下載地址 安裝文件名
1 VMware Workstation Pro VMware Workstation 12.5.7 Pro for Windows 2017.6.22 https://www.vmware.com/products/
workstationpro.html VMwareworkstationfull12.5.7
5813279.exe
2 CentOS CentOS 7.6.1810 2018.11.26 https://www.centos.org/download/ CentOS7x86_64DVD1810.iso
3 Java Oracle JDK 8u191 2018.10.16 http://www.oracle.com/technetwork/java/
javase/downloads/index.html jdk8u191linuxx64.tar.gz
4 Hadoop Hadoop 2.9.2 2018.11.19 http://hadoop.apache.org/releases.html hadoop2.9.2.tar.gz
5 Eclipse Eclipse IDE 201809 for Java Developers 2018.9 https://www.eclipse.org/downloads/packages eclipsejava201809linuxgtk
x86_64.tar.gz
6 ZooKeeper ZooKeeper 3.4.13 2018.7.15 http://zookeeper.apache.org/releases.html zookeeper3.4.13.tar.gz
7 HBase HBase 1.4.10 2019.6.10 https://hbase.apache.org/downloads.html hbase1.4.10bin.tar.gz
續(xù)表
序號 軟件
名稱 軟件
版本 發(fā)布日期 下載地址 安裝文件名
8 MySQL Connector/J MySQL Connector/J 5.1.48 2019.7.29 https://dev.mysql.com/downloads/connector/j/ mysqlconnectorjava5.1.48.tar.gz
9 MySQL Community Server MySQL Community 5.7.27 2019.7.22 http://dev.mysql.com/get/mysql57community
releaseel711.noarch.rpm mysql57communityreleaseel7
11.noarch.rpm(Yum Repository)
10 Hive Hive 2.3.4 2018.11.7 https://hive.apache.org/downloads.html apachehive2.3.4bin.tar.gz
11 Spark Spark 2.3.3 2019.2.15 https://spark.apache.org/downloads.html spark2.3.3binhadoop2.7.tgz
12 Sqoop Sqoop 1.4.7 2017.12 http://www.apache.org/dyn/closer.lua/sqoop/ sqoop1.4.7.bin__hadoop2.6.0.tar.gz
13 Flume Flume 1.9.0 2019.1.8 http://flume.apache.org/download.html apacheflume1.9.0bin.tar.gz
14 Kafka Kafka 2.1.1 2019.2.15 http://kafka.apache.org/downloads kafka_2.122.1.1.tgz
在本書編寫與出版過程中,國信藍(lán)橋教育科技(北京)股份有限公司高校合作部項(xiàng)目經(jīng)理單寶軍在教材編寫方面提供了幫助,西京學(xué)院校長黃文準(zhǔn)、西京學(xué)院信息工程學(xué)院院長郭建新、副院長烏偉在學(xué)院政策方面提供了支持,西安電子科技大學(xué)出版社李惠萍編輯對本書的出版提供了很多意見和建議,在此表示衷心感謝。
本書在撰寫的過程中參考了部分國內(nèi)外教材、專著、論文和開源社區(qū)資源,在此向這些作者一并致謝。由于作者水平和能力有限,書中難免有疏漏與不足之處,衷心希望廣大同行和讀者批評指正。
上篇 Hadoop基礎(chǔ)篇
第1章 大數(shù)據(jù)概述 2
1.1 大數(shù)據(jù)內(nèi)涵 3
1.2 大數(shù)據(jù)的特征 5
1.3 大數(shù)據(jù)的關(guān)鍵技術(shù) 6
1.4 大數(shù)據(jù)產(chǎn)業(yè) 8
1.5 大數(shù)據(jù)與物聯(lián)網(wǎng)、云計(jì)算、人工智能、5G的關(guān)系 11
1.6 大數(shù)據(jù)崗位介紹 12
1.7 大數(shù)據(jù)學(xué)習(xí)路線 13
本章小結(jié) 14
思考與練習(xí)題 15
第2章 初識(shí)Hadoop 16
2.1 Hadoop概述 17
2.2 Hadoop生態(tài)系統(tǒng) 20
2.3 Hadoop的體系架構(gòu) 23
2.4 Hadoop的應(yīng)用現(xiàn)狀 23
2.5 部署和運(yùn)行Hadoop 25
本章小結(jié) 50
思考與練習(xí)題 50
實(shí)驗(yàn)1 部署全分布模式Hadoop集群 51
第3章 分布式文件系統(tǒng)HDFS 52
3.1 HDFS簡介 53
3.2 HDFS的體系架構(gòu) 53
3.3 HDFS文件的存儲(chǔ)機(jī)制 55
3.4 HDFS數(shù)據(jù)的讀/寫過程 57
3.5 實(shí)戰(zhàn)HDFS 60
3.6 HDFS的高可靠性機(jī)制 75
本章小結(jié) 89
思考與練習(xí)題 89
實(shí)驗(yàn)2 實(shí)戰(zhàn)HDFS 90
第4章 分布式計(jì)算框架MapReduce 91
4.1 MapReduce簡介 92
4.2 第一個(gè)MapReduce案例:WordCount 92
4.3 MapReduce的作業(yè)執(zhí)行流程 97
4.4 MapReduce的數(shù)據(jù)類型與格式 101
4.5 Shuffle的機(jī)制 104
4.6 在MapReduce中自定義組件 105
4.7 實(shí)戰(zhàn)MapReduce 109
4.8 MapReduce調(diào)優(yōu) 116
4.9 其他主流計(jì)算框架 118
本章小結(jié) 119
思考與練習(xí)題 120
實(shí)驗(yàn)3 MapReduce編程 120
第5章 統(tǒng)一資源管理和調(diào)度框架YARN 122
5.1 初識(shí)YARN 123
5.2 YARN的體系架構(gòu) 126
5.3 YARN的工作流程 127
5.4 實(shí)戰(zhàn)YARN 129
5.5 YARN的新特性 134
5.6 其他統(tǒng)一資源管理調(diào)度框架 141
本章小結(jié) 150
思考與練習(xí)題 151
第6章 分布式協(xié)調(diào)框架ZooKeeper 152
6.1 分布式協(xié)調(diào)技術(shù) 153
6.2 初識(shí)ZooKeeper 154
6.3 ZooKeeper的系統(tǒng)模型 156
6.4 ZooKeeper的工作原理 163
6.5 ZooKeeper的典型應(yīng)用場景 172
6.6 部署ZooKeeper集群 176
6.7 實(shí)戰(zhàn)ZooKeeper 183
本章小結(jié) 218
思考與練習(xí)題 219
實(shí)驗(yàn)4 部署ZooKeeper集群和實(shí)戰(zhàn)ZooKeeper 220
第7章 分布式數(shù)據(jù)庫HBase 221
7.1 NoSQL簡介 222
7.2 初識(shí)HBase 224
7.3 HBase的數(shù)據(jù)模型 224
7.4 HBase的體系架構(gòu) 229
7.5 HBase的運(yùn)行機(jī)制 233
7.6 部署HBase集群 235
7.7 實(shí)戰(zhàn)HBase 241
7.8 HBase的性能優(yōu)化 264
本章小結(jié) 265
思考與練習(xí)題 266
實(shí)驗(yàn)5 部署全分布模式HBase集群和實(shí)戰(zhàn)HBase 267
第8章 數(shù)據(jù)倉庫Hive 268
8.1 初識(shí)Hive 269
8.2 Hive的體系架構(gòu) 271
8.3 Hive的數(shù)據(jù)類型 273
8.4 Hive的文件格式 275
8.5 Hive的數(shù)據(jù)模型 275
8.6 Hive函數(shù) 278
8.7 部署Hive 285
8.8 實(shí)戰(zhàn)Hive 299
8.9 Hive的優(yōu)化策略 307
本章小結(jié) 308
思考與練習(xí)題 309
實(shí)驗(yàn)6 部署本地模式Hive和實(shí)戰(zhàn)Hive 309
中篇 Hadoop提高篇
第9章 大數(shù)據(jù)遷移和采集工具 312
9.1 數(shù)據(jù)遷移工具Sqoop 313
9.2 日志采集工具Flume 344
9.3 分布式流平臺(tái)Kafka 357
9.4 ETL工具Kettle 371
本章小結(jié) 377
思考與練習(xí)題 378
第10章 數(shù)據(jù)可視化 379
10.1 可視化概念 380
10.2 可視化的作用與意義 381
10.3 可視化圖表的類型 386
10.4 可視化工具 391
本章小結(jié) 419
思考與練習(xí)題 419
下篇 案 例 篇
第11章 華為P30手機(jī)評論畫像分析 422
11.1 需求分析 423
11.2 項(xiàng)目設(shè)計(jì) 423
11.3 項(xiàng)目環(huán)境搭建 423
11.4 數(shù)據(jù)采集與預(yù)處理 424
11.5 使用Hive分析數(shù)據(jù) 430
11.6 數(shù)據(jù)可視化 437
本章小結(jié) 443
思考與練習(xí)題 443
參考文獻(xiàn) 444