本書系統(tǒng)介紹了大數(shù)據(jù)基礎(chǔ)知識(shí)和相關(guān)技術(shù),全書分為大數(shù)據(jù)概述篇、大數(shù)據(jù)存儲(chǔ)與管理篇、大數(shù)據(jù)采集與預(yù)處理篇、大數(shù)據(jù)分析與挖掘篇、大數(shù)據(jù)平臺(tái)Hadoop實(shí)踐與案例分析篇。全書共15章,主要內(nèi)容包括大數(shù)據(jù)基本概念、大數(shù)據(jù)存儲(chǔ)與管理概念及技術(shù)、大數(shù)據(jù)采集及預(yù)處理技術(shù)、大數(shù)據(jù)計(jì)算模式、大數(shù)據(jù)分布式并行處理框架Hadoop、大數(shù)據(jù)分布式文件系統(tǒng)HDFS、大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)系統(tǒng)HBASE、大數(shù)據(jù)Hadoop平臺(tái)操作實(shí)踐及具體大數(shù)據(jù)預(yù)測(cè)應(yīng)用案例分析。
前言
隨著大數(shù)據(jù)時(shí)代的來臨,大數(shù)據(jù)相關(guān)概念和技術(shù)被人們廣泛關(guān)注。目前,大數(shù)據(jù)技術(shù)已被廣泛應(yīng)用于各行各業(yè)。它對(duì)人們的思維模式及科學(xué)研究方法有深遠(yuǎn)影響,已被列為國(guó)家重大發(fā)展戰(zhàn)略之一。社會(huì)各界對(duì)具有大數(shù)據(jù)專業(yè)素養(yǎng)的高級(jí)人才求賢若渴。鑒于此,國(guó)內(nèi)外一些高校先后開設(shè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)”專業(yè),旨在培養(yǎng)具備大數(shù)據(jù)技術(shù)的高級(jí)人才。
為滿足相關(guān)人員學(xué)習(xí)大數(shù)據(jù)相關(guān)技術(shù)的需求,我們?cè)诳偨Y(jié)近幾年大數(shù)據(jù)技術(shù)課程教學(xué)經(jīng)驗(yàn)和項(xiàng)目成果的基礎(chǔ)上,引入中科曙光XData大數(shù)據(jù)相關(guān)技術(shù)及應(yīng)用案例,從理論結(jié)合實(shí)踐的角度,將大數(shù)據(jù)基本概念與大數(shù)據(jù)技術(shù)相結(jié)合,精心組織設(shè)計(jì)并完成了本書的編寫。
本書全面而系統(tǒng)地介紹了大數(shù)據(jù)基礎(chǔ)知識(shí)和相關(guān)技術(shù)。全書分為大數(shù)據(jù)基礎(chǔ)、大數(shù)據(jù)存儲(chǔ)與管理、大數(shù)據(jù)采集與預(yù)處理、大數(shù)據(jù)分析與挖掘和大數(shù)據(jù)平臺(tái)Hadoop實(shí)踐與應(yīng)用案例5篇(16章),主要內(nèi)容包括大數(shù)據(jù)基本概念,大數(shù)據(jù)存儲(chǔ)與管理概念及技術(shù),大數(shù)據(jù)采集與預(yù)處理技術(shù),大數(shù)據(jù)平臺(tái)Hadoop基礎(chǔ),大數(shù)據(jù)分布式文件系統(tǒng)HDFS,大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase,大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)Hive,大數(shù)據(jù)MapReduce計(jì)算模型,大數(shù)據(jù)Spark計(jì)算模型,大數(shù)據(jù)MapReduce基礎(chǔ)算法,大數(shù)據(jù)關(guān)聯(lián)分析、分類、聚類典型數(shù)據(jù)挖掘算法,大數(shù)據(jù)平臺(tái)Hadoop操作實(shí)踐,大數(shù)據(jù)預(yù)測(cè)應(yīng)用案例分析,以及曙光XData大數(shù)據(jù)平臺(tái)架構(gòu)、關(guān)鍵技術(shù)及其應(yīng)用案例。全書提供了大量應(yīng)用實(shí)例,每章后附有習(xí)題。本書特色在于將大數(shù)據(jù)概念、技術(shù)及應(yīng)用融合在一起,便于讀者理解大數(shù)據(jù)基本概念,更快掌握大數(shù)據(jù)前沿技術(shù)及其應(yīng)用。
□□篇大數(shù)據(jù)基礎(chǔ)。本篇著重介紹大數(shù)據(jù)基本概念和大數(shù)據(jù)Hadoop平臺(tái)組件,旨在幫助讀者正確理解大數(shù)據(jù)的核心概念及其應(yīng)用技術(shù),為后續(xù)章節(jié)的學(xué)習(xí)奠定基礎(chǔ)。本篇包括兩章。
□□章主要介紹了大數(shù)據(jù)產(chǎn)生的背景及發(fā)展歷程,大數(shù)據(jù)對(duì)科學(xué)研究、思維模式的影響,大數(shù)據(jù)的4V特征,大數(shù)據(jù)在科研、交通、通信、醫(yī)療、金融、制造、體育、個(gè)性化生活、安全等領(lǐng)域的應(yīng)用; 并簡(jiǎn)要介紹了大數(shù)據(jù)框架體系,大數(shù)據(jù)關(guān)鍵技術(shù)——數(shù)據(jù)采集與預(yù)處理技術(shù)、數(shù)據(jù)存儲(chǔ)和管理技術(shù)、數(shù)據(jù)分析與挖掘技術(shù)、數(shù)據(jù)可視化技術(shù)、數(shù)據(jù)安全保護(hù)技術(shù),大數(shù)據(jù)支撐技術(shù)——云計(jì)算、物聯(lián)網(wǎng)和機(jī)器學(xué)習(xí)等。
第2章主要介紹了大數(shù)據(jù)平臺(tái)Hadoop基礎(chǔ),包括Hadoop的項(xiàng)目來源、發(fā)展歷程、主要用途、分布式存儲(chǔ)和并行計(jì)算基本原理,以及對(duì)Hadoop平臺(tái)核心組件(HDFS、MapReduce、ZooKeeper、Yarn、HBase、Hive、Spark、Mahout等)的簡(jiǎn)要描述。
第二篇大數(shù)據(jù)存儲(chǔ)與管理。本篇著重介紹大數(shù)據(jù)存儲(chǔ)與管理的基本概念和常用的大數(shù)據(jù)分布式文件系統(tǒng)HDFS、大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase、大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)Hive,旨在幫助讀者正確理解大數(shù)據(jù)存儲(chǔ)與管理的核心概念和相關(guān)軟件技術(shù)。本篇包括4章。
第3章主要介紹了大數(shù)據(jù)存儲(chǔ)與管理的基本概念和技術(shù),包括數(shù)據(jù)管理技術(shù)發(fā)展回顧、大數(shù)據(jù)的數(shù)據(jù)類型、分布式系統(tǒng)基礎(chǔ)理論和NoSQL數(shù)據(jù)庫(kù)的興起,以及與大數(shù)據(jù)存儲(chǔ)和管理密切相關(guān)的分布式存儲(chǔ)技術(shù)、虛擬化技術(shù)和云存儲(chǔ)技術(shù)。
第4章主要介紹了大數(shù)據(jù)分布式文件系統(tǒng)HDFS,包括HDFS的設(shè)計(jì)特點(diǎn)、體系結(jié)構(gòu)和工作組件; 闡述了HDFS文件系統(tǒng)的工作流程,分析了在HDFS下讀寫數(shù)據(jù)的過程; 圍繞HDFS文件系統(tǒng)操作,詳細(xì)介紹了HDFS文件管理命令和HDFS API的主要編程接口,并給出了編程實(shí)例。
第5章主要介紹了大數(shù)據(jù)分布式數(shù)據(jù)庫(kù)系統(tǒng)HBase,重點(diǎn)描述了HBase列式數(shù)據(jù)庫(kù)的邏輯模型和物理模型的基本概念,給出了HBase體系結(jié)構(gòu)及其工作原理; 結(jié)合實(shí)例介紹了HBase表及其數(shù)據(jù)的操作命令,介紹了HBase API的主要編程接口,并給出了編程實(shí)例。
第6章主要介紹了大數(shù)據(jù)分布式數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)Hive,包括Hive的工作原理和執(zhí)行流程、Hive的數(shù)據(jù)類型與數(shù)據(jù)模型,常用的Hive SQL查詢語(yǔ)法及其操作實(shí)例,以及Hive的主要訪問接口等。
第三篇大數(shù)據(jù)采集與預(yù)處理。本篇著重介紹大數(shù)據(jù)采集與預(yù)處理技術(shù),對(duì)常用大數(shù)據(jù)采集工具進(jìn)行了簡(jiǎn)單介紹。本篇包括2章。
第7章主要介紹了大數(shù)據(jù)采集與預(yù)處理相關(guān)技術(shù),包括數(shù)據(jù)抽取、轉(zhuǎn)換和加載技術(shù),數(shù)據(jù)爬蟲技術(shù),數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)變換和數(shù)據(jù)歸約的方法和技術(shù)。
第8章主要介紹了常用的大數(shù)據(jù)采集工具,包括Sqoop關(guān)系型大數(shù)據(jù)采集工具、Flume日志大數(shù)據(jù)采集系統(tǒng)和Nutch分布式大數(shù)據(jù)爬蟲系統(tǒng)。
第四篇大數(shù)據(jù)分析與挖掘。本篇著重介紹了大數(shù)據(jù)計(jì)算模式,包括大數(shù)據(jù)MapReduce計(jì)算模型、大數(shù)據(jù)Spark內(nèi)存計(jì)算模型,以及大數(shù)據(jù)MapReduce基礎(chǔ)算法和挖掘算法,旨在幫助讀者全面理解大數(shù)據(jù)分析與挖掘的核心思想與編程技術(shù)。本篇包括5章。
第9章主要介紹了5種大數(shù)據(jù)計(jì)算模式,包括大數(shù)據(jù)批處理、大數(shù)據(jù)查詢分析計(jì)算、大數(shù)據(jù)流計(jì)算、大數(shù)據(jù)迭代計(jì)算和大數(shù)據(jù)圖計(jì)算。
□□0章主要介紹了大數(shù)據(jù)MapReduce計(jì)算模型,包括MapReduce的由來、主要功能、技術(shù)特征、模型框架、數(shù)據(jù)處理過程、程序執(zhí)行過程、主要編程接口及實(shí)例分析。
□□1章主要介紹了大數(shù)據(jù)Spark計(jì)算模型,包括Spark的產(chǎn)生、技術(shù)特征、工作流程、集群架構(gòu)及運(yùn)行模式、主要訪問接口,并給出了3種WordCount編程實(shí)現(xiàn)。
□□2章主要介紹了大數(shù)據(jù)MapReduce基礎(chǔ)算法,包括關(guān)系代數(shù)運(yùn)算的MapReduce設(shè)計(jì)與實(shí)現(xiàn),矩陣乘法的MapReduce設(shè)計(jì)與實(shí)現(xiàn)。
□□3章主要介紹了大數(shù)據(jù)挖掘算法,包括大數(shù)據(jù)關(guān)聯(lián)分析Apriori算法、大數(shù)據(jù)KNN分類算法和大數(shù)據(jù)KMeans聚類算法及其MapReduce設(shè)計(jì)與實(shí)現(xiàn)。
第五篇大數(shù)據(jù)平臺(tái)Hadoop實(shí)踐與應(yīng)用案例。本篇著重介紹大數(shù)據(jù)Hadoop平臺(tái)的實(shí)踐操作,給出了大數(shù)據(jù)技術(shù)在開敞式碼頭系泊纜力預(yù)測(cè)中的應(yīng)用,以及曙光XData大數(shù)據(jù)平臺(tái)架構(gòu)、關(guān)鍵技術(shù)及其應(yīng)用案例,旨在幫助讀者理解如何將大數(shù)據(jù)的方法和技術(shù)運(yùn)用到項(xiàng)目需求中,促進(jìn)大數(shù)據(jù)技術(shù)在各領(lǐng)域和行業(yè)中的應(yīng)用。本篇包括3章。
□□4章主要介紹Hadoop大數(shù)據(jù)平臺(tái)實(shí)踐,包括Hadoop系統(tǒng)的安裝與配置,Hadoop平臺(tái)文件操作及程序運(yùn)行命令,以及Hadoop平臺(tái)程序開發(fā)方法和過程。
□□5章主要介紹大數(shù)據(jù)方法和技術(shù)在開敞式碼頭系泊纜力預(yù)測(cè)中的應(yīng)用,給出了大數(shù)據(jù)系泊纜力相似性查詢預(yù)測(cè)方法,并基于Hadoop大數(shù)據(jù)平臺(tái)完成了系泊纜力預(yù)測(cè)的相似性查詢方法的MapReduce設(shè)計(jì)與實(shí)現(xiàn)。
□□6章主要介紹曙光XData大數(shù)據(jù)平臺(tái)的架構(gòu)及關(guān)鍵技術(shù),包括曙光XData大數(shù)據(jù)集成與數(shù)據(jù)治理組件、大數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)計(jì)算組件、大數(shù)據(jù)分析與數(shù)據(jù)智能組件、大數(shù)據(jù)可視化分析組件、大數(shù)據(jù)安全管控與管理運(yùn)維組件,并給出了基于曙光XData大數(shù)據(jù)平臺(tái)的智能交通應(yīng)用案例。
本書可作為高等院校計(jì)算機(jī)、軟件工程、信息管理等相關(guān)專業(yè)大數(shù)據(jù)技術(shù)課程的本科生和研究生教材,也可作為IT工程技術(shù)人員的參考用書。
本書由大連交通大學(xué)宋旭東教授擔(dān)任主編,并輔助全書內(nèi)容的組織和編審,宋亮、王立娟、張鵬擔(dān)任副主編。本書□□篇、第四篇、第五篇由宋旭東編寫,第二篇由宋亮編寫,第7章由王立娟編寫,第8章由張鵬編寫。
在本書的編寫過程中,叢郁洋、楊杰、朱大杰等研究生做了大量輔助工作; 曙光大數(shù)據(jù)部副總經(jīng)理郭慶先生、曙光大數(shù)據(jù)團(tuán)隊(duì)工程師參編了□□6章; 張旗教授對(duì)全書進(jìn)行了審閱; 曙光公司對(duì)本書出版給予了大力支持和幫助。在此,一并表示衷心的感謝。在本書的編寫過程中,參考了大量國(guó)內(nèi)外教材、論文、技術(shù)論壇等相關(guān)文獻(xiàn),在此也向文獻(xiàn)的作者表示感謝。
由于編者水平有限,書中不足之處在所難免,敬請(qǐng)廣大讀者批評(píng)指正。
編者2019年8月