资源获取:大数据开发工程师 【完结】
本套大数据课程中的技术体系包含目前主流的Hadoop、Spark、Flink三大技术生态圈,涵盖了企业中最多见的技术组件,能够知足你们在公司中的工做需求html
Q:这套课程要学多久?学完能达到什么水平呢?
本套大数据学完的时间,和每一个人的基础、接受能力和时间安排都有关,通常状况下,若是能保证天天听课1小时,练习至少2个小时,3~4个月是能够学完的。建议保持连续学习,这样学习效果更好,以及经过视频配套的思惟导图作好预习,电子书巩固视频内容。学完后能够达到大数据中级工程师水平,知足绝大部分公司的大数据岗位需求。java
Q:这套大数据课程中学的东西工做中够用吗?
足够用的,目前本套大数据课程中的技术体系包含目前主流的Hadoop、Spark、Flink三大技术生态圈,涵盖了企业中最多见的技术组件,能够知足你们在公司中的工做需求。程序员
Q:我目前是java程序员,大数据属于零基础,能学的会吗?
能够的,java程序员学习大数据是具备自然优点的,大数据中的技术框架大部分都是基于java开发的,学习起来很容易上手。 而且咱们本套课程配套的有完整的电子书,方便你们及时查漏补缺,以及本套视频教程带有配套字幕,学起来也会更加轻松。
章節目錄:
階段一:走進大數據
第1周 學好大數據先攻克Linux
在步入大數據殿堂以前,先帶領你们快速掌握大數據的必備技能:Linux的操做使用,爲後面學習大數據技術打下堅實基礎。
课程安排:
一、掌握Linux虛擬機的安裝和配置
二、使用ScecureCRT連接Linux虛擬機
三、掌握Linux中常見高級命令(vi、wc、sort、date、jps、kill等命令)的使用
四、掌握Linux中三剑客(grep、sed、awk)的常見用法
五、掌握Linux的高級配置(ip、hostname、防火牆)
六、掌握Shell脚本的開發
七、掌握Shell中變量、循環和判斷的使用
八、掌握Shell中的擴展内容
九、掌握Linux中crontab定時器的使用
十、了解認識什麼是大數據
十一、大數據產生的背景
十二、大數據的4V特徵
1三、大數據的行業應用
第2周 大數據起源之初識Hadoop
Hadoop是大數據開創者,引領者,學習大數據必經之路,本周帶領你们了解Hadoop,以及Hadoop集群的安裝部署。
课程安排:
一、什麼是Hadoop
二、Hadoop發行版介紹
三、Hadoop版本演變歷史
四、Hadoop3.x的細節優化
五、Hadoop三大核心組件介紹
六、僞分佈集群安裝部署
七、分佈式集群安裝部署
八、Hadoop的客戶端節點
第3周 Hadoop之HDFS的使用
通過生活場景"小明租房"案例引入HDFS核心架構,掌握HDFS的常見Shell操做以及Java代码操做,對以後實現海量數據的存儲打下基礎。
课程安排:
一、生活場景引入:"小明租房"案例一步一步引入Hadoop中的分佈式存儲架構
二、HDFS的Shell介紹
三、HDFS的常見Shell操做
四、HDFS案例實操
五、Java代码操做HDFS
第4周 Hadoop之HDFS核心進程剖析
通過對HDFS中核心進程NameNode、SecondaryNameNode、DataNode進行詳細分析,幫助你们更好的理解HDFS的底層原理
课程安排:
一、NameNode介紹
二、NameNode深刻
三、SecondaryNameNode介紹
四、DataNode介紹
五、HDFS的回收站
六、HDFS的安全模式詳解
七、實戰:定時上傳數據至HDFS
八、HDFS的高可用和高擴展機製分析
第5周 Hadoop之初識MR
通過"計算撲克牌中的黑桃個數"案例引入MapReduce的思想,詳細分析了MapReduce的執行流程,並且通過開發WordCount案例加深理解。
课程安排:
一、MapReduce介紹
二、 MapReduce執行原理
三、實戰:WordCount案例圖解
四、實戰:WordCount案例開發
五、MapReduce任務日誌查看
六、中止Hadoop集群中的任務
七、MapReduce程序擴展
階段二:PB級離線數據計算分析方案
第6周 拿來就用的企業級解決方案
詳細分析了小文件的解決方案、數據倾斜的解決方案、YARN調度器的使用、以及Hadoop在CDH和HDP中的使用。
课程安排:
一、小文件問題之SequenceFile
二、小文件問題之MapFile
三、案例:小文件存儲和計算
四、 數據倾斜問題分析
五、數據倾斜案例實戰
六、YARN的基本情況介紹
七、YARN中的調度器分析
八、案例:YARN多資源隊列配置和使用
九、Hadoop官方文檔使用指北
十、Hadoop在CDH中的使用
十一、Hadoop在HDP中的使用
第7周 Flume從0到高手一站式養成記
Flume是一個分佈式、高可靠、高可用的係統,能夠有效的收集、聚合、移動大量的日誌數據,在數據採集領域,屬於中流砥柱,在這里通過原理、實戰、監控、優化等層面對Flume進行學習。
课程安排:
一、快速了解Flume
二、Flume的三大核心組件
三、Flume安裝部署
四、Flume的Hello World
五、案例:採集文件内容上傳至HDFS
六、Flume高級組件之Source Interceptors
七、Flume高級組件之Channel Selectors
八、Flume高級組件之Sink Processors
九、各種自定義組件
十、Flume優化
十一、Flume進程監控
第8周 數據倉庫Hive從入門到小牛
頻繁的開發MapReduce是很是繁琐的,並且不少業務人員是不懂代码的,如何讓他們也能够很方便的操做HDFS中的海量數據呢?Hive的横空出世,解決了這一難題。
课程安排:
一、快速了解Hive
二、數據庫和數據倉庫的區別
三、Hive安裝部署
四、Hive使用方式之命令行方式
五、Hive使用方式之JDBC方式
六、Set命令的使用
七、Hive的日誌配置
八、Hive中數據庫的操做
九、Hive中表的操做
十、Hive中數據類型的應用
十一、Hive表類型以内部表+外部表
十二、Hive表類型以内部分區表
1三、Hive表類型以外部分區表
1四、Hive表類型之桶表+視圖
1五、Hive數據處理綜合案例
1六、Hive高級函數之分組排序取TopN
1七、Hive高級函數之行轉列
1八、Hive高級函數之列轉行
1九、Hive的排序函數
20、Hive的分組和去重函數
2一、一個SQL语句分析
2二、Hive的Web工具-HUE
階段三:Spark+綜合項目:電商數據倉庫設計與實戰
第9周 7天極速掌握Scala语言
Scala的函數式編程受到不少框架的青睐,例如Kafka、Spark、Flink等框架都是使用Scala做爲底層源码開發语言,下面就帶著你们7天極速掌握Scala语言。
课程安排:
一、快速了解Scala
二、Scala環境安裝配置
三、Scala中的變量和數據類型
四、Scala中的表達式和循環
五、Scala集合體係之Set+List+Map
六、Scala中的Array和Tuple
七、Scala中函數的使用
八、Scala面向對象之類的使用
九、Scala面向對象之對象和伴生對象
十、Scala面向對象之apply和main的使用
十一、Scala面向對象之接口的使用
十二、Scala函數式編程之匿名函數和高階函數的使用
1三、Scala高級特性之模式匹配和隱式轉換
第10周 Spark快速上手
Spark是目前企業中應用最廣泛的計算引擎,盤它!實際案例詳細分析Spark中的Transformation算子和Action算子使用,RDD持久化,共享變量使用,最後通過一個綜合案例加深理解。
课程安排:
一、快速了解Spark
二、Spark 集群安裝部署(Standalone+ON YARN)
三、Spark工做原理分析
四、什麼是RDD
五、Spark架構原理
六、Spark項目開發環境配置
七、WordCount代码開發(Java+Scala)
八、Spark任務的三種提交方式
九、Spark開啟historyServer服務
十、創建RDD的三種方式
十一、Transformation和Action介紹
十二、Transformation操做開發實戰
1三、Action操做開發實戰
1四、RDD持久化原理
1五、RDD持久化開發實戰
1六、共享變量之Broadcast Variable的使用
1七、共享變量之Accumulator的使用
1八、案例實戰:TopN主播統計
1九、面試題
第11周 Spark性能優化的道與術
通過對Spark中的寬依賴、窄依賴、Stage、Shuffle機製進行詳細分析,加深對Spark的理解,以及對Spark中的checkpoint機製通過源码層面進行深度剖析。
课程安排:
一、寬依賴和窄依賴
二、Stage的理解
三、Spark任務的三種提交模式
四、Shuffle介紹
五、三種Shuffle機製分析
六、checkpoint概述
七、checkpoint和持久化的區別
八、checkpoint代码開發和執行分析
九、checkpoint源码分析之寫操做和讀操做
十、Spark程序性能優化分析
十一、高性能序列化類庫Kryo的使用
十二、持久化或者checkpoint
1三、JVM垃圾回收調憂
1四、提升並行度
1五、數據本地化
1六、算子優化
1七、SparkSql快速上手使用
1八、實戰:SparkSQL實現TopN主播統計
第12周 綜合項目:電商數據倉庫之用戶行爲數倉
整合各個業務線數據,爲各個業務係統提供統一&規範的數據出口。通過對項目的由來,需求、技術進行分析和選型,實現用戶行爲數據數倉開發。
课程安排:
一、項目效果展现
二、項目的由來
三、什麼是數據倉庫
四、數據倉庫基礎知識
五、數據倉庫分層
六、典型數倉係統架構分析
七、技術選型
八、整體架構設計
九、服務器資源規劃
十、生成用戶行爲數據【客戶端數據】
十一、生成商品订單相關數據【服務端數據】
十二、採集用戶行爲數據【客戶端數據】
1三、Sqoop安裝部署
1四、Sqoop之數據導入功能
1五、Sqoop之數據導出功能
1六、採集商品订單相關數據【服務端數據】
1七、用戶行爲數據數倉開發之ods層開發
1八、用戶行爲數據數倉開發之ods層脚本抽取
1九、用戶行爲數據數倉開發之dwd層開發
20、用戶行爲數據數倉開發之dwd層脚本抽取
2一、用戶行爲數據數倉需求分析
2二、用戶行爲數據數倉需求開發
2三、用戶行爲數據數倉表和任務脚本總結
第13周 綜合項目:電商數據倉庫之商品订單數倉
基於商品订單數據開發數倉,詳細分析了拉链表的由來和具體實現。使用數據可視化工具Zepplin實現數據展現,使用Azkaban調度器實現任務依賴調度。
课程安排:
一、商品订單數據數倉開發之ods層和dwd層
二、商品订單數據數倉需求分析與開發
三、什麼是拉链表
四、如何製做拉链表
五、【實戰】基於订單表的拉链表實現
六、拉链表的性能問題分析
七、商品订單數據數倉表和任務脚本總結
八、數據可視化之Zepplin的安裝部署和參數配置
九、數據可視化之Zepplin的使用
十、任務調度之Crontab調度器的使用
十一、任務調度之Azkaban的安裝部署
十二、任務調度之Azkaban提交獨立任務
1三、任務調度之Azkaban提交依賴任務
1四、任務調度之在數倉中使用Azkaban
1五、項目優化
階段四:高頻實時數據處理方案
第14周 消息隊列之Kafka從入門到小牛
Kafka是一個支持高吞吐、持久性、分佈式的消息隊列,很是適合海量數據的實時生產和消费,詳細分析了Kafka的核心原理、代码實戰、性能優化,以及Kafka的企業級應用。
课程安排:
一、什麼是消息隊列
二、什麼是Kafka
三、Zookeeper安裝部署之單機模式和集群模式
四、 Kafka安裝部署之單機模式和集群模式
五、Kafka中的生產者和消费者
六、案例:QQ群聊天
七、Broker擴展内容
八、Producer擴展内容
九、Consumer擴展内容
十、Topic+Partition+Message擴展内容
十一、Kafka中的存儲策略
十二、Kafka中的容錯機製
1三、Java代码實現生產者代码
1四、Java代码實現消费者代码
1五、消费者代码擴展
1六、Consumer消费Offset查询
1七、Consumer消费順序
1八、Kafka的三種语義
1九、Kafka參數調憂之JVM參數調憂
20、Kafka參數調憂之Replication參數調憂
2一、Kafka參數調憂之Log參數調憂
2二、Kafka Topic命名小技巧
2三、Kafka集群監控管理工具(CMAK)
2四、實戰:Flume集成Kafka
2五、實戰:Kafka集群平滑升級
第15周 極速上手内存數據庫Redis
Redis是一種面向键值對的NoSQL内存數據庫,能够滿足我們對海量數據的讀寫需求,在這里我們學習Redis中的五種经常使用數據類型以及Redis中的一些高級特性,達到快速上手使用。
课程安排:
一、快速了解Redis
二、Redis的安裝部署
三、Redis基礎命令
四、Redis多數據庫特性
五、Redis经常使用數據類型之String
六、Redis经常使用數據類型之Hash
七、Redis经常使用數據類型之List
八、Redis经常使用數據類型之Set
九、Redis经常使用數據類型之Sorted Set
十、案例:存儲高一班的學員信息
十一、Java代码操做Redis之單連接
十二、Java代码操做Redis之連接池
1三、提取RedisUtils工具類
1四、Redis高級特性之expire
1五、Redis高級特性之pipeline
1六、Redis高級特性之info
1七、Redis持久化之RDB
1八、Redis持久化之AOF
1九、Redis的安全策略
20、Redis監控命令-monitor
2一、Redis架構演進過程
第16周 Flink快速上手篇
快速了解Flink的基本原理和核心特點,掌握Flink中流數據和批數據的編程思路和代码實戰,Flink中Standalone集群、ON YARN集群的安裝部署,以及Flink中核心API的使用。
课程安排:
一、快速了解Flink
二、Flink Streaming程序開發
三、Flink Batch程序開發
四、Flink Standalone集群安裝部署
五、Flink ON YARN的第一種方式
六、Flink ON YARN的第二種方式
七、向集群中提交Flink任務
八、Flink核心API介紹
九、DataStream API之DataSource
十、DataStream API之Transformation
十一、DataStream API之分區規則介紹
十二、DataStream API之分區規則的使用
1三、DataStream API之DataSink
1四、DataSet API之DataSource
1五、DataSet API之Transformation
1六、DataSet API之DataSink
1七、Table API 和 SQL介紹
1八、創建TableEnvironment對象
1九、TableAPI和SQL的使用
20、使用DataStream創建表
2一、使用DataSet創建表
2二、將表轉換成DataStream
2二、將表轉換成DataSet
第17周 Flink高級進階之路
詳細剖析Window和Time的使用,Watermark的實戰應用,並行度的設置,Kafka Connector的具體應用,以及SparkStreaming的特性和使用。
课程安排:
一、Window的概念和類型
二、TimeWindow的使用
三、CountWindow的使用
四、自定義Window的使用
五、Window中的增量聚合和全量聚合
六、Flink中的Time
七、Watermark的分析
八、開發Watermark代码
九、通過數據跟蹤觀察Watermark
十、Watermark+EventTime處理亂序數據
十一、延遲數據的三種處理方式
十二、在多並行度下的Watermark應用
1三、Watermark案例總結
1四、並行度介紹及四種設置方式
1五、並行度案例分析
1六、KafkaConsumer的使用
1七、KafkaConsumer消费策略設置
1八、KafkaConsumer的容錯
1九、KafkaProducer的使用
20、KafkaProducer的容錯
2一、SparkStreaming的WordCount程序開發
2二、SparkStreaming整合Kafka
階段五:綜合項目:三度關係推薦係統+數據中台
第18周 直播平台三度關係推薦V1.0
構建直播平台用戶三度關係推薦係統,詳細分析數據採集/數據分發/數據存儲/數據計算/數據展現等功能,完整復現互聯網企業大數據項目從0~1,從1~N的開發過程。
课程安排:
一、項目介紹
二、項目需求分析
三、技術選型
四、整體架構設計
五、Neo4j快速上手使用
六、數據採集架構詳細分析
七、數據來源分析
八、模擬產生數據
九、數據採集聚合
十、數據分發
十一、數據落盤
十二、數據計算核心指標詳細分析與實現
1三、三度關係推薦頁面數據接入
1四、三度關係推薦流程演示
1五、項目代码雙语支持
1六、項目總結
第19周 直播平台三度關係推薦V2.0
分析V1.0架構存在的問題及弊端,从新設計整體架構方案,進行迭代優化,基於最新的架構方案从新實現核心功能代码,開發數據接口,優化數據傳輸逻輯,提升數據安全性。
课程安排:
一、現有V1.0技術架構分析
二、V2.0技術架構設計
三、數據計算核心指標詳細分析
四、歷史粉丝關注數據初始化
五、實時維護粉丝關注數據
六、天天定時更新主播等級
七、天天定時更新用戶活躍時間
八、每周一計算最近一月主播視頻評級
九、每周一計算最近一月主播視頻評級
十、三度關係列表數據導出到Redis
十一、數據接口定義與開發
十二、項目代码雙语支持
1三、項目總結
第20周 數據中台大屏
掌握一線互聯網企業數據中台構建流程,了解鉅頭企業的項目架構,理解鉅型項目的思想。
课程安排:
一、什麼是中台
二、中台化主要解決的問題
三、中台的延伸
四、什麼是數據中台
五、數據中台演進的四個階段
六、數據中台须要具備三大能力
七、企業級數據中台架構分析安全