教學(xué)大綱
課程名稱 | (中文):大數(shù)據(jù)技術(shù)入門——Hadoop+Spark(英文):Big Data Technology and Practice |
課程類別 | 專業(yè)基礎(chǔ)課 |
考核性質(zhì) | 考試 |
先修課程 | Java 語(yǔ)言 |
1
教學(xué)目標(biāo)
2.1 課程教學(xué)目標(biāo)
教學(xué)目標(biāo)1:掌握大數(shù)據(jù)的基本概念,了解大數(shù)據(jù)技術(shù)發(fā)展歷程、技術(shù)體系及應(yīng)用領(lǐng)域。
教學(xué)目標(biāo)2:理解大數(shù)據(jù)存儲(chǔ)的基本原理,掌握大數(shù)據(jù)存儲(chǔ)的基本技術(shù),能夠應(yīng)用常用的大數(shù)據(jù)存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)存取及管理。
教學(xué)目標(biāo)3:理解大數(shù)據(jù)處理的基本原理,掌握大數(shù)據(jù)處理的基本編程模型并能夠進(jìn)行初級(jí)實(shí)踐。
教學(xué)目標(biāo)4:了解大數(shù)據(jù)技術(shù)的發(fā)展趨勢(shì),認(rèn)識(shí)到大數(shù)據(jù)技術(shù)的發(fā)展及應(yīng)用對(duì)社會(huì)發(fā)展的影響。
教學(xué)目標(biāo)5:理解大數(shù)據(jù)應(yīng)用需求及技術(shù)環(huán)境的多樣性,認(rèn)識(shí)到自我學(xué)習(xí)的必要性。
2.2 課程教學(xué)目標(biāo)與畢業(yè)要求的關(guān)系矩陣
課程教學(xué)目標(biāo)與畢業(yè)要求的關(guān)系矩陣見表1。
表1 課程教學(xué)目標(biāo)與畢業(yè)要求的關(guān)系矩陣
注:● 相關(guān)程度大;○表示有相關(guān)。
2
課程基本內(nèi)容和學(xué)時(shí)安排
3.1 教學(xué)單元1:大數(shù)據(jù)概述
教學(xué)內(nèi)容:
教學(xué)單元1-1研究背景和意義
教學(xué)單元1-2 數(shù)據(jù)定義及其技術(shù)持點(diǎn)
教學(xué)單元1-3大數(shù)據(jù)處理的主要技術(shù)特點(diǎn)與難點(diǎn)
教學(xué)單元1-4研究大數(shù)據(jù)的意義
重點(diǎn):
數(shù)據(jù)定義及其技術(shù)持點(diǎn)
難點(diǎn):
3大數(shù)據(jù)處理的主要技術(shù)特點(diǎn)與難點(diǎn)
3.2 教學(xué)單元2:Hadoop簡(jiǎn)介及安裝部署
教學(xué)內(nèi)容:
教學(xué)單元2-1 Hadoop簡(jiǎn)介及生態(tài)體系
教學(xué)單元2-1 Hadoop集群架構(gòu)
教學(xué)單元2-1 Hadoop集群運(yùn)行環(huán)境搭建
重點(diǎn):
Hadoop簡(jiǎn)介及生態(tài)體系
難點(diǎn):
Hadoop集群運(yùn)行環(huán)境搭建
3.3 教學(xué)單元3:HDFS 分布式文件系統(tǒng)
教學(xué)內(nèi)容:
教學(xué)單元3-1相關(guān)基本概念
教學(xué)單元3-2 HDFS存儲(chǔ)架構(gòu)
教學(xué)單元3-3 HDFS的特點(diǎn)
教學(xué)單元3-4 HDFS常用Shell命令
教學(xué)單元3-5 HDFS的Java API
重點(diǎn):
HDFS存儲(chǔ)架構(gòu)
難點(diǎn):
HDFS常用Shell命令、HDFS的Java API
3.4 教學(xué)單元4:MapReduce計(jì)算框架
教學(xué)內(nèi)容:
教學(xué)單元4-1 MapReduce核心思想
教學(xué)單元4-2 MapReduce的工作原理
教學(xué)單元4-3 MapReduce的運(yùn)行機(jī)制
教學(xué)單元4-4 MapReduce數(shù)據(jù)本地化
教學(xué)單元4-5 MapReduce編程
教學(xué)單元4-6 MapReduce編程示例
重點(diǎn):
MapReduce核心思想
難點(diǎn):
MapReduce的工作原理、運(yùn)行機(jī)制
3.5教學(xué)單元5:Hive 數(shù)據(jù)倉(cāng)庫(kù)
教學(xué)內(nèi)容:
教學(xué)單元5-1 Hive概述
教學(xué)單元5-2 Hive安裝
教學(xué)單元5-3 Hive數(shù)據(jù)庫(kù)相關(guān)操作
重點(diǎn):
Hive安裝
難點(diǎn):
Hive數(shù)據(jù)庫(kù)相關(guān)操作
3.6 教學(xué)單元6:HBase分布式數(shù)據(jù)庫(kù)
教學(xué)內(nèi)容:
教學(xué)單元5-1 HBase的概述
教學(xué)單元5-2 HBase安裝
教學(xué)單元5-3 HBase數(shù)據(jù)模型
教學(xué)單元5-4 HBase的Shell操作
教學(xué)單元5-5 Hbase常用Java API及示例程序
重點(diǎn):
HBase安裝
難點(diǎn):
HBase的Shell操作
3.7 教學(xué)單元7:Spark基礎(chǔ)
教學(xué)內(nèi)容:
教學(xué)單元7-1 Spark概述
教學(xué)單元7-2 Spark的安裝
教學(xué)單元7-3 Spark運(yùn)行架構(gòu)與原理
教學(xué)單元7-4 Spark運(yùn)行基本流程
重點(diǎn):
Spark運(yùn)行架構(gòu)與原理
難點(diǎn):
Spark運(yùn)行基本流程
3.8 教學(xué)單元8:Spark RDD彈性分布式數(shù)據(jù)集
教學(xué)內(nèi)容:
教學(xué)單元8-1 RDD的設(shè)計(jì)與運(yùn)行原理
教學(xué)單元8-2 RDD創(chuàng)建
教學(xué)單元8-3 RDD操作
教學(xué)單元8-4程序示例:倒排索引
重點(diǎn):
RDD的設(shè)計(jì)與運(yùn)行原理
難點(diǎn):
RDD操作
3.9 教學(xué)單元9:spark SQL
教學(xué)內(nèi)容:
教學(xué)單元9-1 spark SQL概述
教學(xué)單元9-2 DataFrame
教學(xué)單元9-3 Dataset
教學(xué)單元9-4 Spark SQL編程
重點(diǎn):
DataFrame
難點(diǎn):
Spark SQL編程
3.10 教學(xué)單元10:Spark Streaming實(shí)時(shí)計(jì)算框架
教學(xué)內(nèi)容:
教學(xué)單元10-1 Spark Streaming概述
教學(xué)單元10-2 DStream編程模型
教學(xué)單元10-3 DStream編程模型示例
重點(diǎn):
DStream編程模型
難點(diǎn):
DStream編程模型示例
3.11 教學(xué)單元11:Spark Streaming與Flume、Kafka的整合
教學(xué)內(nèi)容:
教學(xué)單元11-1 Flume簡(jiǎn)介及安裝
教學(xué)單元11-2 kafka簡(jiǎn)介及其安裝
教學(xué)單元11-3 Flume、Kafka區(qū)別和側(cè)重點(diǎn)
教學(xué)單元11-4 Spark Streaming與Flume、Kafka整合與開發(fā)
重點(diǎn):
Flume、Kafka區(qū)別和側(cè)重點(diǎn)
難點(diǎn):
Spark Streaming與Flume、Kafka整合與開發(fā)
3.12 教學(xué)單元12:Spark MLlib 機(jī)器學(xué)習(xí)
教學(xué)內(nèi)容:
教學(xué)單元12-1機(jī)器學(xué)習(xí)概念
教學(xué)單元12-2 MLlib的簡(jiǎn)介
教學(xué)單元12-3 SparkMLlib數(shù)據(jù)類型
教學(xué)單元12-4 SparkMLlib機(jī)器學(xué)習(xí)示例
重點(diǎn):
SparkMLlib數(shù)據(jù)類型
難點(diǎn):
SparkMLlib機(jī)器學(xué)習(xí)示例
3.13 實(shí)戰(zhàn)案例-分布式優(yōu)惠券后臺(tái)應(yīng)用系統(tǒng)
教學(xué)內(nèi)容:
教學(xué)單元13-1 系統(tǒng)簡(jiǎn)介
教學(xué)單元13-1系統(tǒng)整體架構(gòu)
教學(xué)單元13-1表結(jié)構(gòu)設(shè)計(jì)
教學(xué)單元13-1系統(tǒng)實(shí)現(xiàn)
教學(xué)單元13-1 系統(tǒng)運(yùn)行測(cè)試
重點(diǎn):
系統(tǒng)整體架構(gòu)
難點(diǎn):
系統(tǒng)實(shí)現(xiàn)、運(yùn)行測(cè)試
3
學(xué)時(shí)分配
4.1 學(xué)時(shí)分配
本課程共64學(xué)時(shí),其中課堂講授38學(xué)時(shí),上機(jī)實(shí)驗(yàn)26學(xué)時(shí),具體的學(xué)時(shí)分配見表2。
表2 課程學(xué)時(shí)分配表
4.2 實(shí)踐性教學(xué)內(nèi)容
課內(nèi)實(shí)驗(yàn)內(nèi)容及要求見表3。
表3 課內(nèi)實(shí)驗(yàn)內(nèi)容及要求
4
教學(xué)方式方法
5.1 教學(xué)方法
本課程是一門64學(xué)時(shí)的專業(yè)必修課,課堂教學(xué)38學(xué)時(shí),上機(jī)實(shí)驗(yàn)26學(xué)時(shí)。根據(jù)課程目標(biāo),設(shè)計(jì)課程教學(xué)方法如下:
1、課堂講授:以問(wèn)題導(dǎo)入的方式,通過(guò)介紹當(dāng)前應(yīng)用環(huán)境的變化和需求引入大數(shù)據(jù)技術(shù),概括介紹大數(shù)據(jù)知識(shí)體系,使學(xué)生對(duì)課程有一個(gè)初步的認(rèn)識(shí),進(jìn)而詳細(xì)介紹大數(shù)據(jù)存儲(chǔ)和大數(shù)據(jù)處理兩大核心技術(shù)。采用多媒體與板書相結(jié)合的方式進(jìn)行講授,對(duì)于各章節(jié)的重點(diǎn)及難點(diǎn),基于案例進(jìn)行詳細(xì)講解,幫助學(xué)生理解和掌握。每次開始授課之前,以提問(wèn)的方式,幫助學(xué)生回顧課程內(nèi)容、抓住知識(shí)重點(diǎn)。每章結(jié)束進(jìn)行章節(jié)總結(jié),幫助學(xué)生梳理知識(shí)體系。授課過(guò)程中,以啟發(fā)學(xué)生思維為核心,注重師生互動(dòng),調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性和積極性。
2、課內(nèi)實(shí)驗(yàn):采用課內(nèi)實(shí)驗(yàn)輔助學(xué)生理解和掌握大數(shù)據(jù)技術(shù)的原理及應(yīng)用方法,實(shí)驗(yàn)內(nèi)容主要圍繞大數(shù)據(jù)存儲(chǔ)及大數(shù)據(jù)處理兩大核心技術(shù)。實(shí)驗(yàn)指導(dǎo)書在每次實(shí)驗(yàn)之前提前發(fā)布,以便學(xué)生預(yù)習(xí)。實(shí)驗(yàn)課上由教師布置實(shí)驗(yàn)任務(wù)并進(jìn)行簡(jiǎn)單講解,不宜講解過(guò)細(xì),應(yīng)注重培養(yǎng)學(xué)生自我探索的能力。學(xué)生針對(duì)實(shí)驗(yàn)問(wèn)題進(jìn)行分析、設(shè)計(jì)并完成上機(jī)實(shí)驗(yàn)、撰寫實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)報(bào)告中除記錄實(shí)驗(yàn)過(guò)程外,還要記錄實(shí)驗(yàn)中遇到的問(wèn)題、解決辦法,以及實(shí)驗(yàn)心得,以促進(jìn)學(xué)生的思考與總結(jié)。
3、自主學(xué)習(xí):為了充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性和積極性,除課堂教學(xué)及實(shí)驗(yàn)教學(xué)外,加入11學(xué)時(shí)的自主學(xué)習(xí),通過(guò)作業(yè)幫助學(xué)生理解并掌握各章節(jié)的重點(diǎn)內(nèi)容;通過(guò)報(bào)告中的案例調(diào)研分析及課程總結(jié)展望,培養(yǎng)自主學(xué)習(xí)和終身學(xué)習(xí)的意識(shí),以及客觀評(píng)價(jià)大數(shù)據(jù)技術(shù)的能力。
5.2 教學(xué)手段及措施
采取課堂講授、實(shí)驗(yàn)、應(yīng)用實(shí)例講解等形式,結(jié)合課后自學(xué)進(jìn)行教學(xué)。采用電子教案和板書相結(jié)合的方式,提高講課效果。在教學(xué)過(guò)程中,教師應(yīng)對(duì)大數(shù)據(jù)的基本概念、技術(shù)體系、基本存儲(chǔ)原理以及基本計(jì)算模型進(jìn)行詳細(xì)講解,并指出各教學(xué)內(nèi)容的重點(diǎn)和難點(diǎn)部分。講授中應(yīng)以學(xué)生為中心,注重理論聯(lián)系實(shí)際,以及先進(jìn)教學(xué)方法的使用。
5
考核方式
6.1 考核方式說(shuō)明
采用平時(shí)、實(shí)驗(yàn),作業(yè)相結(jié)合的考核方式,注重實(shí)踐環(huán)節(jié)的考核。各部分所占比重如下:
課堂出勤表現(xiàn)10%
平時(shí)作業(yè)成績(jī)10%
實(shí)驗(yàn)報(bào)告成績(jī)20%
期末考試成績(jī)60%
6.2 考核權(quán)重分配
建議考核權(quán)重分配按表4進(jìn)行,并可根據(jù)情況適當(dāng)調(diào)整權(quán)重。
表4 考核權(quán)重分配表
課程用書
《大數(shù)據(jù)技術(shù)入門——Hadoop+Spark》
ISBN:9787302591818
作者:于海浩 劉志坤 主編 韓詠 孫栩 副主編
定價(jià):49.90元
近年來(lái),隨著大數(shù)據(jù)底層設(shè)施的逐漸成熟,大數(shù)據(jù)技術(shù)開始結(jié)合具體行業(yè),向行業(yè)應(yīng)用延伸。圍繞數(shù)據(jù)資源、基礎(chǔ)硬件、通用軟件等方面的大數(shù)據(jù)產(chǎn)業(yè)正在逐漸形成。各行各業(yè)對(duì)大數(shù)據(jù)人才的需求也日益增強(qiáng)。 鑒于此,國(guó)內(nèi)外一些高校先后開設(shè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)”專業(yè),旨在培養(yǎng)具備大數(shù)據(jù)技術(shù)的高級(jí)人才。
為滿足相關(guān)技術(shù)人員和高校師生學(xué)習(xí)大數(shù)據(jù)技術(shù)基礎(chǔ)知識(shí),我們?cè)诳偨Y(jié)近幾年大數(shù)據(jù)技術(shù)基礎(chǔ)知識(shí)和應(yīng)用案例的基礎(chǔ)上,以理論結(jié)合實(shí)踐的方式將大數(shù)據(jù)基本概念、大數(shù)據(jù)開發(fā)技術(shù)與實(shí)際應(yīng)用相結(jié)合,精心組織并完成了本書的編寫。
本書為一本夯實(shí)大數(shù)據(jù)基礎(chǔ)知識(shí),以實(shí)際應(yīng)用為導(dǎo)向的書籍,非常適合初、中級(jí)學(xué)習(xí)大數(shù)據(jù)技術(shù)的讀者。讀者可以在短時(shí)間內(nèi)學(xué)習(xí)本書中介紹的所有知識(shí),掌握大數(shù)據(jù)技術(shù)的開發(fā)方法。
作為一本關(guān)于大數(shù)據(jù)技術(shù)的入門書籍,本書共有14章。
第1章主要介紹了大數(shù)據(jù)的研究背景、大數(shù)據(jù)的定義及其技術(shù)特點(diǎn)以及大數(shù)據(jù)處理的主要技術(shù)特點(diǎn)與難點(diǎn),最后闡述了研究大數(shù)據(jù)的意義。
第2章主要介紹了Hadoop的起源、生態(tài)體系和集群架構(gòu),對(duì)Hadoop的安裝配置進(jìn)行了詳細(xì)的講解。
第3章主要介紹了Hadoop中非常重要的分布式存儲(chǔ)文件系統(tǒng)——HDFS,分析了HDFS的存儲(chǔ)架構(gòu)以及常用Shell命令和Java API,并且通過(guò)一個(gè)具體案例實(shí)現(xiàn)了HDFS的Java API的編程。
第4章主要介紹了Hadoop的分布式計(jì)算框架MapReduce,分析了MapReduce的核心思想、工作原理、運(yùn)行機(jī)制以及MapReduce的核心過(guò)程Shuffle,最后通過(guò)單詞計(jì)數(shù)和倒排索引兩個(gè)案例詳細(xì)分析MapReduce的編寫過(guò)程和思路。
第5章主要介紹了Hive的架構(gòu)、安裝和相關(guān)操作,重點(diǎn)介紹Hive的DDL、DML、DQL操作。
第6章首先介紹了HBase的架構(gòu)、尋址機(jī)制以及HBase的安裝,然后介紹了HBase的Shell操作,包括新建表、插入數(shù)據(jù)、刪除等操作,最后介紹了HBase常用的Java API,并且進(jìn)行了案例實(shí)現(xiàn)。
第7章主要介紹了Spark的基本概念和主要特點(diǎn)、Spark的安裝、運(yùn)行架構(gòu)和運(yùn)行基本流程,是為學(xué)習(xí)Spark RDD和 Spark SQL做基礎(chǔ)知識(shí)儲(chǔ)備。
第8章主要介紹了RDD的運(yùn)行原理和運(yùn)行流程,并對(duì)RDD的基本操作進(jìn)行了詳細(xì)的介紹,最后用一個(gè)Scala編程案例實(shí)現(xiàn)對(duì)RDD的操作。
第9章主要介紹了Spark SQL的原理和運(yùn)行流程,并對(duì)DataFrame的基本操作進(jìn)行了詳細(xì)的介紹,最后通過(guò)三個(gè)Scala編程案例實(shí)現(xiàn)了Spark SQL的DataFrame操作、Spark SQL 讀寫MySQL數(shù)據(jù)庫(kù)和Spark SQL讀寫Hive。
第10章主要介紹了Spark Streaming的一些基本概念和原理,介紹了DStream編程模型,最后通過(guò)三個(gè)Scala編程案例實(shí)現(xiàn)了DStream的有狀態(tài)狀態(tài)操作、無(wú)狀態(tài)狀態(tài)操作、輸出操作。
第11章主要介紹了Spark Streaming與Flume、Kafka的整合,介紹了Flume和Kafka的安裝過(guò)程,最后通過(guò)一個(gè)Scala編程案例實(shí)現(xiàn)Spark Streaming與Flume、Kafka的整合與開發(fā)。
第12章介紹了機(jī)器學(xué)習(xí)的定義和分類,重點(diǎn)介紹了Spark MLlib目前包含的算法和組件,通過(guò)四個(gè)具體實(shí)例TFIDF、線性回歸、邏輯回歸、協(xié)同過(guò)濾展示了利用Spark MLlib進(jìn)行機(jī)器學(xué)習(xí)的方法和步驟。
第13章介紹了分布式優(yōu)惠券后臺(tái)應(yīng)用系統(tǒng)的開發(fā)核心思路,優(yōu)惠券后臺(tái)應(yīng)用系統(tǒng)包括商戶投放子系統(tǒng)和用戶消費(fèi)子系統(tǒng),分別介紹了兩個(gè)子系統(tǒng)的核心代碼以及測(cè)試調(diào)用過(guò)程。
第14章介紹了新聞話題實(shí)時(shí)統(tǒng)計(jì)分析系統(tǒng)的開發(fā)核心思路和核心代碼以及啟動(dòng)調(diào)用過(guò)程。
(1)以實(shí)戰(zhàn)開發(fā)為導(dǎo)向,對(duì)基礎(chǔ)理論知識(shí)點(diǎn)與開發(fā)過(guò)程進(jìn)行詳細(xì)講解。
(2)實(shí)戰(zhàn)案例豐富,涵蓋16 個(gè)完整項(xiàng)目案例和兩個(gè)綜合案例,綜合案例可以加深對(duì)本書所學(xué)的知識(shí)點(diǎn)的理解和掌握。
(3)代碼詳盡,避免對(duì) API 的形式展示,規(guī)避重復(fù)代碼。
(4)語(yǔ)言簡(jiǎn)明易懂,由淺入深帶領(lǐng)讀者學(xué)會(huì)以 Hadoop生態(tài)圈為核心的開發(fā)技術(shù)和大數(shù)據(jù)常見的機(jī)器學(xué)習(xí)算法。
為便于教學(xué),本書配有源代碼、數(shù)據(jù)集、安裝程序、教學(xué)大綱。
16個(gè)完整的項(xiàng)目案例和兩個(gè)綜合案例,配有教學(xué)大綱等資源
本書主要面向廣大從事大數(shù)據(jù)分析、應(yīng)用開發(fā)、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘的專業(yè)人員以及從事高校信息技術(shù)專業(yè)的教師和高等院校的在讀學(xué)生及相關(guān)領(lǐng)域的廣大科研人員。
聯(lián)系客服