大數(shù)據(jù)技術(shù)與應(yīng)用_第1頁
大數(shù)據(jù)技術(shù)與應(yīng)用_第2頁
大數(shù)據(jù)技術(shù)與應(yīng)用_第3頁
大數(shù)據(jù)技術(shù)與應(yīng)用_第4頁
大數(shù)據(jù)技術(shù)與應(yīng)用_第5頁
已閱讀5頁,還剩314頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)閱讀全文

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

內(nèi)容簡介

本書教學(xué)設(shè)計(jì)遵循教學(xué)規(guī)律,對真實(shí)項(xiàng)目進(jìn)行了科學(xué)拆分與提煉。主要內(nèi)容分為Hadoop大

數(shù)據(jù)技術(shù)基礎(chǔ)與Hadoop大數(shù)據(jù)分析案例兩部分,前者包括大數(shù)據(jù)的有關(guān)概念、Hadoop概述、

Hadoop集群的部署與管理、HDFS、MapReduce編程以及Hadoop生態(tài)的其他常用組件ZooKeeper、

HBase、Hive、Sqoop、Flume、Storm、Kafka的工作原理、安裝部署和使用方法,后者通過“基

于云虛擬實(shí)訓(xùn)平臺的學(xué)情分析系統(tǒng)”項(xiàng)目完整展示了大數(shù)據(jù)分析的過程。

全書遵循“理論夠用、實(shí)用,實(shí)踐第一”的原則選擇內(nèi)容,編排合理,表述深入淺出,所有

操作命令全部按序列出,并配有解釋和運(yùn)行截圖,指導(dǎo)性、實(shí)用性強(qiáng),能使讀者快速、輕松地掌

握Hadoop大數(shù)據(jù)平臺運(yùn)維和分析的基本技術(shù)。

本書適合作為高等職業(yè)院校電子信息大類各專業(yè)學(xué)習(xí)Hadoop大數(shù)據(jù)技術(shù)的教材,也可作為培

訓(xùn)學(xué)校的培訓(xùn)教材,還可作為大數(shù)據(jù)愛好者的自學(xué)用書。

圖書在版編目(CIP)數(shù)據(jù)

大數(shù)據(jù)技術(shù)與應(yīng)用.Ⅰ/胡大威,孫琳主編.—北京:

中國鐵道出版社有限公司,2019.8

職業(yè)教育賽教一體化課程改革系列規(guī)劃教材

ISBN978-7-113-25813-9

Ⅰ.①大…Ⅱ.①胡…②孫…Ⅲ.①數(shù)據(jù)處理-高等

學(xué)校-教材Ⅳ.①TP274

中國版本圖書館CIP數(shù)據(jù)核字(2019)第180576號

書名:大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

作者:胡大威孫琳

策劃:徐海英編輯部電話2068

責(zé)任編輯:王春霞包寧

封面制作:劉穎

責(zé)任校對:張玉華

責(zé)任印制:郭向偉

出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)

網(wǎng)址:/51eds/

印刷:三河市航遠(yuǎn)印刷有限公司

版次:2019年8月第1版2019年8月第1次印刷

開本:850mm×1168mm1/16印張:19.75字?jǐn)?shù):492千

書號:ISBN978-7-113-25813-9

定價(jià):59.80元

版權(quán)所有侵權(quán)必究

凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836

打擊盜版舉報(bào)電話:(010)51873659

前言

為認(rèn)真貫徹落實(shí)教育部實(shí)施新時(shí)代中國特色高水平高職學(xué)校和專業(yè)群建設(shè),扎實(shí)、持續(xù)

地推進(jìn)職校改革,強(qiáng)化內(nèi)涵建設(shè)和高質(zhì)量發(fā)展,落實(shí)雙高計(jì)劃,抓好2019年職業(yè)院校信息技

術(shù)人才培養(yǎng)方案實(shí)施及配套建設(shè),在湖北信息技術(shù)職業(yè)教育集團(tuán)的大力支持下,武漢唯眾智創(chuàng)

科技有限公司統(tǒng)一規(guī)劃并啟動了“職業(yè)教育賽教一體化課程改革系列規(guī)劃教材”(《云計(jì)算技

術(shù)與應(yīng)用》《大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ》《網(wǎng)絡(luò)綜合布線》《物聯(lián)網(wǎng).NET開發(fā)》《物聯(lián)網(wǎng)嵌入式

開發(fā)》《物聯(lián)網(wǎng)移動應(yīng)用開發(fā)》),本書是“教育教學(xué)一線專家、教育企業(yè)一線工程師”等專

業(yè)團(tuán)隊(duì)的匠心之作,是全體編委精益求精,在日復(fù)一日年復(fù)一年的工作中,不斷探索和超越的

教學(xué)結(jié)晶。本書教學(xué)設(shè)計(jì)遵循教學(xué)規(guī)律,涉及內(nèi)容是真實(shí)項(xiàng)目的拆分與提煉。

大數(shù)據(jù)技術(shù)讓我們以一種前所未有的方式,對海量數(shù)據(jù)進(jìn)行處理與分析,從中挖掘出高

價(jià)值的信息。但同時(shí),大數(shù)據(jù)技術(shù)也是一門綜合性強(qiáng)、難度大的技術(shù),掌握好它不是一件容易

的事。本書是一本介紹Hadoop大數(shù)據(jù)技術(shù)的入門書。編者在對大數(shù)據(jù)運(yùn)維和大數(shù)據(jù)分析崗位

職業(yè)能力進(jìn)行分析的基礎(chǔ)上,以基于工作過程課程開發(fā)理論為依據(jù),結(jié)合高職學(xué)生的學(xué)習(xí)特點(diǎn),

遵循從大數(shù)據(jù)初學(xué)者到大數(shù)據(jù)運(yùn)維工程師和大數(shù)據(jù)分析工程師的職業(yè)能力發(fā)展過程和學(xué)生認(rèn)

知規(guī)律,按照由淺入深、由易到難的順序整合、序化、串聯(lián)過程性知識,較為全面地介紹了大

數(shù)據(jù)的有關(guān)概念和Hadoop生態(tài)常用組件的工作原理、安裝部署及使用方法,最后通過一個(gè)企

業(yè)真實(shí)項(xiàng)目“基于云虛擬實(shí)訓(xùn)平臺的學(xué)情分析系統(tǒng)”給讀者展示了大數(shù)據(jù)分析的全流程。

本書便于教師開展“項(xiàng)目導(dǎo)向、任務(wù)驅(qū)動”模式的教學(xué),實(shí)施“在做中學(xué)、在學(xué)中做、

教學(xué)練做于一體”的理論實(shí)踐一體化教學(xué)。全書教學(xué)內(nèi)容分為Hadoop大數(shù)據(jù)技術(shù)基礎(chǔ)與

Hadoop大數(shù)據(jù)分析案例兩部分。前者包括大數(shù)據(jù)的有關(guān)概念、Hadoop概述、Hadoop集群的

部署與管理、HDFS、MapReduce編程以及Hadoop生態(tài)的其他常用組件ZooKeeper、HBase、

Hive、Sqoop、Flume、Storm、Kafka的工作原理、安裝部署和使用方法,后者通過項(xiàng)目“基

于云虛擬實(shí)訓(xùn)平臺的學(xué)情分析系統(tǒng)”完整展示了大數(shù)據(jù)分析的過程。全書遵循理論夠用、實(shí)用,

實(shí)踐第一的原則選擇內(nèi)容,合理編排,表述深入淺出。

本書有兩大特點(diǎn):一是所有實(shí)驗(yàn)循序漸進(jìn),都有完整的命令和代碼及其運(yùn)行截圖,便于

讀者對照學(xué)習(xí),能有效降低學(xué)習(xí)難度,提高學(xué)習(xí)效率,指導(dǎo)性、實(shí)用性強(qiáng)。二是采用虛擬機(jī)技術(shù),

所有基礎(chǔ)實(shí)驗(yàn)?zāi)茉谄胀ㄅ_式機(jī)上完成,便于實(shí)踐教學(xué)條件不足的學(xué)校開展大數(shù)據(jù)教學(xué)。書中案

例源于企業(yè)真實(shí)項(xiàng)目,可操作性強(qiáng),能幫助讀者快速掌握大數(shù)據(jù)分析的基本技能。

本書由武漢職業(yè)技術(shù)學(xué)院胡大威、武漢軟件工程職業(yè)學(xué)院孫琳任主編;由武漢城市職業(yè)

學(xué)院王世剛、荊州職業(yè)技術(shù)學(xué)院孫重巧、湖北三峽職業(yè)技術(shù)學(xué)院陳文明、武漢唯眾智創(chuàng)科技有

限公司冉柏權(quán)任副主編。具體分工如下:胡大威編寫了單元1、3、4、5、6、10,孫琳編寫了

單元2、7、8、13,王世剛編寫了單元9,孫重巧編寫了單元11,陳文明編寫了單元12,冉柏

權(quán)編寫了單元14,全書由胡大威統(tǒng)稿。

本書在編寫過程中參考和借鑒了大量國內(nèi)外最新著作和網(wǎng)上資料,在此對所參考著作和

資料的作者及相關(guān)出版單位表示衷心的感謝!另外,對本書編寫及出版過程中給予支持的同

事、朋友及相關(guān)人士表示感謝!

由于時(shí)間倉促,編者水平有限,書中難免有遺漏和不足之處,敬請各位讀者批評指正。

編者

2019年5月于武漢

目錄

目錄

計(jì)算機(jī)軟硬件基本配置要求

單元1大數(shù)據(jù)概述12.2.118

2.2.2大數(shù)據(jù)實(shí)驗(yàn)軟件包介紹18

1.1大數(shù)據(jù)的產(chǎn)生12.2.3檢查實(shí)驗(yàn)機(jī)是否支持虛擬化20

大數(shù)據(jù)產(chǎn)生的原因

1.1.112.2.4檢查在BIOS中是否已打開VT-x

大數(shù)據(jù)的發(fā)展歷程

1.1.22功能21

大數(shù)據(jù)的概念

1.23習(xí)題22

1.2.1大數(shù)據(jù)的定義3

1.2.2大數(shù)據(jù)的特征3

單元3VMware和CentOS的安裝23

1.2.3大數(shù)據(jù)的構(gòu)成4

1.2.4大數(shù)據(jù)的意義43.1安裝VMwareWorkstation23

1.3大數(shù)據(jù)的基本處理流程53.1.1VMware虛擬機(jī)簡介23

1.4大數(shù)據(jù)技術(shù)63.1.2安裝VMware虛擬機(jī)24

1.4.1大數(shù)據(jù)的技術(shù)層面63.2創(chuàng)建虛擬機(jī)Master27

1.4.2大數(shù)據(jù)的計(jì)算模式73.3安裝CentOS32

1.4.3大數(shù)據(jù)的技術(shù)路線73.4克隆虛擬機(jī)Slave34

1.4.4大數(shù)據(jù)技術(shù)的應(yīng)用73.5上傳Hadoop實(shí)驗(yàn)軟件包到Linux

1.5大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)的關(guān)系8系統(tǒng)中36

1.5.1云計(jì)算83.6常用的Linux操作系統(tǒng)命令和文本

1.5.2物聯(lián)網(wǎng)9編輯器vi39

1.5.3大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)的關(guān)系103.6.1Linux操作系統(tǒng)常用命令39

習(xí)題103.6.2文本編輯器vi41

習(xí)題43

單元2Hadoop概述11

Hadoop集群的部署與管理44

2.1Hadoop簡介11單元4

2.1.1Hadoop的起源及發(fā)展歷史114.1Hadoop的運(yùn)行模式44

2.1.2Hadoop的設(shè)計(jì)思想和特性134.1.1計(jì)算機(jī)集群44

2.1.3Hadoop的體系結(jié)構(gòu)134.1.2Hadoop的運(yùn)行模式46

2.1.4Hadoop的生態(tài)系統(tǒng)144.2配置Linux系統(tǒng)48

2.1.5Hadoop的發(fā)行版本164.2.1說明48

2.1.6ApacheHadoop的下載174.2.2配置時(shí)鐘同步49

2.2Hadoop系列實(shí)驗(yàn)前的準(zhǔn)備工作184.2.3配置主機(jī)名50

I

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

4.2.4配置網(wǎng)絡(luò)環(huán)境515.2.1HDFS的基本命令96

4.2.5關(guān)閉防火墻555.2.2HDFS文件系統(tǒng)的操作102

4.2.6配置hosts列表565.3安裝與配置Eclipse集成開發(fā)環(huán)境104

4.2.7安裝JDK585.3.1Eclipse開發(fā)環(huán)境介紹104

4.2.8配置免密鑰登錄605.3.2Eclipse的安裝和配置105

4.3配置Hadoop635.4編程實(shí)現(xiàn)HDFS常用操作112

4.3.1解壓Hadoop安裝包645.4.1HDFSJavaAPI簡介112

4.3.2在Master節(jié)點(diǎn)修改Hadoop配置5.4.2HDFSJavaAPI的一般用法113

文件

645.4.3HDFSJavaAPI的編程實(shí)踐113

在節(jié)點(diǎn)上配置的

4.3.3MasterHadoop習(xí)題116

系統(tǒng)環(huán)境變量71

4.3.4將已經(jīng)配置好的Hadoop復(fù)制到

單元6MapReduce118

其他節(jié)點(diǎn)上71

4.3.5創(chuàng)建數(shù)據(jù)目錄716.1MapReduce概述118

4.4啟動Hadoop集群716.1.1MapReduce的設(shè)計(jì)思想119

4.4.1格式化文件系統(tǒng)716.1.2MapReduce的體系結(jié)構(gòu)119

4.4.2啟動Hadoop集群726.1.3MapReduce的工作過程120

4.5測試Hadoop集群736.1.4MapReduce的工作過程示例——

4.6監(jiān)控Hadoop集群74詞頻統(tǒng)計(jì)123

4.6.1監(jiān)控HDFS746.2YARN概述126

4.6.2監(jiān)控Yarn776.2.1YARN的設(shè)計(jì)思想126

4.7停止Hadoop集群796.2.2YARN的體系結(jié)構(gòu)126

4.8動態(tài)管理節(jié)點(diǎn)796.2.3YARN的工作流程128

4.8.1增加節(jié)點(diǎn)806.3在集群中運(yùn)行MapReduce任務(wù)129

4.8.2刪除節(jié)點(diǎn)846.3.1Hadoop官方示例包中的測試程序129

4.9Hadoop的命令866.3.2提交MapReduce任務(wù)給集群運(yùn)行129

習(xí)題876.4在Eclipse中配置MapReduce環(huán)境132

6.5編寫MapReduce詞頻統(tǒng)計(jì)程序134

單元5Hadoop分布式文件系統(tǒng)6.5.1MapReduce編程步驟134

HDFS886.5.2編寫MapReduce詞頻統(tǒng)計(jì)程序134

6.5.3打包提交代碼運(yùn)行136

5.1HDFS概述88

習(xí)題137

5.1.1HDFS簡介88

5.1.2HDFS的體系結(jié)構(gòu)89

5.1.3HDFS的概念90單元7分布式協(xié)調(diào)服務(wù)器

5.1.4HDFS的存儲原理93ZooKeeper140

5.1.5HDFS文件的讀寫過程947.1ZooKeeper概述140

5.1.6HDFS高可用性957.1.1ZooKeeper簡介140

5.2用命令方式實(shí)現(xiàn)HDFS常用操作967.1.2ZooKeeper的體系結(jié)構(gòu)141

II

目錄

7.1.3ZooKeeper的數(shù)據(jù)模型1439.1.3Hive的體系結(jié)構(gòu)173

7.1.4ZooKeeper的工作原理1449.1.4Hive的工作原理174

7.2ZooKeeper集群安裝部署1459.1.5Hive的數(shù)據(jù)類型與存儲格式174

7.2.1在Master節(jié)點(diǎn)上安裝ZooKeeper1459.1.6Hive的數(shù)據(jù)模型176

7.2.2配置ZooKeeper屬性文件1469.2Hive的安裝部署176

7.2.3將Master節(jié)點(diǎn)上的ZooKeeper9.2.1安裝Hive177

安裝文件復(fù)制到Slave節(jié)點(diǎn)9.2.2安裝配置MySQL177

和Slave2節(jié)點(diǎn)上1479.2.3配置Hive182

7.2.4啟動ZooKeeper集群1479.2.4啟動Hive安裝183

7.2.5測試ZooKeeper集群1489.3HiveShell操作183

7.3ZooKeeper的簡單操作1499.4Hive數(shù)據(jù)導(dǎo)入的實(shí)例186

7.3.1使用zkServer.sh腳本進(jìn)行的操作149習(xí)題190

7.3.2ZooKeeper的常用Shell命令151

習(xí)題151單元10Sqoop的安裝和使用191

10.1Sqoop概述191

分布式數(shù)據(jù)庫HBase152

單元810.1.1Sqoop簡介191

8.1HBase概述15210.1.2Sqoop的工作原理192

8.1.1HBase簡介15210.2Sqoop的安裝、配置和運(yùn)行194

8.1.2HBase的數(shù)據(jù)模型15310.2.1安裝Sqoop194

8.1.3HBase的物理存儲15610.2.2配置MySQL連接器195

8.1.4HBase的體系結(jié)構(gòu)15710.2.3配置環(huán)境變量195

8.1.5HBase的工作原理15910.2.4啟動并驗(yàn)證Sqoop196

8.2HBase集群的安裝部署16010.3Sqoop的應(yīng)用198

8.2.1在Master節(jié)點(diǎn)上安裝HBase16010.3.1從MySQL數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)

8.2.2在Master節(jié)點(diǎn)上配置HBase161到HDFS中198

8.2.3將HBase安裝文件復(fù)制到Slave10.3.2從Hive或HDFS中導(dǎo)出數(shù)據(jù)

和Slave2節(jié)點(diǎn)上162到MySQL數(shù)據(jù)庫202

8.2.4啟動HBase16310.3.3腳本打包203

8.2.5驗(yàn)證HBase163習(xí)題204

8.2.6停止HBase164

8.3常用的HBaseShell命令164單元11Flume205

習(xí)題170

11.1Flume概述205

11.1.1Flume簡介205

數(shù)據(jù)倉庫Hive171

單元911.1.2Flume的工作原理206

9.1Hive概述17111.2Flume的安裝配置210

9.1.1數(shù)據(jù)倉庫簡介17111.2.1下載安裝包并解壓210

9.1.2Hive簡介17211.2.2配置環(huán)境變量211

III

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

配置文件

11.2.3?ume-env.sh211單元14基于云虛擬實(shí)訓(xùn)平臺的學(xué)情

11.2.4驗(yàn)證?ume211

分析系統(tǒng)234

11.3Flume的常用操作命令212

14.1項(xiàng)目簡介234

的應(yīng)用

11.4Flume21314.1.1唯眾云虛擬實(shí)訓(xùn)平臺介紹235

11.4.1Flume的配置和運(yùn)行213

14.1.2學(xué)情分析系統(tǒng)需求分析235

11.4.2Flume的簡單實(shí)例215

14.1.3學(xué)情分析系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)240

習(xí)題216

14.2獲取云虛擬平臺日志內(nèi)容243

14.2.1使用爬蟲獲取數(shù)據(jù)243

單元12流計(jì)算框架Storm21714.2.2將抓取的數(shù)據(jù)上傳到HDFS253

使用對數(shù)據(jù)進(jìn)行清洗

12.1Storm概述21714.2.3MapReduce...256

12.1.1Storm簡介21714.3創(chuàng)建封裝數(shù)據(jù)的javaBean258

12.1.2Storm的工作原理21814.3.1LoginLogBean.java

(登錄日志)

12.1.3Storm的數(shù)據(jù)模型220258

12.2Storm集群的搭建22114.3.2OperationLogBean.java

(操作日志信息)

12.2.1在Master節(jié)點(diǎn)上安裝Storm221260

12.2.2將Storm安裝文件復(fù)制到14.4數(shù)據(jù)清洗264

數(shù)據(jù)標(biāo)記與封裝

Slave、Slave2、Slave3節(jié)點(diǎn)22214.4.1

()

12.2.3啟動Storm集群223LoginLogParse.java264

數(shù)據(jù)標(biāo)記與封裝

12.2.4測試Storm集群22314.4.2

()

12.3向Storm集群提交任務(wù)224OperationLogParse.java265

14.4.3數(shù)據(jù)清洗與輸出——登錄日志

習(xí)題225

(LoginLogProcess.java)265

14.4.4數(shù)據(jù)清洗與輸出——操作日志

單元13Kafka226

(OperationLogProcess.java)267

13.1Kafka概述22614.5對結(jié)果進(jìn)行分析及可視化268

13.1.1Kafka簡介22614.5.1ECharts介紹268

13.1.2Kafka的體系結(jié)構(gòu)22714.5.2對清洗后的數(shù)據(jù)分析269

13.1.3Kafka的工作原理22814.5.3使用ECharts展示273

13.1.4Kafka使用場景229

13.2安裝配置和使用Kafka229參考文獻(xiàn)308

13.2.1安裝Kafka229

13.2.2配置Kafka230

13.2.3啟動并使用Kafka230

習(xí)題233

IV

單元1

大數(shù)據(jù)概述

學(xué)習(xí)目標(biāo)

y了解大數(shù)據(jù)產(chǎn)生的原因。

y掌握大數(shù)據(jù)的概念和特征。

y了解大數(shù)據(jù)的處理流程。

y了解大數(shù)據(jù)的關(guān)鍵技術(shù)。

y了解大數(shù)據(jù)的主要應(yīng)用。

y理解云計(jì)算和物聯(lián)網(wǎng)的概念和關(guān)鍵技術(shù),了解大數(shù)據(jù)與云計(jì)算和物聯(lián)網(wǎng)三者之間的區(qū)別與

聯(lián)系。

1.1大數(shù)據(jù)的產(chǎn)生

1.1.1大數(shù)據(jù)產(chǎn)生的原因

20世紀(jì)中后期以來,計(jì)算機(jī)技術(shù)快速發(fā)展并全面融入社會生活。

21世紀(jì)是數(shù)據(jù)信息大發(fā)展的時(shí)代。進(jìn)入21世紀(jì)后,隨著互聯(lián)網(wǎng)的廣泛應(yīng)用,人類活動的進(jìn)一

步擴(kuò)展,移動互聯(lián)、電子商務(wù)、搜索引擎、社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)等拓展了互聯(lián)網(wǎng)的邊界和應(yīng)用范圍,

數(shù)據(jù)規(guī)模急劇膨脹,包括電信、金融、零售、娛樂、汽車、餐飲、能源、政務(wù)、醫(yī)療、體育等在

內(nèi)的各行業(yè)都在瘋狂產(chǎn)生著數(shù)據(jù),累積的數(shù)據(jù)量越來越大,數(shù)據(jù)類型也越來越多、越來越復(fù)雜,

已經(jīng)超越了傳統(tǒng)數(shù)據(jù)管理系統(tǒng)、處理模式的能力范圍,信息已經(jīng)積累到了一個(gè)開始引發(fā)變革的程

度,它不僅使世界充斥著比以往更多的信息,而且其增長速度也在加快,于是“大數(shù)據(jù)”這樣一

個(gè)概念應(yīng)運(yùn)而生。

1

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

“大數(shù)據(jù)”這一概念的形成,有如下三個(gè)標(biāo)志性事件:

(1)2008年9月,美國《自然》雜志專刊——Thenextgoogle第一次正式提出“大數(shù)據(jù)”概念。

(2)2011年2月,《科學(xué)》雜志??狣ealingwithdata,通過社會調(diào)查的方式,第一次綜

合分析了大數(shù)據(jù)對人們生活造成的影響,詳細(xì)描述了人類面臨的“數(shù)據(jù)困境”。

(3)2011年5月,麥肯錫研究院發(fā)布報(bào)告——Bigdata:Thenextfrontierforinnovation,competition,

andproductivity,第一次給大數(shù)據(jù)做出相對清晰的定義:“大數(shù)據(jù)是指其大小超出了常規(guī)數(shù)據(jù)庫工

具獲取、存儲、管理和分析能力的數(shù)據(jù)集?!?/p>

歸納起來大數(shù)據(jù)的出現(xiàn)有以下幾個(gè)原因。

(1)信息科技的不斷進(jìn)步為大數(shù)據(jù)時(shí)代提供了技術(shù)支撐,表現(xiàn)在CPU處理能力大幅提升,存

儲設(shè)備容量不斷增加,硬件設(shè)備價(jià)格大幅降低,網(wǎng)絡(luò)帶寬不斷增加,網(wǎng)絡(luò)技術(shù)的發(fā)展為數(shù)據(jù)的生

產(chǎn)提供了極大的方便,云計(jì)算概念的出現(xiàn)進(jìn)一步促進(jìn)了大數(shù)據(jù)的發(fā)展,人工智能進(jìn)一步提升了處

理和理解數(shù)據(jù)的能力。

(2)數(shù)據(jù)產(chǎn)生方式的變革,使得數(shù)據(jù)爆炸性增長,這促成大數(shù)據(jù)時(shí)代的來臨。傳統(tǒng)IT、企

業(yè)業(yè)務(wù)系統(tǒng)、門戶網(wǎng)站大約占大數(shù)據(jù)主要來源的15%。隨著數(shù)據(jù)生產(chǎn)方式變得自動化,數(shù)據(jù)生產(chǎn)

融入每個(gè)人的日常生活,伴隨著社交網(wǎng)絡(luò)興起,大量的用戶自生成內(nèi)容、音頻、文本信息、視頻、

圖片,出現(xiàn)了非結(jié)構(gòu)化數(shù)據(jù)。目前,圖像、視頻和音頻數(shù)據(jù)所占的比例越來越大。物聯(lián)網(wǎng)產(chǎn)生的

數(shù)據(jù)量更大,加上移動互聯(lián)網(wǎng)能更準(zhǔn)確、更快速地收集用戶信息(如環(huán)境、位置、生活信息等數(shù)據(jù)),

使得數(shù)據(jù)量處于急劇加速增長的趨勢。根據(jù)IDC作出的估測,數(shù)據(jù)一直都在以每年50%的速度增

長(大數(shù)據(jù)摩爾定律),人類在最近兩年產(chǎn)生的數(shù)據(jù)量相當(dāng)于之前產(chǎn)生的全部數(shù)據(jù)量,如圖1-1所示。

圖1-1數(shù)據(jù)生產(chǎn)方式的演變

大數(shù)據(jù)產(chǎn)業(yè)包括IT基礎(chǔ)設(shè)施層、數(shù)據(jù)源層、數(shù)據(jù)管理層、數(shù)據(jù)分析層、數(shù)據(jù)平臺層和數(shù)據(jù)應(yīng)

用層,在不同層面,都已經(jīng)形成了一批引領(lǐng)市場的技術(shù)和企業(yè)。

1.1.2大數(shù)據(jù)的發(fā)展歷程

大數(shù)據(jù)的發(fā)展大致經(jīng)歷了以下三個(gè)階段。

(1)萌芽階段。20世紀(jì)90年代至21世紀(jì)初,隨著數(shù)據(jù)挖掘理論和數(shù)據(jù)庫技術(shù)的逐步成熟,

2

單元1大數(shù)據(jù)概述

一批商業(yè)智能工具和知識管理技術(shù)開始被應(yīng)用,如數(shù)據(jù)倉庫、專家系統(tǒng)、知識管理系統(tǒng)等。

(2)成熟階段。21世紀(jì)前十年,Web2.0應(yīng)用迅猛發(fā)展,非結(jié)構(gòu)化數(shù)據(jù)大量產(chǎn)生,傳統(tǒng)處理方

法難以應(yīng)對,帶動了大數(shù)據(jù)技術(shù)的快速突破,大數(shù)據(jù)解決方案逐漸走向成熟,形成了并行計(jì)算與

分布式系統(tǒng)兩大核心技術(shù),谷歌的GFS和MapReduce等大數(shù)據(jù)技術(shù)受到追捧,Hadoop平臺開始

大行其道。

(3)大規(guī)模應(yīng)用階段。2010年以后,大數(shù)據(jù)應(yīng)用滲透各行各業(yè),數(shù)據(jù)驅(qū)動決策,信息社會智

能化程度大幅提高。

1.2大數(shù)據(jù)的概念

1.2.1大數(shù)據(jù)的定義

大數(shù)據(jù)最早在20世紀(jì)90年代被提出,麥肯錫在2012年的評估報(bào)告中指出“大數(shù)據(jù)時(shí)代”已

經(jīng)到來,使得人們對于大數(shù)據(jù)重要性的認(rèn)知和關(guān)注度進(jìn)一步增加,但尚無統(tǒng)一的定義。

麥肯錫給出的定義:大數(shù)據(jù)是大小超出常規(guī)數(shù)據(jù)庫工具獲取、存儲、管理和分析能力的數(shù)據(jù)集,

即大數(shù)據(jù)是現(xiàn)有數(shù)據(jù)庫管理工具和傳統(tǒng)數(shù)據(jù)處理手段很難處理的大型、復(fù)雜的數(shù)據(jù)集,涉及采集、

存儲、搜索、共享、傳輸和可視化等方面。

全球最具權(quán)威的IT研究與顧問咨詢公司Gartner將大數(shù)據(jù)定義為:大數(shù)據(jù)是需要新處理模式

才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。

大數(shù)據(jù)是指無法在可容忍的時(shí)間內(nèi)用傳統(tǒng)IT技術(shù)和軟硬件工具對其進(jìn)行感知、獲取、管理、處

理和服務(wù)的數(shù)據(jù)集合。這里傳統(tǒng)的IT技術(shù)和軟硬件工具是指單機(jī)計(jì)算模式和傳統(tǒng)的數(shù)據(jù)分析算法。

盡管對大數(shù)據(jù)概念的表述不相同,但普遍認(rèn)為大數(shù)據(jù)是信息技術(shù)領(lǐng)域的重大技術(shù)變革。

1.2.2大數(shù)據(jù)的特征

一般來說,大數(shù)據(jù)具備以下四個(gè)維度的特征(4V),即Volume、Variety、Velocity和Value。

1.?dāng)?shù)據(jù)量大(Volume)

互聯(lián)網(wǎng)、在線交易、微信、電話、企業(yè)IT、物聯(lián)網(wǎng)、社區(qū)等,隨時(shí)都在快速累積龐大的數(shù)據(jù),

數(shù)據(jù)量等級很容易達(dá)到TB甚至PB或EB級,原先數(shù)據(jù)集中存儲和集中計(jì)算的方式已不適應(yīng)客觀

現(xiàn)實(shí)的要求。

2.種類多(Variety)

與傳統(tǒng)數(shù)據(jù)相比,大數(shù)據(jù)來源廣、維度多,而且數(shù)據(jù)類型非常多樣化,既包括結(jié)構(gòu)化的數(shù)據(jù),

也包括文檔、網(wǎng)絡(luò)日志、圖片、音視頻、地理位置信息、模擬信號、社區(qū)、交友數(shù)據(jù)等半結(jié)構(gòu)化

和非結(jié)構(gòu)化數(shù)據(jù)。

3.速度快、時(shí)效高(Velocity)

隨著帶寬越來越大、設(shè)備越來越多,每秒產(chǎn)生的數(shù)據(jù)流越來越大。從數(shù)據(jù)的生成到消耗,時(shí)

間窗口非常小,時(shí)間太久就會失去數(shù)據(jù)的價(jià)值(1秒定律),可用于生成決策的時(shí)間非常少,必須

能在最短時(shí)間內(nèi)得出分析結(jié)果,所以大數(shù)據(jù)對數(shù)據(jù)處理有較高的時(shí)效性要求,這就需要新的數(shù)據(jù)

處理模式。隨著互聯(lián)網(wǎng)、計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)生成、存儲、分析、處理的速度遠(yuǎn)遠(yuǎn)超出人們

3

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

的想象力,這是大數(shù)據(jù)區(qū)別于傳統(tǒng)數(shù)據(jù)或小數(shù)據(jù)的顯著特征。

4.價(jià)值高,但價(jià)值密度低(Value)

大數(shù)據(jù)多為半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),并未經(jīng)程式化處理,其中存在大量的無用信息,價(jià)值

密度較低。但經(jīng)過清洗、整合和深度分析,可得到高價(jià)值的信息。

以公共場所監(jiān)控視頻為例,連續(xù)不間斷監(jiān)控過程中,可能僅幾秒的視頻是需要的,具有很高

的價(jià)值。

1.2.3大數(shù)據(jù)的構(gòu)成

近年來互聯(lián)網(wǎng)、云計(jì)算、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等新型信息技術(shù)的發(fā)展,使得數(shù)據(jù)產(chǎn)生來源更

加豐富、類型更加多樣化。大數(shù)據(jù)是由結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)組成的。

1.結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù)是指具有固定結(jié)構(gòu)、屬性劃分以及類型的信息,簡單來說就是數(shù)據(jù)庫中存儲的數(shù)

據(jù),通常直接存放在數(shù)據(jù)庫表中。

一般來講,結(jié)構(gòu)化數(shù)據(jù)僅占全部數(shù)據(jù)的20%以內(nèi),但就是這20%以內(nèi)的數(shù)據(jù)濃縮了過去很久

以來用戶各個(gè)方面的數(shù)據(jù)需求,發(fā)展已經(jīng)成熟。

2.非結(jié)構(gòu)化數(shù)據(jù)

非結(jié)構(gòu)化數(shù)據(jù)無法用統(tǒng)一的結(jié)構(gòu)來表示,包括視頻、音頻、圖片、圖像、文檔、文本等形

式。通常出現(xiàn)在諸如醫(yī)療影像系統(tǒng)、教育視頻點(diǎn)播、視頻監(jiān)控、國土GIS(GeographicInformation

System,地理信息系統(tǒng))、文件服務(wù)器、媒體資源管理等具體應(yīng)用中,這些行業(yè)對于存儲需求包括

數(shù)據(jù)存儲、數(shù)據(jù)備份以及數(shù)據(jù)共享等。

數(shù)據(jù)記錄較小時(shí)(如KB級別),可以考慮直接存放到數(shù)據(jù)庫表中(整條記錄映射到某個(gè)列中);

數(shù)據(jù)記錄較大時(shí),通??紤]直接存放到文件系統(tǒng)中,相關(guān)數(shù)據(jù)的索引信息可以存放到數(shù)據(jù)庫中。

非結(jié)構(gòu)化中往往存在大量的有價(jià)值的信息,特別是隨著移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的發(fā)展,非結(jié)構(gòu)

化信息正以成倍的速度快速增長。

3.半結(jié)構(gòu)化數(shù)據(jù)

半結(jié)構(gòu)化數(shù)據(jù)具有一定的結(jié)構(gòu),但又有一定的可變性,如郵件、HTML、報(bào)表、資源庫等數(shù)據(jù)。

典型場景如郵件系統(tǒng)、Web集群、教學(xué)資源庫、數(shù)據(jù)挖掘系統(tǒng)、檔案系統(tǒng)等。這些應(yīng)用對應(yīng)于數(shù)

據(jù)存儲、數(shù)據(jù)備份、數(shù)據(jù)共享以及數(shù)據(jù)歸檔等基本存儲需求。

半結(jié)構(gòu)化數(shù)據(jù)可以考慮直接轉(zhuǎn)換成結(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲;也可以根據(jù)數(shù)據(jù)記錄的大小和特點(diǎn),

選擇合適的存儲方式。

1.2.4大數(shù)據(jù)的意義

在大數(shù)據(jù)時(shí)代“萬物皆數(shù)據(jù)”,大數(shù)據(jù)的影響已經(jīng)深入各個(gè)領(lǐng)域和行業(yè),人類生活在一個(gè)海量、

動態(tài)、多樣的數(shù)據(jù)世界中,數(shù)據(jù)無處不在、無時(shí)不有、無人不用。在經(jīng)濟(jì)及其他領(lǐng)域中,將大量

數(shù)據(jù)進(jìn)行分析后就可得出許多數(shù)據(jù)的關(guān)聯(lián)性,可用于預(yù)測商業(yè)趨勢、營銷研究、金融財(cái)務(wù)、疾病

研究、打擊犯罪等?!坝脭?shù)據(jù)說話”,決策行為將基于數(shù)據(jù)和分析的結(jié)果,而不是依靠經(jīng)驗(yàn)和直覺。

在大數(shù)據(jù)背景下,因存在海量無限、包羅萬象的數(shù)據(jù),讓許多看似毫不相干的現(xiàn)象之間發(fā)生

一定的關(guān)聯(lián),使人們能夠更簡捷、更清晰地認(rèn)知事物和把握局勢?!捌【婆c尿布”的故事被稱為營

銷界的神話,能及早預(yù)警流感傳播的“谷歌流感趨勢”系統(tǒng)充分反映了大數(shù)據(jù)在揭示事物的相關(guān)

關(guān)系上所具有的巨大價(jià)值。

4

單元1大數(shù)據(jù)概述

大數(shù)據(jù)對科學(xué)研究、思維方式、社會發(fā)展和就業(yè)市場等方面也都產(chǎn)生了重要的影響,深刻地

影響并改變著我們的社會生產(chǎn)和日常生活。圖靈獎(jiǎng)獲得者、著名數(shù)據(jù)庫專家JimGray博士觀察并

總結(jié)人類自古以來,在科學(xué)研究上先后歷經(jīng)了實(shí)驗(yàn)、理論、計(jì)算和數(shù)據(jù)四種范式。第四范式“數(shù)據(jù)”

就是利用大量數(shù)據(jù)來發(fā)現(xiàn)新的規(guī)律。在思維方式方面,大數(shù)據(jù)完全顛覆了傳統(tǒng)的思維方式,大數(shù)

據(jù)思維的核心是利用數(shù)據(jù)解決問題。大數(shù)據(jù)時(shí)代,處理的數(shù)據(jù)從樣本數(shù)據(jù)變成全部數(shù)據(jù)。由于是

全樣本數(shù)據(jù),人們不得不接受數(shù)據(jù)的混雜性,關(guān)注效率而不是精確度,從精確思維轉(zhuǎn)變到容錯(cuò)思

維。人類通過對大數(shù)據(jù)的處理,放棄對因果關(guān)系的渴求,轉(zhuǎn)而關(guān)注相關(guān)關(guān)系,捕捉現(xiàn)在,預(yù)測未來。

大數(shù)據(jù)思維最關(guān)鍵的轉(zhuǎn)變在于從自然思維轉(zhuǎn)向智能思維,使得大數(shù)據(jù)像具有生命力一樣,獲得類

似于“人腦”的智能,甚至智慧。深刻理解大數(shù)據(jù)的這些影響,有助于我們更好地把握學(xué)習(xí)和應(yīng)

用大數(shù)據(jù)的方向。

1.3大數(shù)據(jù)的基本處理流程

大數(shù)據(jù)的基本處理流程一般可分為四大步驟:數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)分析和數(shù)據(jù)可視化,

如圖1-2所示。

圖1-2大數(shù)據(jù)的基本處理流程

1.?dāng)?shù)據(jù)采集

大數(shù)據(jù)的采集一般使用ETL工具將分布的、異構(gòu)數(shù)據(jù)源(如移動APP應(yīng)用端、網(wǎng)頁端、智能

硬件端、多種傳感器端等)中的數(shù)據(jù)采集到數(shù)據(jù)庫或臨時(shí)文件中。

常用的數(shù)據(jù)采集方式主要包括:數(shù)據(jù)抓取、數(shù)據(jù)導(dǎo)入、物聯(lián)網(wǎng)傳感設(shè)備自動信息采集等。

2.?dāng)?shù)據(jù)清洗

這些采集到的海量數(shù)據(jù)大體上是所謂的臟數(shù)據(jù),不能直接進(jìn)行有效的分析或挖掘結(jié)果差強(qiáng)人

意,因?yàn)槠渲型鶌A雜著大量重復(fù)或無用的數(shù)據(jù),此時(shí)需要對數(shù)據(jù)進(jìn)行簡單的清洗和預(yù)處理,使

得不同來源的數(shù)據(jù)整合成一致的、適合數(shù)據(jù)分析算法和工具讀取的數(shù)據(jù)。然后,將這些清洗過的

數(shù)據(jù)存儲到分布式文件系統(tǒng)(如HDFS)或者分布式數(shù)據(jù)庫(如HBase)或者數(shù)據(jù)倉庫(如Hive)中。

也有一些用戶會在導(dǎo)入時(shí)使用Storm對流數(shù)據(jù)進(jìn)行流式計(jì)算,以滿足部分業(yè)務(wù)的實(shí)時(shí)計(jì)算需求。

數(shù)據(jù)清洗完后接著進(jìn)行或同時(shí)進(jìn)行數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)規(guī)約等一系列處理,這個(gè)過程

稱為數(shù)據(jù)預(yù)處理。

(1)數(shù)據(jù)篩選:主要是刪除原始數(shù)據(jù)集中的無關(guān)數(shù)據(jù)、重復(fù)數(shù)據(jù),處理缺失值、異常值,平

滑噪聲數(shù)據(jù),篩選掉與挖掘主題無關(guān)的數(shù)據(jù)等目標(biāo)。

5

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

(2)數(shù)據(jù)集成:是將多個(gè)數(shù)據(jù)源中的數(shù)據(jù)合并起來并存放到一個(gè)一致的數(shù)據(jù)存儲(如數(shù)據(jù)倉

庫)中的過程。

(3)數(shù)據(jù)轉(zhuǎn)換:通過平滑聚集、數(shù)據(jù)概化、規(guī)范化等方式將數(shù)據(jù)轉(zhuǎn)換成適用于數(shù)據(jù)挖掘的形式。

(4)數(shù)據(jù)歸約:尋找依賴于發(fā)現(xiàn)目標(biāo)的數(shù)據(jù)的有用特征,縮減數(shù)據(jù)規(guī)模,最大限度地精簡數(shù)

據(jù)量。

3.?dāng)?shù)據(jù)分析

數(shù)據(jù)分析是大數(shù)據(jù)處理流程的核心步驟。通過數(shù)據(jù)采集和清洗兩個(gè)環(huán)節(jié),我們已經(jīng)從異構(gòu)的

數(shù)據(jù)源中獲得了用于大數(shù)據(jù)處理的原始數(shù)據(jù),用戶可以根據(jù)自己的需求對這些數(shù)據(jù)進(jìn)行分析處理

(如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、數(shù)據(jù)統(tǒng)計(jì)等)。數(shù)據(jù)分析可以用于預(yù)測系統(tǒng)、決策支持、推薦系統(tǒng)和商

業(yè)智能等。

統(tǒng)計(jì)分析需要用工具對數(shù)據(jù)進(jìn)行普通的分析和分類匯總,以滿足常見的數(shù)據(jù)分析需求。在大

數(shù)據(jù)的統(tǒng)計(jì)與分析過程中,主要面對的挑戰(zhàn)是分析涉及的數(shù)據(jù)量太大,其對系統(tǒng)資源,特別是I/O

會有極大的占用。

數(shù)據(jù)挖掘是創(chuàng)建數(shù)據(jù)挖掘模型的一組試探法和計(jì)算方法,通過對提供的數(shù)據(jù)進(jìn)行分析,查找

特定類型的模式和趨勢,最終形成模型。與統(tǒng)計(jì)分析過程不同的是,數(shù)據(jù)挖掘一般沒有什么預(yù)先

設(shè)定好的主題,主要是在現(xiàn)有數(shù)據(jù)上面進(jìn)行基于各種算法的計(jì)算,起到預(yù)測效果,實(shí)現(xiàn)一些高級

別數(shù)據(jù)分析的需求。比較典型的算法有用于聚類的K-Means、用于統(tǒng)計(jì)學(xué)習(xí)的SVM和用于分類的

NaiveBayes,主要使用的工具有Hadoop的Mahout等。

4.?dāng)?shù)據(jù)可視化

數(shù)據(jù)可視化是指將結(jié)構(gòu)或非結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)目梢暬瘓D表,從而將隱藏在數(shù)據(jù)中的

信息直接展現(xiàn)在人們面前。

大數(shù)據(jù)分析的使用者既有專業(yè)的大數(shù)據(jù)分析師,也有普通用戶,二者對于大數(shù)據(jù)分析最基本

的要求就是可視化分析,因?yàn)榭梢暬治瞿軌蛞詧D形直觀地呈現(xiàn)大數(shù)據(jù)的特點(diǎn),非常容易被用戶

所接受。

1.4大數(shù)據(jù)技術(shù)

1.4.1大數(shù)據(jù)的技術(shù)層面

大數(shù)據(jù)并非單一的數(shù)據(jù)或技術(shù),而是數(shù)據(jù)和大數(shù)據(jù)技術(shù)的綜合體。大數(shù)據(jù)的主要技術(shù)層面如下。

(1)基礎(chǔ)架構(gòu)支持類:云計(jì)算平臺、云存儲、虛擬化、網(wǎng)絡(luò)、資源監(jiān)控等。

(2)數(shù)據(jù)采集:利用ETL工具、數(shù)據(jù)總線等,將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)抽取到臨時(shí)中

間層后進(jìn)行清洗、轉(zhuǎn)換、集成;或者把實(shí)時(shí)采集的數(shù)據(jù)作為流計(jì)算系統(tǒng)的輸入,進(jìn)行實(shí)時(shí)處理分析。

(3)數(shù)據(jù)存儲和管理:利用分布式文件系統(tǒng)、數(shù)據(jù)倉庫、關(guān)系型數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫、云

數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫等。

(4)數(shù)據(jù)處理與分析:利用分布式并行編程模型和計(jì)算框架,結(jié)合數(shù)據(jù)查詢統(tǒng)計(jì)與分析方

法、機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法、圖譜處理、BI(BusinessIntelligence,商業(yè)智能)等,實(shí)現(xiàn)對

海量數(shù)據(jù)的處理和分析、數(shù)據(jù)預(yù)測與數(shù)據(jù)挖掘。

(5)數(shù)據(jù)展現(xiàn)與交互:利用報(bào)表、圖形、可視化工具、增強(qiáng)現(xiàn)實(shí)等技術(shù)對分析結(jié)果進(jìn)行可視

6

單元1大數(shù)據(jù)概述

化呈現(xiàn),幫助人們更好地理解數(shù)據(jù)、分析數(shù)據(jù)。

(6)數(shù)據(jù)安全和隱私保護(hù):在從大數(shù)據(jù)中挖掘潛在的巨大商業(yè)價(jià)值和學(xué)術(shù)價(jià)值的同時(shí),構(gòu)建

隱私數(shù)據(jù)保護(hù)體系和數(shù)據(jù)安全體系,有效保護(hù)個(gè)人隱私和數(shù)據(jù)安全。

1.4.2大數(shù)據(jù)的計(jì)算模式

大數(shù)據(jù)的計(jì)算模式有如下幾類。

1.批處理計(jì)算模式

針對大規(guī)模數(shù)據(jù)的批量處理。批處理系統(tǒng)將并行計(jì)算的實(shí)現(xiàn)進(jìn)行封裝,大大降低開發(fā)人員的

并行程序設(shè)計(jì)難度。目前主要的批處理計(jì)算系統(tǒng)代表產(chǎn)品有MapReduce、Spark等。

2.流計(jì)算

流計(jì)算是針對流數(shù)據(jù)的實(shí)時(shí)計(jì)算,需要對應(yīng)用不斷產(chǎn)生的數(shù)據(jù)實(shí)時(shí)進(jìn)行處理,使數(shù)據(jù)不積壓、

不丟失,常用于處理電信、電力等行業(yè)應(yīng)用以及互聯(lián)網(wǎng)行業(yè)的訪問日志等。

代表產(chǎn)品有Storm、Flume、Scribe、S4、Streams、Puma、DStream、SuperMario等。

3.圖計(jì)算

圖計(jì)算針對大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行處理。社交網(wǎng)絡(luò)、網(wǎng)頁鏈接等包含具有復(fù)雜關(guān)系的圖數(shù)據(jù),

這些圖數(shù)據(jù)的規(guī)模巨大,可包含數(shù)十億頂點(diǎn)和上百億條邊,圖數(shù)據(jù)需要由專門的系統(tǒng)進(jìn)行存儲和

計(jì)算。

常用的圖計(jì)算系統(tǒng)有谷歌公司的Pregel、Pregel的開源版本Giraph、微軟的Trinity、Berkeley

AMPLab的GraphX以及高速圖數(shù)據(jù)處理系統(tǒng)PowerGraph、Hama、GoldenOrb等。

4.內(nèi)存計(jì)算

隨著內(nèi)存價(jià)格的不斷下降和服務(wù)器可配置內(nèi)存容量的不斷增長,使用內(nèi)存計(jì)算完成高速的大

數(shù)據(jù)處理已成為大數(shù)據(jù)處理的重要發(fā)展方向。

目前常用的內(nèi)存計(jì)算系統(tǒng)有分布式內(nèi)存計(jì)算系統(tǒng)Spark、全內(nèi)存式分布式數(shù)據(jù)庫系統(tǒng)HANA、

谷歌的可擴(kuò)展交互式查詢系統(tǒng)Dremel。

5.查詢分析計(jì)算

對大規(guī)模數(shù)據(jù)的存儲管理和實(shí)時(shí)或準(zhǔn)實(shí)時(shí)查詢分析。目前主要的數(shù)據(jù)查詢分析計(jì)算系統(tǒng)代表

產(chǎn)品有HBase、Hive、Dremel、Cassandra、Shark、Hana、Impala等。

6.迭代計(jì)算

針對MapReduce不支持迭代計(jì)算的缺陷,人們對Hadoop的MapReduce進(jìn)行了大量改進(jìn),

HaLoop、iMapReduce、Twister、Spark是典型的迭代計(jì)算系統(tǒng)。

1.4.3大數(shù)據(jù)的技術(shù)路線

大數(shù)據(jù)技術(shù)路線圖如圖1-3所示。

1.4.4大數(shù)據(jù)技術(shù)的應(yīng)用

大數(shù)據(jù)技術(shù)的創(chuàng)新與應(yīng)用,不僅能夠應(yīng)對數(shù)據(jù)爆炸帶來的挑戰(zhàn),還能夠創(chuàng)造出巨大的價(jià)值、

提升社會生產(chǎn)率,大數(shù)據(jù)正在發(fā)展成為重要的新興產(chǎn)業(yè)。大數(shù)據(jù)技術(shù)在各個(gè)領(lǐng)域得到了廣泛應(yīng)用,

涌現(xiàn)出金融大數(shù)據(jù)、電商大數(shù)據(jù)、教育大數(shù)據(jù)、醫(yī)療大數(shù)據(jù)、環(huán)保大數(shù)據(jù)、食品大數(shù)據(jù)、輿情監(jiān)

控大數(shù)據(jù)等,并且在大數(shù)據(jù)產(chǎn)業(yè)鏈中的各段都涌現(xiàn)出大批的大數(shù)據(jù)企業(yè)。

7

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

圖1-3大數(shù)據(jù)技術(shù)路線圖

零售行業(yè)大數(shù)據(jù)應(yīng)用有兩個(gè)層面:一個(gè)層面是零售行業(yè)可以了解客戶的消費(fèi)喜好和趨勢,進(jìn)

行商品的精準(zhǔn)營銷,降低營銷成本;另一個(gè)層面是依據(jù)客戶購買的產(chǎn)品,為客戶提供可能購買的

其他產(chǎn)品,擴(kuò)大銷售額,也屬于精準(zhǔn)營銷范疇。

例如,推薦系統(tǒng)在電子商務(wù)網(wǎng)站就得到了有效的利用。電子商務(wù)網(wǎng)站利用采集到的用戶瀏覽

網(wǎng)頁的點(diǎn)擊數(shù)據(jù),通過推薦系統(tǒng)向客戶提供商品信息和建議,幫助用戶決定應(yīng)該購買什么東西,

模擬銷售人員幫助客戶完成購買過程。我們經(jīng)常在上網(wǎng)時(shí)看見網(wǎng)頁某個(gè)位置出現(xiàn)一些商品推薦或

者系統(tǒng)彈出一個(gè)商品信息,而且往往這些商品可能正是我們自己感興趣或者正希望購買的商品,

這就是推薦系統(tǒng)在發(fā)揮作用。

1.5大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)的關(guān)系

1.5.1云計(jì)算

1.云計(jì)算的定義

云計(jì)算(CloudComputing)是分布式計(jì)算(DistributedComputing)、并行計(jì)算(Parallel

Computing)、效用計(jì)算(UtilityComputing)、網(wǎng)絡(luò)存儲(NetworkStorageTechnologies)、虛擬化

(Virtualization)、負(fù)載均衡(LoadBalance)和熱備份冗余(HighAvailable)等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)

技術(shù)發(fā)展融合的產(chǎn)物。云計(jì)算最初主要包括了兩類含義:一類是以谷歌的GFS和MapReduce為代

表的大規(guī)模分布式并行計(jì)算技術(shù);另一類是以亞馬遜的虛擬機(jī)和對象存儲為代表的“按需租用”

的商業(yè)模式。隨著大數(shù)據(jù)概念的提出,人們提到云計(jì)算時(shí),更多指的是底層基礎(chǔ)IT資源的整合優(yōu)

化以及以服務(wù)的方式提供IT資源的商業(yè)模式(如IaaS、PaaS、SaaS)。

所謂云計(jì)算是基于互聯(lián)網(wǎng)相關(guān)服務(wù)的增加、使用和交互模式,通常涉及通過互聯(lián)網(wǎng)來提供動

態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。

對云計(jì)算的定義有多種說法,現(xiàn)階段廣為接受的是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)對云

計(jì)算的定義:云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問,

進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用軟件、服務(wù)),這些資源能夠

被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互。

8

單元1大數(shù)據(jù)概述

2.云計(jì)算的特點(diǎn)

云計(jì)算有如下特點(diǎn):①超大規(guī)模;②虛擬化;③高可靠性;④通用性;⑤高可伸縮性;⑥按

需服務(wù);⑦極其廉價(jià)。

3.云計(jì)算的分類

云計(jì)算按服務(wù)類型大致分為基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)

三類,如圖1-4所示。

圖1-4云計(jì)算的服務(wù)類型

1.5.2物聯(lián)網(wǎng)

1.物聯(lián)網(wǎng)的定義

物聯(lián)網(wǎng)(InternetofThings,IOT)的概念是在1999年提出的,又稱WebofThings。

物聯(lián)網(wǎng)指利用局部網(wǎng)絡(luò)或互聯(lián)網(wǎng)等通信技術(shù)把傳感器、控制器、機(jī)器、人員和物等通過新的

方式聯(lián)系在一起,形成人與物、物與物相連,實(shí)現(xiàn)信息化、遠(yuǎn)程管理控制和智能化的網(wǎng)絡(luò)。

物聯(lián)網(wǎng)是互聯(lián)網(wǎng)的延伸,它包括互聯(lián)網(wǎng)及互聯(lián)網(wǎng)上所有的資源,兼容互聯(lián)網(wǎng)所有的應(yīng)用,但

物聯(lián)網(wǎng)中所有的元素(所有的設(shè)備、資源及通信等)都是個(gè)性化和私有化的。應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)

發(fā)展的核心,以用戶體驗(yàn)為核心的創(chuàng)新是物聯(lián)網(wǎng)發(fā)展的靈魂。

2.物聯(lián)網(wǎng)的基本原理

物聯(lián)網(wǎng)的基本原理是在計(jì)算機(jī)互聯(lián)網(wǎng)的基礎(chǔ)上,利用RFID、無線數(shù)據(jù)通信等技術(shù),構(gòu)造一個(gè)

覆蓋世界上萬事萬物的“InternetofThings”。在這個(gè)網(wǎng)絡(luò)中,物品(商品)能夠彼此進(jìn)行“交流”,

而無須人的干預(yù)。其實(shí)質(zhì)是利用射頻識別(RFID)技術(shù),通過計(jì)算機(jī)互聯(lián)網(wǎng)實(shí)現(xiàn)物品(商品)的

自動識別和信息的互聯(lián)與共享。

3.物聯(lián)網(wǎng)的技術(shù)架構(gòu)

從技術(shù)架構(gòu)上來看,物聯(lián)網(wǎng)可分為三層:感知層、網(wǎng)絡(luò)層和應(yīng)用層。

感知層由各種傳感器以及傳感器網(wǎng)關(guān)構(gòu)成,包括二氧化碳濃度傳感器、溫度傳感器、濕度傳

感器、二維碼標(biāo)簽、RFID標(biāo)簽和讀寫器、攝像頭、GPS等感知終端。感知層的作用相當(dāng)于人的眼

耳鼻喉和皮膚等神經(jīng)末梢,它是物聯(lián)網(wǎng)識別物體、采集信息的來源,其主要功能是識別物體、采

集信息。

網(wǎng)絡(luò)層由各種私有網(wǎng)絡(luò)、互聯(lián)網(wǎng)、有線和無線通信網(wǎng)、網(wǎng)絡(luò)管理系統(tǒng)和云計(jì)算平臺等組成,

相當(dāng)于人的神經(jīng)中樞和大腦,負(fù)責(zé)傳遞和處理感知層獲取的信息。

應(yīng)用層是物聯(lián)網(wǎng)和用戶(包括人、組織和其他系統(tǒng))的接口,它與行業(yè)需求結(jié)合,實(shí)現(xiàn)物聯(lián)

網(wǎng)的智能應(yīng)用。

物聯(lián)網(wǎng)的行業(yè)特性主要體現(xiàn)在其應(yīng)用領(lǐng)域內(nèi),如綠色農(nóng)業(yè)、工業(yè)監(jiān)控、公共安全、城市管理、

遠(yuǎn)程醫(yī)療、智能家居、智能交通和環(huán)境監(jiān)測等。

9

大數(shù)據(jù)技術(shù)與應(yīng)用Ⅰ

4.物聯(lián)網(wǎng)的分類

(1)私有物聯(lián)網(wǎng)。一般面向單一機(jī)構(gòu)內(nèi)部提供服務(wù)。

(2)公有物聯(lián)網(wǎng)?;诨ヂ?lián)網(wǎng)向公眾或大型用戶群體提供服務(wù)。

(3)社區(qū)物聯(lián)網(wǎng)。向一個(gè)關(guān)聯(lián)的“社區(qū)”或機(jī)構(gòu)群體(如一個(gè)城市政府下屬的各委辦局,如

公安局、交通局、環(huán)保局、城管局等)提供服務(wù)。

(4)混合物聯(lián)網(wǎng)。是上述的兩種或以上的物聯(lián)網(wǎng)的組合,但后臺有統(tǒng)一運(yùn)維實(shí)體。

物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,也是信息化時(shí)代的重要發(fā)展階段,稱為繼計(jì)算機(jī)、

互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮。

1.5.3大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)的關(guān)系

云計(jì)算、大數(shù)據(jù)和物聯(lián)網(wǎng)代表了IT領(lǐng)域最新的技術(shù)發(fā)展趨勢,三者相輔相成,三者既有區(qū)別

又有聯(lián)系。

1.大數(shù)據(jù)與云計(jì)算和物聯(lián)網(wǎng)的區(qū)別

大數(shù)據(jù)側(cè)重于海量數(shù)據(jù)的存儲、處理與分析,從海量數(shù)據(jù)中發(fā)現(xiàn)價(jià)值,服務(wù)于生產(chǎn)和生活。

云計(jì)算本質(zhì)上旨在整合和優(yōu)化各種IT資源,并通過網(wǎng)絡(luò)以服務(wù)的方式提供給用戶,價(jià)格低廉。

物聯(lián)網(wǎng)的發(fā)展目標(biāo)是實(shí)現(xiàn)物物相連,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)發(fā)展的核心。

2.大數(shù)據(jù)與云計(jì)算和物聯(lián)網(wǎng)的聯(lián)系

從整體上看,大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)這三者是相輔相成的。大數(shù)據(jù)根植于云計(jì)算,大數(shù)據(jù)

分析的很多技術(shù)都來自于云計(jì)算,云計(jì)算的分布式和數(shù)據(jù)存儲及管理系統(tǒng)(包括分布式文件系統(tǒng)

和分布式數(shù)據(jù)庫系統(tǒng))提供了海量數(shù)據(jù)的存儲和管理能力,分布式并行處理框架MapReduce提供

了海量數(shù)據(jù)分析的能力,沒有這些云計(jì)算技術(shù)作為支撐,大數(shù)據(jù)分析就無從談起。反之,大數(shù)據(jù)

為云計(jì)算提供了用武之地,沒有大數(shù)據(jù),云計(jì)算技術(shù)再先進(jìn)也不能發(fā)揮它的應(yīng)用價(jià)值。

物聯(lián)網(wǎng)的傳感器源源不斷地產(chǎn)生的大量數(shù)據(jù),構(gòu)成了大數(shù)據(jù)的重要來源,沒有物聯(lián)網(wǎng)的飛速

發(fā)展,就不會帶來數(shù)據(jù)產(chǎn)生方式的變革,即由人工產(chǎn)生階段向自動產(chǎn)生階段,大數(shù)據(jù)時(shí)代也不會

這么快就到來。同時(shí),物聯(lián)網(wǎng)需要借助云計(jì)算和大數(shù)據(jù)技術(shù)、實(shí)現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)的存儲、分析和

處理。

習(xí)題

1.大數(shù)據(jù)是如何形成的?大數(shù)據(jù)摩爾定律的含義是什么?

2.什么叫大數(shù)據(jù)?大數(shù)據(jù)有哪些特征?

3.大數(shù)據(jù)的來源有哪些途徑?

4.簡述大數(shù)據(jù)對思維方式的重要影響。

5.簡述大數(shù)據(jù)的處理流程。

6.大數(shù)據(jù)預(yù)處理的方法有哪些?

7.大數(shù)據(jù)的挖掘方法有哪些?

8.大數(shù)據(jù)的關(guān)鍵技術(shù)有哪些?

9.舉例說明大數(shù)據(jù)的具體應(yīng)用。

10.詳細(xì)闡述大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)三者之間的區(qū)別和聯(lián)系。

10

單元2

Hadoop概述

學(xué)習(xí)目標(biāo)

y了解Hadoop的發(fā)展歷程。

y了解Hadoop的功能和作用。

y了解Hadoop的體系結(jié)構(gòu)。

y了解Hadoop的生態(tài)圈。

2.1Hadoop簡介

2.1.1Hadoop的起源及發(fā)展歷史

1.Hadoop的概念

Hadoop是一個(gè)開源的分布式計(jì)算平臺,它不是指一個(gè)具體框架或者組件。Hadoop采用Java

語言開發(fā),是對谷歌的GFS、MapReduce和Bigtable等核心技術(shù)的開源實(shí)現(xiàn),是以Hadoop分布式

文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)和MapReduce為核心,以及一些支持Hadoop

的其他子項(xiàng)目的通用工具組成的分布式計(jì)算系統(tǒng)。Hadoop是目前最流行的大數(shù)據(jù)軟件框架,主要

用于大數(shù)據(jù)的分布式存儲和處理。由Apache軟件基金會支持。

2.Hadoop的起源

Hadoop最早起源于Nutch。Nutch是基于Java實(shí)現(xiàn)的開源搜索引擎,2002

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論