關于我們
書單推薦
新書推薦
|
大數據技術(微課版)
本書系統(tǒng)地講解了大數據處理常用技術,具體包括大數據處理架構Hadoop、分布式文件系統(tǒng)HDFS、MapReduce編程模型、分布式數據庫Hbase、NoSQL數據庫、Spark分布式內存計算、MapReduce應用開發(fā)、Spark SQL編程、數據可視化。本書編寫特色理論與具體操作相結合,較低基礎入門大數據技術。讀者對象是本科、?苹蜓芯可髷祿夹g課程教材,大數據技術愛好者,其他對大數據技術感興趣的人員。
一、 系列教材背景
人類已經進入智能時代,云計算、大數據、物聯網、人工智能、機器人、量子計算等是這個時代□重要的技術熱點。為了適應和滿足時代發(fā)展對人才培養(yǎng)的需要,2017年2月以來,教育部積極推進新工科建設,先后形成了“復旦共識”“天大行動”和“北京指南”,并發(fā)布了《教育部高等教育司關于開展新工科研究與實踐的通知》《教育部辦公廳關于推薦新工科研究與實踐項目的通知》,全力探索形成□□全球工程教育的中國模式、中國經驗,助力高等教育強國建設。新工科有兩個內涵: 一是新的工科專業(yè);二是傳統(tǒng)工科專業(yè)的新需求。新工科建設將促進一批新專業(yè)的發(fā)展,這批新專業(yè)有的是依托于現有計算機類專業(yè)派生、擴展而成的,有的是多個專業(yè)有機整合而成的。由計算機類專業(yè)派生、擴展形成的新工科專業(yè)有計算機科學與技術、軟件工程、網絡工程、物聯網工程、信息管理與信息系統(tǒng)、數據科學與大數據技術等。由計算機類學科交叉融合形成的新工科專業(yè)有網絡空間安全、人工智能、機器人工程、數字媒體技術、智能科學與技術等。 在新工科建設的“九個一批”中,明確提出“建設一批體現產業(yè)和技術□新發(fā)展的新課程”“建設一批產業(yè)急需的新興工科專業(yè)”。新課程和新專業(yè)的持續(xù)建設,都需要以適應新工科教育的教材作為支撐。由于各個專業(yè)之間的課程相互交叉,但是又不能相互包含,所以在選題方向上,既考慮由計算機類專業(yè)派生、擴展形成的新工科專業(yè)的選題,又考慮由計算機類專業(yè)交叉融合形成的新工科專業(yè)的選題,特別是網絡空間安全專業(yè)、智能科學與技術專業(yè)的選題。基于此,清華大學出版社計劃出版“面向新工科專業(yè)建設計算機系列教材”。 二、 教材定位 教材使用對象為“211工程”高;蛲人郊耙陨细咝S嬎銠C類專業(yè)及相關專業(yè)學生。三、 教材編寫原則 (1) 借鑒Computer Science Curricula 2013(以下簡稱CS2013)。CS2013的核心知識領域包括算法與復雜度、體系結構與組織、計算科學、離散結構、圖形學與可視化、人機交互、信息保障與安全、信息管理、智能系統(tǒng)、網絡與通信、操作系統(tǒng)、基于平臺的開發(fā)、并行與分布式計算、程序設計語言、軟件開發(fā)基礎、軟件工程、系統(tǒng)基礎、社會問題與專業(yè)實踐等內容。 (2) 處理好理論與技能培養(yǎng)的關系,注重理論與實踐相結合,加強對學生思維方式的訓練和計算思維的培養(yǎng)。計算機專業(yè)學生能力的培養(yǎng)特別強調理論學習、計算思維培養(yǎng)和實踐訓練。本系列教材以“重視理論,加強計算思維培養(yǎng),突出案例和實踐應用”為主要目標。 (3) 為便于教學,在紙質教材的基礎上,融合多種形式的教學輔助材料。每本教材可以有主教材、教師用書、習題解答、實驗指導等。特別是在數字資源建設方面,可以結合當前出版融合的趨勢,做好立體化教材建設,可考慮加上微課、微視頻、二維碼、MOOC等擴展資源。 大數據技術(微課版)出版說明四、 教材特點1. 滿足新工科專業(yè)建設的需要系列教材涵蓋計算機科學與技術、軟件工程、物聯網工程、數據科學與大數據技術、網絡空間安全、人工智能等專業(yè)的課程。 2. 案例體現傳統(tǒng)工科專業(yè)的新需求 編寫時,以案例驅動,任務引導,特別是有一些新應用場景的案例。 3. 循序漸進,內容全面 講解基礎知識和實用案例時,由簡單到復雜,循序漸進,系統(tǒng)講解。 4. 資源豐富,立體化建設 除了教學課件外,還可以提供教學大綱、教學計劃、微視頻等擴展資源,以方便教學。 五、 優(yōu)先出版1. 精品課程配套教材主要包括□□□或省級的精品課程和精品資源共享課的配套教材。 2. 傳統(tǒng)優(yōu)秀改版教材 對于已經出版過的優(yōu)秀教材,經過市場認可,由于新技術的發(fā)展,給圖書配上新的教學形式、教學資源,計劃改版的教材。 3. 前沿技術與熱點教材 反映計算機前沿和當前熱點的相關教材,例如云計算、大數據、人工智能、物聯網、網絡空間安全等方面的教材。 六、 聯系方式 聯系人: 白立軍 聯系電話: 01083470179 聯系和投稿郵箱: bailj@tup.tsinghua.edu.cn “面向新工科專業(yè)建設計算機系列教材”編委會 2019年6月
曹潔:男,鄭州輕工業(yè)大學副教授,同濟大學博士畢業(yè)。研究方向:數據分析、機器學習、并行分布式處理。近年在軟件學報、電子學報、計算機研究與發(fā)展、通信學報等刊物上發(fā)表10余篇論文。
第1章大數據概述1 1.1大數據的基本概念1 1.1.1大數據的定義1 1.1.2大數據的特征1 1.2大數據技術2 1.2.1數據采集技術2 1.2.2數據預處理技術3 1.2.3云計算技術3 1.2.4分布式處理技術6 1.2.5數據存儲技術6 1.3大數據計算模式與典型系統(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內存計算模式與典型系統(tǒng)8 1.4習題8 第2章大數據軟件基礎9 2.1Linux基礎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語言基礎202.2.1基本數據類型20 2.2.2主類結構21 2.2.3定義類24 2.2.4類的實例化26 2.2.5包28 2.2.6常用實用類31 2.3SQL基礎33 2.4在VirtualBox上安裝虛擬機34 2.4.1Master節(jié)點的安裝34 2.4.2復制虛擬機41 2.5習題45 大數據技術(微課版)目錄第3章Hadoop大數據處理架構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數據倉庫49 3.2.4HBase分布式數據庫49 3.2.5Zookeeper分布式協調服務49 3.2.6Sqoop數據導入導出工具50 3.2.7Pig數據分析50 3.2.8Mahout數據挖掘算法庫50 3.2.9Flume日志收集工具51 3.2.10Oozie作業(yè)流調度系統(tǒng)51 3.2.11Spark分布式內存計算51 3.2.12Tez有向無環(huán)圖計算52 3.2.13Storm流數據處理52 3.3Hadoop的安裝與使用53 3.3.1安裝Hadoop前的準備工作53 3.3.2下載Hadoop安裝文件55 3.3.3Hadoop單機模式配置56 3.3.4Hadoop偽分布式模式配置56 3.3.5Hadoop分布式模式配置60 3.4習題69 第4章Hadoop分布式文件系統(tǒng)70 4.1分布式文件系統(tǒng)的結構70 4.1.1主控服務器71 4.1.2數據服務器72 4.1.3客戶端73 4.2HDFS的基本特征73 4.3HDFS存儲架構及組件功能74 4.3.1HDFS存儲架構74 4.3.2數據塊74 4.3.3數據節(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應用程序92 4.6.5編譯運行程序94 4.6.6應用程序的部署95 4.7習題97 第5章MapReduce分布式計算框架99 5.1MapReduce概述99 5.1.1并發(fā)、并行與分布式編程的概念99 5.1.2MapReduce并行編程模型100 5.1.3Map函數和Reduce函數100 5.2MapReduce的工作原理101 5.2.1MapReduce的體系架構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經典案例117 5.4.1WordCount執(zhí)行流程示例117 5.4.2WordCount具體實現119 5.4.3使用eclipse編譯運行詞頻統(tǒng)計程序124 5.5習題129 第6章HBase分布式數據庫130 6.1HBase概述130 6.1.1HBase的技術特點130 6.1.2HBase與傳統(tǒng)關系數據庫的區(qū)別130 6.1.3HBase與Hadoop中其他組件的關系131 6.2HBase系統(tǒng)架構和訪問接口132 6.2.1HBase系統(tǒng)架構132 6.2.2ROOT表和.META.表135 6.2.3HBase訪問接口137 6.3HBase數據表138 6.3.1HBase數據表邏輯視圖138 6.3.2HBase數據表物理視圖140 6.3.3HBase數據表面向列的存儲141 6.3.4HBase數據表的查詢方式142 6.3.5HBase表結構設計143 6.4HBase安裝143 6.4.1下載安裝文件143 6.4.2配置環(huán)境變量143 6.4.3添加用戶權限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插入與更新表中的數據152 6.6.4查看表中的數據152 6.6.5刪除表中的數據154 6.6.6表的啟用/禁用155 6.6.7修改表結構155 6.6.8刪除HBase表156 6.7常用的Java API156 6.7.1HBase數據庫管理API156 6.7.2HBase數據庫表API157 6.7.3HBase數據庫表行列API159 6.8HBase編程161 6.8.1在eclipse中創(chuàng)建項目161 6.8.2添加項目需要用到的JAR包162 6.8.3編寫Java應用程序163 6.8.4編譯運行程序166 6.9習題167 第7章NoSQL數據庫168 7.1NoSQL數據庫概述168 7.1.1NoSQL數據庫興起的原因168 7.1.2NoSQL數據庫的特點169 7.2“鍵值”數據庫169 7.2.1Redis安裝170 7.2.2Redis數據庫的特點171 7.2.3Redis數據庫的基本數據類型171 7.3列族數據庫177 7.4文檔數據庫177 7.4.1MongoDB簡介177 7.4.2MongoDB下載與安裝177 7.4.3MongoDB文檔操作181 7.4.4MongoDB集合操作185 7.4.5MongoDB數據庫操作186 7.4.6MongoDB數據類型187 7.5圖數據庫188 7.5.1下載和安裝Neo4j189 7.5.2Neo4j的啟動和停止189 7.5.3Neo4j的CQL操作191 7.5.4在Neo4j瀏覽器中創(chuàng)建節(jié)點和關系194 7.6習題196 第8章Scala基礎編程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數據類型203 8.4Scala常量和變量204 8.4.1常量204 8.4.2變量205 8.5Scala數組、列表、集合和映射205 8.5.1定長數組206 8.5.2變長數組208 8.5.3列表209 8.5.4集合210 8.5.5映射211 8.6Scala控制結構212 8.6.1條件表達式212 8.6.2if…else選擇結構213 8.6.3編寫Scala腳本213 8.6.4循環(huán)214 8.7Scala函數215 8.7.1函數定義215 8.7.2匿名函數216 8.7.3高階函數217 8.8Scala類217 8.9Scala讀寫文件218 8.10習題219 第9章Python基礎編程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基本數據類型224 9.4.1數值數據類型224 9.4.2字符串數據類型225 9.4.3列表數據類型231 9.4.4元組數據類型236 9.4.5字典數據類型238 9.4.6集合數據類型242 9.4.7Python數據類型之間的轉換244 9.5Python中的數據輸入244 9.6Python中的數據輸出245 9.6.1表達式語句輸出245 9.6.2print函數輸出245 9.6.3字符串對象的format方法的格式化輸出247 9.7Python中文件的基本操作248 9.8選擇結構249 9.8.1選擇語句249 9.8.2條件表達式250 9.9循環(huán)結構250 9.9.1while循環(huán)250 9.9.2for循環(huán)251 9.9.3循環(huán)中的break、continue和else252 9.10函數252 9.10.1定義函數252 9.10.2函數調用253 9.11類255 9.11.1定義類255 9.11.2創(chuàng)建類的對象256 9.12習題257 □□0章Spark分布式內存計算258 10.1Spark概述258 10.1.1Spark產生背景258 10.1.2Spark的優(yōu)點259 10.1.3Spark應用場景259 10.1.4Spark生態(tài)系統(tǒng)261 10.2Spark的安裝及配置261 10.2.1Spark安裝的基礎環(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核心數據結構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運行架構281 10.5.3Spark應用執(zhí)行基本流程282 10.6使用Scala語言編寫Spark應用程序283 10.6.1安裝sbt283 10.6.2編寫詞頻統(tǒng)計Scala應用程序284 10.6.3用sbt打包Scala應用程序285 10.6.4通過sparksubmit運行程序286 10.7使用Python語言編寫Spark應用程序286 10.7.1SparkContext287 10.7.2pyspark對RDD的轉換操作289 10.7.3pyspark對RDD的行動操作290 10.8習題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數據文件創(chuàng)建DataFrame295 11.3.3使用RDD創(chuàng)建DataFrame296 11.4DataFrame對象上的常用操作296 11.4.1內容查看297 11.4.2過濾299 11.4.3分組與聚合299 11.4.4獲取所有數據到數組299 11.4.5獲取所有數據到列表300 11.4.6獲取指定字段的統(tǒng)計信息300 11.5習題300 □□2章數據可視化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可視化與數據分析舉例311 12.2ECharts繪圖312 12.2.1ECharts的特點312 12.2.2ECharts環(huán)境搭建313 12.2.3使用Dreamweaver 8創(chuà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習題334 參考文獻335
你還可能感興趣
我要評論
|