互聯網時代下,數據量的急劇增長,傳統的數據倉庫已經無法滿足。Hive作為Hadoop生態圈中的數據倉庫解決方案隨著開源社區的快速發展而逐步成熟,慢慢的在某些場景下替代企業級數據倉庫,成為各大互聯網公司數據倉庫建設的必選方案,可以這么說,Hive已經成為大數據數據倉庫的事實標準。
? ?? ?
本課程將從Hive的基本概念入手,深入解析Hive的使用方式、HQL語法以及常用的倉庫模式設計和Hive優化方法,并對未來Hive的發展和高級特性做一些簡單介紹,并通過最后的案例實踐鞏固學習內容。通過本課程的學習,將能夠勝任大多數互聯網場景下的大數據分析和數據開發任務
第一節 Hadoop與MapReduce
1) Hive在Hadoop Ecosystem中的地位
2) Hive的版本演進與目前現狀
3) 節程實踐環境說明
4) 實操: Hive/Hadoop預備環境安裝
第二節 Hive的基本概念與QuickStart
1) Hive的安裝部署
2) Hive的基本架構
3) 啟動Hive
4) Hive命令行
5) HiveServer與JDBC/ODBC
6) 實操: Hive命令行和ThriftServer基本使用
第三節 數據類型與文件格式
1) Hive支持的基本數據類型
2) Hive支持的集合數據類型
3) Hive支持的文件格式與優劣對比
第四節 HiveQL:數據定義
1) Hive數據模型
2) Database
3) Table
4) Partition
5) 自定義存儲格式
6) 自定義表屬性
7) 常用創建/刪除/修改表語法
8) 實操: HQL 創建/刪除/修改操作練習
第五節 HiveQL:數據操作
1) 加載數據(LoadData)
2) 從查詢計算結果加載數據(Insert Table Select)
3) 動態分區(DynamicPartitioning)
4) CTAS(CreateTableAsSelect)
5) 導出數據
6) 實操: 練習以上數據加載計算和導出操作
第六節 HiveQL:數據查詢
1) 從最簡單的開始
2) Select … From
3) Where條件
4) Group By條件
5) Join
6) 排序(OrderBy/SortBy)
7) ClusterBy/DistributeBy
8) 抽樣(Sampling)
9) Union
10) 實操: 練習以上各種查詢語法
第七節 Hive函數與自定義函數
1) 查看與調用函數
2) 常用標準函數(UDF)
3) UDAF
4) UDTF
5) UDF/UDAF/UDTF開發
6) 實操: 練習并完成UDF Java開發的作業
第八節 Hive常用模式設計
1) 按天做Partition
2) 分桶(Bucket)
3) 壓縮
4) 表Schema變更
5) 實操: 練習以上幾種倉庫設計模式
第九節 Hive調優
1) Hive參數說明
2) Explain查看執行計劃
3) 控制Map/Reduce數
4) 并行執行
5) 推測執行
6) Join優化
7) 數據傾斜問題
8) 動態分區優化
9) 實操: 練習并理解不同優化參數下的執行邏輯
第十節 Hive新特性與其他
1) Hive on Tez
2) Hive on Spark
3) Hive與HBase集成
4) HCatalog |