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