第一章:課程概述與Linux基礎
(01)Spark從基礎開始
(02)安裝Linux的實驗環境
(03)Linux的配置與課程概述
(04)使用vi編輯器
(05)Linux的常用命令和JDK的安裝
(06)案例:分析Java的死鎖
第二章:Scala編程基礎
(07)Scala簡介和配置
(08)Scala中數據的類型
(09)變量、函數、條件判斷
(10)Scala中的循環
(11)函數的參數
(12)懶值和異常處理
(13)數組
(14)元組和映射
第三章:Scala的面向對象編程
(15)Scala面向對象語言概述
(16)面向對象的概念和類的定義
(17)屬性的get和set方法
(18)內部類
(19)類的構造器
(20)Object對象
(21)類的apply方法
(22)繼承
(23)trait
(24)包和包對象
第四章:Scala的函數式編程
(25)Scala語言的函數式編程概述
(26)Scala的函數和匿名函數
(27)帶函數參數的函數
(28)閉包
(29)柯里化
(30)高階函數示例
第五章:Scala的集合
(31)可變集合和不可變集合
(32)可變列表和不可變列表
(33)序列
(34)集Set
(35)模式匹配
(36)樣本類
第六章:Scala的高級特性
(37)泛型類
(38)泛型函數
(39)上界和下界
(40)視圖界定
(41)協變和逆變
(42)隱式轉換函數
(43)隱式參數和隱式類
第七章:Spark的體系結構與安裝配置
(44)Spark Core課程概述
(45)什么是Spark和特點
(46)Spark的體系結構
(47)安裝和部署Spark環境
(48)基于文件目錄的單點故障恢復
(49)基于ZooKeeper的Spark HA的實現
(50)利用ZooKeeper實現分布式鎖
第八章:執行Spark任務
(51)使用spark-submit提交spark任務
(52)使用spark-shell交互式命令行工具
(53)開發Scala版本的WordCount程序
(54)開發Java版本的WordCount程序
(55)分析WordCount程序的執行過程
(56)Spark提交任務的流程
第九章:RDD和RDD的算子
(57)什么是RDD
(58)RDD的算子
(59)RDD基本算子示例
(60)RDD的緩存機制
(61)RDD的容錯機制
(62)RDD的依賴關系和Spark任務中的Stage
(63)高級算子:mapPartitionsWithIndex
(64)高級算子:aggregate
(65)高級算子:aggregate(1)
(66)高級算子:aggregate(2)
(67)高級算子:aggregateByKey
(68)高級算子:coalesce和repartition
第十章:Spark RDD編程案例
(69)案例一:求網站訪問量
(70)案例二:自定義分區28:55
(71)案例三:訪問關系型數據庫29:58
(72)案例四:使用JdbcRDD
第十一章:Spark SQL基礎
(73)Spark SQL課程概述
(74)什么是Spark SQL?
(75)通過case class創建DataFrame
(76)通過SparkSession創建DataFrame
(77)通過帶格式的文件創建DataFrame
(78)操作DataFrame
(79)臨時視圖
(80)DataSet簡介
第十二章:Spark SQL的數據源
(81)load和save函數
(82)什么是Parquet文件
(83)Parquet文件Schema的合并
(84)讀取JSON文件
(85)使用JDBC數據源
(86)訪問HiveTable
(87)指定schema的格式
(88)使用caseclass
(89)保存到關系型數據庫中
(90)SparkSQL性能的優化
第十三章:Spark Streaming基礎
(91)SparkStreaming課程概述
(92)什么是SparkStreaming和結構
(93)演示Demo:NetworkWordCount
(94)開發自己的NetworkWordCount程序
第十四章:Spark Streaming進階
(95)StreamingContext和DStream簡介
(96)DStream中的轉換操作
(97)窗口操作
(98)DStream的輸入和輸出
(99)集成Spark SQL
第十五章:使用外部數據源
(100)集成Spark Streaming和Flume(1)
(101)集成Spark Streaming和Flume(2)
(102)Kafka消息系統簡介和體系結構
(103)搭建Kafka環境
(104)集成Spark Streaming和Kafka
-