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