關(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)存計(jì)算、MapReduce應(yīng)用開發(fā)、Spark SQL編程、數(shù)據(jù)可視化。本書編寫特色理論與具體操作相結(jié)合,較低基礎(chǔ)入門大數(shù)據(jù)技術(shù)。讀者對(duì)象是本科、?苹蜓芯可髷(shù)據(jù)技術(shù)課程教材,大數(shù)據(jù)技術(shù)愛好者,其他對(duì)大數(shù)據(jù)技術(shù)感興趣的人員。
一、 系列教材背景
人類已經(jīng)進(jìn)入智能時(shí)代,云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、機(jī)器人、量子計(jì)算等是這個(gè)時(shí)代□重要的技術(shù)熱點(diǎn)。為了適應(yīng)和滿足時(shí)代發(fā)展對(duì)人才培養(yǎng)的需要,2017年2月以來,教育部積極推進(jìn)新工科建設(shè),先后形成了“復(fù)旦共識(shí)”“天大行動(dòng)”和“北京指南”,并發(fā)布了《教育部高等教育司關(guān)于開展新工科研究與實(shí)踐的通知》《教育部辦公廳關(guān)于推薦新工科研究與實(shí)踐項(xiàng)目的通知》,全力探索形成□□全球工程教育的中國(guó)模式、中國(guó)經(jīng)驗(yàn),助力高等教育強(qiáng)國(guó)建設(shè)。新工科有兩個(gè)內(nèi)涵: 一是新的工科專業(yè);二是傳統(tǒng)工科專業(yè)的新需求。新工科建設(shè)將促進(jìn)一批新專業(yè)的發(fā)展,這批新專業(yè)有的是依托于現(xiàn)有計(jì)算機(jī)類專業(yè)派生、擴(kuò)展而成的,有的是多個(gè)專業(yè)有機(jī)整合而成的。由計(jì)算機(jī)類專業(yè)派生、擴(kuò)展形成的新工科專業(yè)有計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、物聯(lián)網(wǎng)工程、信息管理與信息系統(tǒng)、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)等。由計(jì)算機(jī)類學(xué)科交叉融合形成的新工科專業(yè)有網(wǎng)絡(luò)空間安全、人工智能、機(jī)器人工程、數(shù)字媒體技術(shù)、智能科學(xué)與技術(shù)等。 在新工科建設(shè)的“九個(gè)一批”中,明確提出“建設(shè)一批體現(xiàn)產(chǎn)業(yè)和技術(shù)□新發(fā)展的新課程”“建設(shè)一批產(chǎn)業(yè)急需的新興工科專業(yè)”。新課程和新專業(yè)的持續(xù)建設(shè),都需要以適應(yīng)新工科教育的教材作為支撐。由于各個(gè)專業(yè)之間的課程相互交叉,但是又不能相互包含,所以在選題方向上,既考慮由計(jì)算機(jī)類專業(yè)派生、擴(kuò)展形成的新工科專業(yè)的選題,又考慮由計(jì)算機(jī)類專業(yè)交叉融合形成的新工科專業(yè)的選題,特別是網(wǎng)絡(luò)空間安全專業(yè)、智能科學(xué)與技術(shù)專業(yè)的選題;诖,清華大學(xué)出版社計(jì)劃出版“面向新工科專業(yè)建設(shè)計(jì)算機(jī)系列教材”。 二、 教材定位 教材使用對(duì)象為“211工程”高;蛲人郊耙陨细咝S(jì)算機(jī)類專業(yè)及相關(guān)專業(yè)學(xué)生。三、 教材編寫原則 (1) 借鑒Computer Science Curricula 2013(以下簡(jiǎn)稱CS2013)。CS2013的核心知識(shí)領(lǐng)域包括算法與復(fù)雜度、體系結(jié)構(gòu)與組織、計(jì)算科學(xué)、離散結(jié)構(gòu)、圖形學(xué)與可視化、人機(jī)交互、信息保障與安全、信息管理、智能系統(tǒng)、網(wǎng)絡(luò)與通信、操作系統(tǒng)、基于平臺(tái)的開發(fā)、并行與分布式計(jì)算、程序設(shè)計(jì)語言、軟件開發(fā)基礎(chǔ)、軟件工程、系統(tǒng)基礎(chǔ)、社會(huì)問題與專業(yè)實(shí)踐等內(nèi)容。 (2) 處理好理論與技能培養(yǎng)的關(guān)系,注重理論與實(shí)踐相結(jié)合,加強(qiáng)對(duì)學(xué)生思維方式的訓(xùn)練和計(jì)算思維的培養(yǎng)。計(jì)算機(jī)專業(yè)學(xué)生能力的培養(yǎng)特別強(qiáng)調(diào)理論學(xué)習(xí)、計(jì)算思維培養(yǎng)和實(shí)踐訓(xùn)練。本系列教材以“重視理論,加強(qiáng)計(jì)算思維培養(yǎng),突出案例和實(shí)踐應(yīng)用”為主要目標(biāo)。 (3) 為便于教學(xué),在紙質(zhì)教材的基礎(chǔ)上,融合多種形式的教學(xué)輔助材料。每本教材可以有主教材、教師用書、習(xí)題解答、實(shí)驗(yàn)指導(dǎo)等。特別是在數(shù)字資源建設(shè)方面,可以結(jié)合當(dāng)前出版融合的趨勢(shì),做好立體化教材建設(shè),可考慮加上微課、微視頻、二維碼、MOOC等擴(kuò)展資源。 大數(shù)據(jù)技術(shù)(微課版)出版說明四、 教材特點(diǎn)1. 滿足新工科專業(yè)建設(shè)的需要系列教材涵蓋計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、物聯(lián)網(wǎng)工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、網(wǎng)絡(luò)空間安全、人工智能等專業(yè)的課程。 2. 案例體現(xiàn)傳統(tǒng)工科專業(yè)的新需求 編寫時(shí),以案例驅(qū)動(dòng),任務(wù)引導(dǎo),特別是有一些新應(yīng)用場(chǎng)景的案例。 3. 循序漸進(jìn),內(nèi)容全面 講解基礎(chǔ)知識(shí)和實(shí)用案例時(shí),由簡(jiǎn)單到復(fù)雜,循序漸進(jìn),系統(tǒng)講解。 4. 資源豐富,立體化建設(shè) 除了教學(xué)課件外,還可以提供教學(xué)大綱、教學(xué)計(jì)劃、微視頻等擴(kuò)展資源,以方便教學(xué)。 五、 優(yōu)先出版1. 精品課程配套教材主要包括□□□或省級(jí)的精品課程和精品資源共享課的配套教材。 2. 傳統(tǒng)優(yōu)秀改版教材 對(duì)于已經(jīng)出版過的優(yōu)秀教材,經(jīng)過市場(chǎng)認(rèn)可,由于新技術(shù)的發(fā)展,給圖書配上新的教學(xué)形式、教學(xué)資源,計(jì)劃改版的教材。 3. 前沿技術(shù)與熱點(diǎn)教材 反映計(jì)算機(jī)前沿和當(dāng)前熱點(diǎn)的相關(guān)教材,例如云計(jì)算、大數(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è)計(jì)算機(jī)系列教材”編委會(huì) 2019年6月
曹潔:男,鄭州輕工業(yè)大學(xué)副教授,同濟(jì)大學(xué)博士畢業(yè)。研究方向:數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、并行分布式處理。近年在軟件學(xué)報(bào)、電子學(xué)報(bào)、計(jì)算機(jī)研究與發(fā)展、通信學(xué)報(bào)等刊物上發(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云計(jì)算技術(shù)3 1.2.4分布式處理技術(shù)6 1.2.5數(shù)據(jù)存儲(chǔ)技術(shù)6 1.3大數(shù)據(jù)計(jì)算模式與典型系統(tǒng)7 1.3.1批處理計(jì)算模式與典型系統(tǒng)7 1.3.2流式計(jì)算模式與典型系統(tǒng)7 1.3.3迭代計(jì)算模式與典型系統(tǒng)8 1.3.4圖計(jì)算模式與典型系統(tǒng)8 1.3.5內(nèi)存計(jì)算模式與典型系統(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主機(jī)名更改19 2.2Java語言基礎(chǔ)202.2.1基本數(shù)據(jù)類型20 2.2.2主類結(jié)構(gòu)21 2.2.3定義類24 2.2.4類的實(shí)例化26 2.2.5包28 2.2.6常用實(shí)用類31 2.3SQL基礎(chǔ)33 2.4在VirtualBox上安裝虛擬機(jī)34 2.4.1Master節(jié)點(diǎn)的安裝34 2.4.2復(fù)制虛擬機(jī)41 2.5習(xí)題45 大數(shù)據(jù)技術(shù)(微課版)目錄第3章Hadoop大數(shù)據(jù)處理架構(gòu)46 3.1Hadoop概述46 3.1.1Hadoop簡(jiǎn)介46 3.1.2Hadoop特性46 3.2Hadoop生態(tài)系統(tǒng)47 3.2.1Hadoop分布式文件系統(tǒng)47 3.2.2MapReduce分布式計(jì)算模型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)存計(jì)算51 3.2.12Tez有向無環(huán)圖計(jì)算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單機(jī)模式配置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存儲(chǔ)架構(gòu)及組件功能74 4.3.1HDFS存儲(chǔ)架構(gòu)74 4.3.2數(shù)據(jù)塊74 4.3.3數(shù)據(jù)節(jié)點(diǎn)75 4.3.4名稱節(jié)點(diǎn)76 4.3.5第二名稱節(jié)點(diǎn)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編程實(shí)踐87 4.6.1安裝eclipse88 4.6.2在eclipse中創(chuàng)建項(xiàng)目89 4.6.3為項(xiàng)目添加需要用到的JAR包90 4.6.4編寫Java應(yīng)用程序92 4.6.5編譯運(yùn)行程序94 4.6.6應(yīng)用程序的部署95 4.7習(xí)題97 第5章MapReduce分布式計(jì)算框架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具體實(shí)現(xiàn)119 5.4.3使用eclipse編譯運(yùn)行詞頻統(tǒng)計(jì)程序124 5.5習(xí)題129 第6章HBase分布式數(shù)據(jù)庫130 6.1HBase概述130 6.1.1HBase的技術(shù)特點(diǎn)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ù)表面向列的存儲(chǔ)141 6.3.4HBase數(shù)據(jù)表的查詢方式142 6.3.5HBase表結(jié)構(gòu)設(shè)計(jì)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單機(jī)運(yùn)行模式配置145 6.5.2偽分布式運(yùn)行模式配置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)建項(xiàng)目161 6.8.2添加項(xiàng)目需要用到的JAR包162 6.8.3編寫Java應(yīng)用程序163 6.8.4編譯運(yùn)行程序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ù)庫的特點(diǎn)169 7.2“鍵值”數(shù)據(jù)庫169 7.2.1Redis安裝170 7.2.2Redis數(shù)據(jù)庫的特點(diǎn)171 7.2.3Redis數(shù)據(jù)庫的基本數(shù)據(jù)類型171 7.3列族數(shù)據(jù)庫177 7.4文檔數(shù)據(jù)庫177 7.4.1MongoDB簡(jiǎn)介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的啟動(dòng)和停止189 7.5.3Neo4j的CQL操作191 7.5.4在Neo4j瀏覽器中創(chuàng)建節(jié)點(diǎn)和關(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定長(zhǎng)數(shù)組206 8.5.2變長(zhǎng)數(shù)組208 8.5.3列表209 8.5.4集合210 8.5.5映射211 8.6Scala控制結(jié)構(gòu)212 8.6.1條件表達(dá)式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對(duì)象和引用222 9.3.1對(duì)象的身份223 9.3.2對(duì)象的類型223 9.3.3對(duì)象的值223 9.3.4對(duì)象的引用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表達(dá)式語句輸出245 9.6.2print函數(shù)輸出245 9.6.3字符串對(duì)象的format方法的格式化輸出247 9.7Python中文件的基本操作248 9.8選擇結(jié)構(gòu)249 9.8.1選擇語句249 9.8.2條件表達(dá)式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)建類的對(duì)象256 9.12習(xí)題257 □□0章Spark分布式內(nèi)存計(jì)算258 10.1Spark概述258 10.1.1Spark產(chǎn)生背景258 10.1.2Spark的優(yōu)點(diǎn)259 10.1.3Spark應(yīng)用場(chǎ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單機(jī)模式配置262 10.2.4偽分布式模式配置263 10.3使用Spark Shell編寫Scala代碼264 10.3.1啟動(dòng)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運(yùn)行機(jī)制278 10.5.1Spark基本概念278 10.5.2Spark運(yùn)行架構(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)計(jì)Scala應(yīng)用程序284 10.6.3用sbt打包Scala應(yīng)用程序285 10.6.4通過sparksubmit運(yùn)行程序286 10.7使用Python語言編寫Spark應(yīng)用程序286 10.7.1SparkContext287 10.7.2pyspark對(duì)RDD的轉(zhuǎn)換操作289 10.7.3pyspark對(duì)RDD的行動(dòng)操作290 10.8習(xí)題292 □□1章Spark SQL編程293 11.1Spark SQL概述293 11.2Spark SQL與Shell交互293 11.3DataFrame對(duì)象的創(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對(duì)象上的常用操作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)計(jì)信息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的特點(diǎn)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繪制雷達(dá)圖322 12.3PyeCharts繪圖324 12.3.1繪制柱狀圖325 12.3.2繪制折線圖327 12.3.3繪制餅圖329 12.3.4繪制雷達(dá)圖330 12.3.5繪制漏斗圖331 12.3.6繪制3D立體圖332 12.3.7繪制詞云圖333 12.4習(xí)題334 參考文獻(xiàn)335
你還可能感興趣
我要評(píng)論
|