關(guān)于我們
書單推薦
新書推薦
|
大數(shù)據(jù)技術(shù)(微課版)
本書系統(tǒng)地講解了大數(shù)據(jù)處理常用技術(shù),具體包括大數(shù)據(jù)處理架構(gòu)Hadoop、分布式文件系統(tǒng)HDFS、MapReduce編程模型、分布式數(shù)據(jù)庫Hbase、NoSQL數(shù)據(jù)庫、Spark分布式內(nèi)存計算、MapReduce應(yīng)用開發(fā)、Spark SQL編程、數(shù)據(jù)可視化。本書編寫特色理論與具體操作相結(jié)合,較低基礎(chǔ)入門大數(shù)據(jù)技術(shù)。讀者對象是本科、專科或研究生大數(shù)據(jù)技術(shù)課程教材,大數(shù)據(jù)技術(shù)愛好者,其他對大數(shù)據(jù)技術(shù)感興趣的人員。
一、 系列教材背景
人類已經(jīng)進入智能時代,云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、機器人、量子計算等是這個時代□重要的技術(shù)熱點。為了適應(yīng)和滿足時代發(fā)展對人才培養(yǎng)的需要,2017年2月以來,教育部積極推進新工科建設(shè),先后形成了“復(fù)旦共識”“天大行動”和“北京指南”,并發(fā)布了《教育部高等教育司關(guān)于開展新工科研究與實踐的通知》《教育部辦公廳關(guān)于推薦新工科研究與實踐項目的通知》,全力探索形成□□全球工程教育的中國模式、中國經(jīng)驗,助力高等教育強國建設(shè)。新工科有兩個內(nèi)涵: 一是新的工科專業(yè);二是傳統(tǒng)工科專業(yè)的新需求。新工科建設(shè)將促進一批新專業(yè)的發(fā)展,這批新專業(yè)有的是依托于現(xiàn)有計算機類專業(yè)派生、擴展而成的,有的是多個專業(yè)有機整合而成的。由計算機類專業(yè)派生、擴展形成的新工科專業(yè)有計算機科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、物聯(lián)網(wǎng)工程、信息管理與信息系統(tǒng)、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)等。由計算機類學(xué)科交叉融合形成的新工科專業(yè)有網(wǎng)絡(luò)空間安全、人工智能、機器人工程、數(shù)字媒體技術(shù)、智能科學(xué)與技術(shù)等。 在新工科建設(shè)的“九個一批”中,明確提出“建設(shè)一批體現(xiàn)產(chǎn)業(yè)和技術(shù)□新發(fā)展的新課程”“建設(shè)一批產(chǎn)業(yè)急需的新興工科專業(yè)”。新課程和新專業(yè)的持續(xù)建設(shè),都需要以適應(yīng)新工科教育的教材作為支撐。由于各個專業(yè)之間的課程相互交叉,但是又不能相互包含,所以在選題方向上,既考慮由計算機類專業(yè)派生、擴展形成的新工科專業(yè)的選題,又考慮由計算機類專業(yè)交叉融合形成的新工科專業(yè)的選題,特別是網(wǎng)絡(luò)空間安全專業(yè)、智能科學(xué)與技術(shù)專業(yè)的選題;诖,清華大學(xué)出版社計劃出版“面向新工科專業(yè)建設(shè)計算機系列教材”。 二、 教材定位 教材使用對象為“211工程”高;蛲人郊耙陨细咝S嬎銠C類專業(yè)及相關(guān)專業(yè)學(xué)生。三、 教材編寫原則 (1) 借鑒Computer Science Curricula 2013(以下簡稱CS2013)。CS2013的核心知識領(lǐng)域包括算法與復(fù)雜度、體系結(jié)構(gòu)與組織、計算科學(xué)、離散結(jié)構(gòu)、圖形學(xué)與可視化、人機交互、信息保障與安全、信息管理、智能系統(tǒng)、網(wǎng)絡(luò)與通信、操作系統(tǒng)、基于平臺的開發(fā)、并行與分布式計算、程序設(shè)計語言、軟件開發(fā)基礎(chǔ)、軟件工程、系統(tǒng)基礎(chǔ)、社會問題與專業(yè)實踐等內(nèi)容。 (2) 處理好理論與技能培養(yǎng)的關(guān)系,注重理論與實踐相結(jié)合,加強對學(xué)生思維方式的訓(xùn)練和計算思維的培養(yǎng)。計算機專業(yè)學(xué)生能力的培養(yǎng)特別強調(diào)理論學(xué)習(xí)、計算思維培養(yǎng)和實踐訓(xùn)練。本系列教材以“重視理論,加強計算思維培養(yǎng),突出案例和實踐應(yīng)用”為主要目標(biāo)。 (3) 為便于教學(xué),在紙質(zhì)教材的基礎(chǔ)上,融合多種形式的教學(xué)輔助材料。每本教材可以有主教材、教師用書、習(xí)題解答、實驗指導(dǎo)等。特別是在數(shù)字資源建設(shè)方面,可以結(jié)合當(dāng)前出版融合的趨勢,做好立體化教材建設(shè),可考慮加上微課、微視頻、二維碼、MOOC等擴展資源。 大數(shù)據(jù)技術(shù)(微課版)出版說明四、 教材特點1. 滿足新工科專業(yè)建設(shè)的需要系列教材涵蓋計算機科學(xué)與技術(shù)、軟件工程、物聯(lián)網(wǎng)工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、網(wǎng)絡(luò)空間安全、人工智能等專業(yè)的課程。 2. 案例體現(xiàn)傳統(tǒng)工科專業(yè)的新需求 編寫時,以案例驅(qū)動,任務(wù)引導(dǎo),特別是有一些新應(yīng)用場景的案例。 3. 循序漸進,內(nèi)容全面 講解基礎(chǔ)知識和實用案例時,由簡單到復(fù)雜,循序漸進,系統(tǒng)講解。 4. 資源豐富,立體化建設(shè) 除了教學(xué)課件外,還可以提供教學(xué)大綱、教學(xué)計劃、微視頻等擴展資源,以方便教學(xué)。 五、 優(yōu)先出版1. 精品課程配套教材主要包括□□□或省級的精品課程和精品資源共享課的配套教材。 2. 傳統(tǒng)優(yōu)秀改版教材 對于已經(jīng)出版過的優(yōu)秀教材,經(jīng)過市場認可,由于新技術(shù)的發(fā)展,給圖書配上新的教學(xué)形式、教學(xué)資源,計劃改版的教材。 3. 前沿技術(shù)與熱點教材 反映計算機前沿和當(dāng)前熱點的相關(guān)教材,例如云計算、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)、網(wǎng)絡(luò)空間安全等方面的教材。 六、 聯(lián)系方式 聯(lián)系人: 白立軍 聯(lián)系電話: 01083470179 聯(lián)系和投稿郵箱: bailj@tup.tsinghua.edu.cn “面向新工科專業(yè)建設(shè)計算機系列教材”編委會 2019年6月
曹潔:男,鄭州輕工業(yè)大學(xué)副教授,同濟大學(xué)博士畢業(yè)。研究方向:數(shù)據(jù)分析、機器學(xué)習(xí)、并行分布式處理。近年在軟件學(xué)報、電子學(xué)報、計算機研究與發(fā)展、通信學(xué)報等刊物上發(fā)表10余篇論文。
第1章大數(shù)據(jù)概述1 1.1大數(shù)據(jù)的基本概念1 1.1.1大數(shù)據(jù)的定義1 1.1.2大數(shù)據(jù)的特征1 1.2大數(shù)據(jù)技術(shù)2 1.2.1數(shù)據(jù)采集技術(shù)2 1.2.2數(shù)據(jù)預(yù)處理技術(shù)3 1.2.3云計算技術(shù)3 1.2.4分布式處理技術(shù)6 1.2.5數(shù)據(jù)存儲技術(shù)6 1.3大數(shù)據(jù)計算模式與典型系統(tǒng)7 1.3.1批處理計算模式與典型系統(tǒng)7 1.3.2流式計算模式與典型系統(tǒng)7 1.3.3迭代計算模式與典型系統(tǒng)8 1.3.4圖計算模式與典型系統(tǒng)8 1.3.5內(nèi)存計算模式與典型系統(tǒng)8 1.4習(xí)題8 第2章大數(shù)據(jù)軟件基礎(chǔ)9 2.1Linux基礎(chǔ)9 2.1.1命令格式9 2.1.2用戶管理10 2.1.3文件操作12 2.1.4目錄操作15 2.1.5文件壓縮和解壓縮命令17 2.1.6安裝和卸載軟件18 2.1.7主機名更改19 2.2Java語言基礎(chǔ)202.2.1基本數(shù)據(jù)類型20 2.2.2主類結(jié)構(gòu)21 2.2.3定義類24 2.2.4類的實例化26 2.2.5包28 2.2.6常用實用類31 2.3SQL基礎(chǔ)33 2.4在VirtualBox上安裝虛擬機34 2.4.1Master節(jié)點的安裝34 2.4.2復(fù)制虛擬機41 2.5習(xí)題45 大數(shù)據(jù)技術(shù)(微課版)目錄第3章Hadoop大數(shù)據(jù)處理架構(gòu)46 3.1Hadoop概述46 3.1.1Hadoop簡介46 3.1.2Hadoop特性46 3.2Hadoop生態(tài)系統(tǒng)47 3.2.1Hadoop分布式文件系統(tǒng)47 3.2.2MapReduce分布式計算模型48 3.2.3Hive數(shù)據(jù)倉庫49 3.2.4HBase分布式數(shù)據(jù)庫49 3.2.5Zookeeper分布式協(xié)調(diào)服務(wù)49 3.2.6Sqoop數(shù)據(jù)導(dǎo)入導(dǎo)出工具50 3.2.7Pig數(shù)據(jù)分析50 3.2.8Mahout數(shù)據(jù)挖掘算法庫50 3.2.9Flume日志收集工具51 3.2.10Oozie作業(yè)流調(diào)度系統(tǒng)51 3.2.11Spark分布式內(nèi)存計算51 3.2.12Tez有向無環(huán)圖計算52 3.2.13Storm流數(shù)據(jù)處理52 3.3Hadoop的安裝與使用53 3.3.1安裝Hadoop前的準(zhǔn)備工作53 3.3.2下載Hadoop安裝文件55 3.3.3Hadoop單機模式配置56 3.3.4Hadoop偽分布式模式配置56 3.3.5Hadoop分布式模式配置60 3.4習(xí)題69 第4章Hadoop分布式文件系統(tǒng)70 4.1分布式文件系統(tǒng)的結(jié)構(gòu)70 4.1.1主控服務(wù)器71 4.1.2數(shù)據(jù)服務(wù)器72 4.1.3客戶端73 4.2HDFS的基本特征73 4.3HDFS存儲架構(gòu)及組件功能74 4.3.1HDFS存儲架構(gòu)74 4.3.2數(shù)據(jù)塊74 4.3.3數(shù)據(jù)節(jié)點75 4.3.4名稱節(jié)點76 4.3.5第二名稱節(jié)點77 4.3.6心跳消息77 4.3.7客戶端77 4.4HDFS文件讀寫流程77 4.4.1HDFS讀文件流程78 4.4.2HDFS寫文件流程79 4.5HDFS的Shell操作80 4.5.1查看命令使用方法80 4.5.2HDFS常用的Shell操作81 4.5.3HDFS管理員命令86 4.5.4HDFS的Java API操作86 4.5.5利用HDFS的Web管理頁面87 4.6HDFS編程實踐87 4.6.1安裝eclipse88 4.6.2在eclipse中創(chuàng)建項目89 4.6.3為項目添加需要用到的JAR包90 4.6.4編寫Java應(yīng)用程序92 4.6.5編譯運行程序94 4.6.6應(yīng)用程序的部署95 4.7習(xí)題97 第5章MapReduce分布式計算框架99 5.1MapReduce概述99 5.1.1并發(fā)、并行與分布式編程的概念99 5.1.2MapReduce并行編程模型100 5.1.3Map函數(shù)和Reduce函數(shù)100 5.2MapReduce的工作原理101 5.2.1MapReduce的體系架構(gòu)101 5.2.2MapTask的工作原理103 5.2.3ReduceTask的工作原理104 5.3MapReduce編程類105 5.3.1InputFormat輸入格式類105 5.3.2Mapper基類110 5.3.3Combiner合并類112 5.3.4Partitioner分區(qū)類112 5.3.5Sort排序類113 5.3.6Reducer類113 5.3.7輸出格式類OutputFormat116 5.4MapReduce經(jīng)典案例117 5.4.1WordCount執(zhí)行流程示例117 5.4.2WordCount具體實現(xiàn)119 5.4.3使用eclipse編譯運行詞頻統(tǒng)計程序124 5.5習(xí)題129 第6章HBase分布式數(shù)據(jù)庫130 6.1HBase概述130 6.1.1HBase的技術(shù)特點130 6.1.2HBase與傳統(tǒng)關(guān)系數(shù)據(jù)庫的區(qū)別130 6.1.3HBase與Hadoop中其他組件的關(guān)系131 6.2HBase系統(tǒng)架構(gòu)和訪問接口132 6.2.1HBase系統(tǒng)架構(gòu)132 6.2.2ROOT表和.META.表135 6.2.3HBase訪問接口137 6.3HBase數(shù)據(jù)表138 6.3.1HBase數(shù)據(jù)表邏輯視圖138 6.3.2HBase數(shù)據(jù)表物理視圖140 6.3.3HBase數(shù)據(jù)表面向列的存儲141 6.3.4HBase數(shù)據(jù)表的查詢方式142 6.3.5HBase表結(jié)構(gòu)設(shè)計143 6.4HBase安裝143 6.4.1下載安裝文件143 6.4.2配置環(huán)境變量143 6.4.3添加用戶權(quán)限144 6.4.4查看HBase版本信息144 6.5HBase配置145 6.5.1單機運行模式配置145 6.5.2偽分布式運行模式配置146 6.6HBase常用Shell命令148 6.6.1基本命令149 6.6.2創(chuàng)建表150 6.6.3插入與更新表中的數(shù)據(jù)152 6.6.4查看表中的數(shù)據(jù)152 6.6.5刪除表中的數(shù)據(jù)154 6.6.6表的啟用/禁用155 6.6.7修改表結(jié)構(gòu)155 6.6.8刪除HBase表156 6.7常用的Java API156 6.7.1HBase數(shù)據(jù)庫管理API156 6.7.2HBase數(shù)據(jù)庫表API157 6.7.3HBase數(shù)據(jù)庫表行列API159 6.8HBase編程161 6.8.1在eclipse中創(chuàng)建項目161 6.8.2添加項目需要用到的JAR包162 6.8.3編寫Java應(yīng)用程序163 6.8.4編譯運行程序166 6.9習(xí)題167 第7章NoSQL數(shù)據(jù)庫168 7.1NoSQL數(shù)據(jù)庫概述168 7.1.1NoSQL數(shù)據(jù)庫興起的原因168 7.1.2NoSQL數(shù)據(jù)庫的特點169 7.2“鍵值”數(shù)據(jù)庫169 7.2.1Redis安裝170 7.2.2Redis數(shù)據(jù)庫的特點171 7.2.3Redis數(shù)據(jù)庫的基本數(shù)據(jù)類型171 7.3列族數(shù)據(jù)庫177 7.4文檔數(shù)據(jù)庫177 7.4.1MongoDB簡介177 7.4.2MongoDB下載與安裝177 7.4.3MongoDB文檔操作181 7.4.4MongoDB集合操作185 7.4.5MongoDB數(shù)據(jù)庫操作186 7.4.6MongoDB數(shù)據(jù)類型187 7.5圖數(shù)據(jù)庫188 7.5.1下載和安裝Neo4j189 7.5.2Neo4j的啟動和停止189 7.5.3Neo4j的CQL操作191 7.5.4在Neo4j瀏覽器中創(chuàng)建節(jié)點和關(guān)系194 7.6習(xí)題196 第8章Scala基礎(chǔ)編程197 8.1Scala特性197 8.2Scala安裝198 8.2.1用IntelliJ IDEA搭建Scala開發(fā)環(huán)境198 8.2.2用scala.msi搭建Scala開發(fā)環(huán)境202 8.3Scala數(shù)據(jù)類型203 8.4Scala常量和變量204 8.4.1常量204 8.4.2變量205 8.5Scala數(shù)組、列表、集合和映射205 8.5.1定長數(shù)組206 8.5.2變長數(shù)組208 8.5.3列表209 8.5.4集合210 8.5.5映射211 8.6Scala控制結(jié)構(gòu)212 8.6.1條件表達式212 8.6.2if…else選擇結(jié)構(gòu)213 8.6.3編寫Scala腳本213 8.6.4循環(huán)214 8.7Scala函數(shù)215 8.7.1函數(shù)定義215 8.7.2匿名函數(shù)216 8.7.3高階函數(shù)217 8.8Scala類217 8.9Scala讀寫文件218 8.10習(xí)題219 第9章Python基礎(chǔ)編程220 9.1Python安裝220 9.2Python代碼編寫方式221 9.2.1用帶圖形界面的Python Shell編寫交互式代碼221 9.2.2用帶圖形界面的Python Shell編寫程序代碼221 9.3Python對象和引用222 9.3.1對象的身份223 9.3.2對象的類型223 9.3.3對象的值223 9.3.4對象的引用223 9.4Python基本數(shù)據(jù)類型224 9.4.1數(shù)值數(shù)據(jù)類型224 9.4.2字符串?dāng)?shù)據(jù)類型225 9.4.3列表數(shù)據(jù)類型231 9.4.4元組數(shù)據(jù)類型236 9.4.5字典數(shù)據(jù)類型238 9.4.6集合數(shù)據(jù)類型242 9.4.7Python數(shù)據(jù)類型之間的轉(zhuǎn)換244 9.5Python中的數(shù)據(jù)輸入244 9.6Python中的數(shù)據(jù)輸出245 9.6.1表達式語句輸出245 9.6.2print函數(shù)輸出245 9.6.3字符串對象的format方法的格式化輸出247 9.7Python中文件的基本操作248 9.8選擇結(jié)構(gòu)249 9.8.1選擇語句249 9.8.2條件表達式250 9.9循環(huán)結(jié)構(gòu)250 9.9.1while循環(huán)250 9.9.2for循環(huán)251 9.9.3循環(huán)中的break、continue和else252 9.10函數(shù)252 9.10.1定義函數(shù)252 9.10.2函數(shù)調(diào)用253 9.11類255 9.11.1定義類255 9.11.2創(chuàng)建類的對象256 9.12習(xí)題257 □□0章Spark分布式內(nèi)存計算258 10.1Spark概述258 10.1.1Spark產(chǎn)生背景258 10.1.2Spark的優(yōu)點259 10.1.3Spark應(yīng)用場景259 10.1.4Spark生態(tài)系統(tǒng)261 10.2Spark的安裝及配置261 10.2.1Spark安裝的基礎(chǔ)環(huán)境261 10.2.2下載安裝文件262 10.2.3單機模式配置262 10.2.4偽分布式模式配置263 10.3使用Spark Shell編寫Scala代碼264 10.3.1啟動Spark Shell265 10.3.2退出Spark Shell266 10.4Spark核心數(shù)據(jù)結(jié)構(gòu)RDD266 10.4.1RDD創(chuàng)建266 10.4.2RDD操作268 10.4.3RDD屬性275 10.4.4RDD持久化277 10.5Spark運行機制278 10.5.1Spark基本概念278 10.5.2Spark運行架構(gòu)281 10.5.3Spark應(yīng)用執(zhí)行基本流程282 10.6使用Scala語言編寫Spark應(yīng)用程序283 10.6.1安裝sbt283 10.6.2編寫詞頻統(tǒng)計Scala應(yīng)用程序284 10.6.3用sbt打包Scala應(yīng)用程序285 10.6.4通過sparksubmit運行程序286 10.7使用Python語言編寫Spark應(yīng)用程序286 10.7.1SparkContext287 10.7.2pyspark對RDD的轉(zhuǎn)換操作289 10.7.3pyspark對RDD的行動操作290 10.8習(xí)題292 □□1章Spark SQL編程293 11.1Spark SQL概述293 11.2Spark SQL與Shell交互293 11.3DataFrame對象的創(chuàng)建294 11.3.1使用parquet格式文件創(chuàng)建DataFrame294 11.3.2使用JSON數(shù)據(jù)文件創(chuàng)建DataFrame295 11.3.3使用RDD創(chuàng)建DataFrame296 11.4DataFrame對象上的常用操作296 11.4.1內(nèi)容查看297 11.4.2過濾299 11.4.3分組與聚合299 11.4.4獲取所有數(shù)據(jù)到數(shù)組299 11.4.5獲取所有數(shù)據(jù)到列表300 11.4.6獲取指定字段的統(tǒng)計信息300 11.5習(xí)題300 □□2章數(shù)據(jù)可視化301 12.1Tableau繪圖301 12.1.1Tableau的主要特性301 12.1.2Tableau工作表工作區(qū)302 12.1.3Tableau儀表板工作區(qū)307 12.1.4Tableau故事工作區(qū)308 12.1.5Tableau菜單欄310 12.1.6Tableau可視化與數(shù)據(jù)分析舉例311 12.2ECharts繪圖312 12.2.1ECharts的特點312 12.2.2ECharts環(huán)境搭建313 12.2.3使用Dreamweaver 8創(chuàng)建網(wǎng)頁313 12.2.4使用Echarts繪制折線圖314 12.2.5使用Echarts繪制柱狀圖318 12.2.6使用Echarts繪制餅圖320 12.2.7使用Echarts繪制雷達圖322 12.3PyeCharts繪圖324 12.3.1繪制柱狀圖325 12.3.2繪制折線圖327 12.3.3繪制餅圖329 12.3.4繪制雷達圖330 12.3.5繪制漏斗圖331 12.3.6繪制3D立體圖332 12.3.7繪制詞云圖333 12.4習(xí)題334 參考文獻335
你還可能感興趣
我要評論
|