一 大數據的框架回顧二 大數據的企業應用javascript
Hadoop
job 提交簡圖 或 YARN 架構 或 YARN 工做機制 或 job 提交流程
0、job 提交簡圖html
MapReduce 的 Shuffle 過程介紹java
Shuffle 的本義是洗牌、混洗,把一組有必定規則的數據儘可能轉換成一組無規則的數據,越隨機越好。
MapReduce 中的 Shuffle 更像是洗牌的逆過程,把一組無規則的數據儘可能轉換成一組具備必定規則的數據。
爲何 MapReduce 計算模型須要 Shuffle 過程?咱們都知道 MapReduce 計算模型通常包括兩個重要的階段:Map 是映射,負責數據的過濾分發;Reduce 是規約,負責數據的計算歸併。
Reduce 的數據來源於 Map,Map 的輸出便是 Reduce 的輸入,Reduce 須要經過 Shuffle來 獲取數據。
從 Map 輸出到 Reduce 輸入的整個過程能夠廣義地稱爲 Shuffle。Shuffle 橫跨 Map 端和 Reduce 端,在 Map 端包括 Spill 過程,在 Reduce 端包括 copy 和 sort 過程,如圖所示:
環形緩衝區簡圖mysql
Zookeeper
使用 zookeeper 監聽服務器節點動態上下線案例面試
Zookeeper 中維護 Kafka 時的存儲結構以下:sql
Flume數據庫
Flume Agent 內部原理服務器
Flume Agent 的聚合架構
Flume 的負載均衡app
Kafka
Kafka 工做流程1
Kafka 工做流程2
Kafka 高階消費者 和 低階消費者
HBase
HBase 架構圖
HBase 讀數據流程
HBase 寫數據流程
Hive
一、HQL 的編寫、練習(必定要好好寫!!!天天寫一條!!!超級重要!!!想進大廠的必備!!!牛客網HQL題庫:https://www.nowcoder.com/ta/sql)
二、Hive 的調優:https://www.cnblogs.com/chenmingjun/p/10452686.html
三、數據倉庫的理論 + 簡單的數倉庫搭建
Sqoop
Sqoop 是一款開源的工具,主要用於在 Hadoop(Hive) 與傳統的數據庫 (mysql,postgresql,…) 間進行數據的高校傳遞,能夠將一個關係型數據庫(例如:MySQL,Oracle,Postgres等)中的數據導入到 Hadoop 的 HDFS 中,也能夠將 HDFS 的數據導進到關係型數據庫中。
Sqoop 的批量導入必需要會,面試常常要問。
DataX
是阿里開源的框架,支持不少數據源之間的轉化。可是隻開源了單節點的源代碼,分佈式的代碼沒有開源。
支持數據庫以下:
Spark
應用一:數據倉庫的搭建
數據倉庫各層圖解
數據倉庫涉及到的知識點
應用二:產品信息分析
應用三:用於行爲分析
應用四:人工智能基礎