CCA175 Spark and Hadoop(開發培訓)
課程大綱
認證須知
開課計劃
學習QQ群
常見問題
在為期四天的培訓中,學員將學習關鍵概念和掌握使用最新技術和工具將數據采集到Hadoop 機群并進行處理。通過學習掌握諸如Spark(包括 Spark Streaming 和 Spark SQL)、Flume、Kafka 以及Sqoop 這樣的Hadoop 生 態系統工具和技術,Hadoop開發員將具備解決實際大數據問題和挑戰的能力。 使用 Spark,不同行業的開發人員可以為不同的商業應用和系統架構編寫復雜 的并行應用,得以更快速地獲取更優的商業決策,幫助決策人員進行及時應對。
培訓內容
通過講師在課堂上的講解,以及實操練習,學員將學習以下內容:
? 在 Hadoop 機群上進行分布式存儲和處理數據。
? 通在 Hadoop 機群上編寫、配置和部署 Apache Spark 應用。
? 使用 Spark shell 進行交互式數據分析。
? 使用 Spark SQL 查詢處理結構化數據。
? 使用 Spark Streaming 處理流式數據。
? 使用 Flume 和 Kafka 為 Spark Streaming 采集流式數據。
培訓對象及學員基礎
本課程適合于具有編程經驗的開發員及工程師。無需 Apache Hadoop 基礎
? 培訓內容中對 Apache Spark 的介紹所涉及的代碼及練習使用 Scala 和 Python,因此需至少掌握這兩個編程語言中的一種。
? 需熟練掌握 Linux 命令行。
? 對 SQL 有基本了解。
建議參加完該課程的學員考取CCA Spark and Hadoop全球認證證書
課程大綱
Hadoop 及生態系統介紹
? Apache Hadoop 概述 ? 數據存儲和攝取 ? 數據處理 ? 數據分析和探索 ? 其他生態系統工具 ? 練習環境及分析應用場景介紹
Apache Hadoop 文件存儲
? 傳統大規模系統的問題 ? HDFS 體系結構 ? 使用 HDFS ? Apache Hadoop 文件格式
Apache Hadoop 機群上的數據處理
? YARN 體系結構 ? 使用 YARN
使用 Apache Sqoop 導入關系數據
? Sqoop 簡介 ? 數據導入 ? 導入的文件選項 ? 數據導出
Apache Spark 基礎
? 什么是 Apache Spark ? 使用 Spark Shell ? RDDs( 可恢復的分布式數據集) ? Spark 里的函數式編程
Spark RDD
? 創建 RDD ? 其他一般性 RDD 操作
使用鍵值對 RDD
? 鍵值對 RDD ? MapReduce ? 其他鍵值對 RDD 操作
編寫和運行 Apache Spark 應用
? Spark 應用對比 Spark Shell ? 創建 SparkContext ? 創建 Spark 應用(Scala 和 Java) ? 運行 Spark 應用 ? Spark 應用 WebUI
配置 Apache Spark 應用
? 配置 Spark 屬性 ? 運行日志
Apache Spark 的并行處理
? 回顧:機群環境里的 Spark ? RDD 分區 ? 基于文件 RDD 的分區 ? HDFS 和本地化數據 ? 執行并行操作 ? 執行階段及任務
Spark 持久化
? RDD 演變族譜 ? RDD 持久化簡介 ? 分布式持久化
Apache Spark 數據處理的常見模式
? 常見 Spark 應用案例 ? 迭代式算法 ? 機器學習 ? 例子:K - Means
DataFrames 和 Spark SQL
? Apache Spark SQL 和 SQL Context ? 創建 DataFrames ? 變更及查詢 DataFrames ? 保存 DataFrames ? DataFrames 和 RDD ? Spark SQL 對比 Impala 和Hive-on-Spark ? Spark 2.x 版本上的 Apache Spark SQL
Apache Kafka
? 什么是 Apache Kafka ? Apache Kafka 概述 ? 如何擴展 Apache Kafka ? Apache Kafka 機群架構 ? Apache Kafka 命令行工具
使用 Apache Flume 采集實時數據
? 什么是 Apache Flume ? Flume 基本體系結構 ? Flume 源 ? Flume 槽 ? Flume 通道 ? Flume 配置
集成 Apache Flume 和 Apache Kafka
? 概要 ? 應用案例 ? 配置
Apache Spark Streaming:DStreams 介紹
? Apache Spark Streaming 概述 ? 例子:Streaming 訪問計數 ? DStreams ? 開發 Streaming 應用
Apache Spark Streaming:批處理
? 批處理操作 ? 時間分片 ? 狀態操作 ? 滑動窗口操作
Apache Spark Streaming:數據源
? Streaming 數據源概述 ? Apache Flume 和Apache Kafka 數據源 ? 例子:使用 Direct 模式連接 Kafka ? 數據源