第1章基礎知識
1.1Hadoop和MapReduce綜述
1.2Hadoop生態繫統中的Hive
1.2.1Pig
1.2.2HBase
1.2.3Cascading、Crunch及其他
1.3Java和Hive:詞頻統計算法
1.4後續事情
第2章基礎操作
2.1安裝預先配置好的虛擬機
2.2安裝詳細步驟
2.2.1裝Java
2.2.2安裝Hadoop
2.2.3本地模式、偽分布式模式和分布式模式
2.2.4測試Hadoop
2.2.5安裝Hive
2.3Hive內部是什麼
2.4啟動Hive
2.5配置Hadoop環境
2.5.1本地模式配置
2.5.2分布式模式和偽分布式模式配置
2.5.3使用JDB數據
2.6Hive命令
2.7命令行界面
2.7.1CLI 選項
2.7.2變量和屬性
2.7.3Hive中“一次使用”命令
2.7.4從文件中執行Hive查詢
2.7.5hiverc文件
2.7.6使用Hive CLI的更多介紹
2.7.7查看操作命令歷史
2.7.8執行shell命令
2.7.9在Hive內使用Hadoop的dfs命令
2.7.10Hive腳本中如何進行注釋
2.7.11顯示字段名稱
第3章數據類型和文件格式
3.1基本數據類型
3.2集合數據類型
3.3文本文件數據編碼
3.4讀時模式
第4章HiveQL:數據定義
4.1Hive中的數據庫
4.2修改數據庫
4.3創建表
4.3.1管理表
4.3.2外部表
4.4分區表、管理表
4.4.1外部分區表
4.4.2自定義表的存儲格式
4.5刪除表
4.6修改表
4.6.1表重命名
4.6.2增加、修改和刪除表分區
4.6.3修改列信息
4.6.4增加列
4.6.5刪除或者替換列
4.6.6修改表屬性
4.6.7修改存儲屬性
4.6.8眾多的修改表語句
第5章HiveQL:數據操作
5.1向管理表中裝載數據
5.2通過查詢語句向表中插入數據
5.3單個查詢語句中創建表並加載數據
5.4導出數據
第6章HiveQL:查詢
6.1SELECT…FROM語句
6.1.1使用正則表達式來指定列
6.1.2使用列值進行計算
6.1.3算術運算符
6.1.4使用函數
6.1.5LIMIT語句
6.1.6列別名
6.1.7嵌套SELECT語句
6.1.8CASE…WHEN…THEN 句式
6.1.9什麼情況下Hive可以避免進行MapReduce
6.2WHERE語句
6.2.1謂詞操作符
6.2.2關於浮點數比較
6.2.3LIKE和RLIKE
6.3GROUP BY 語句
6.4JOIN語句
6.4.1INNER JOIN
6.4.2JOIN優化
6.4.3LEFT OUTER JOIN
6.4.4OUTER JOIN
6.4.5RIGHT OUTER JOIN
6.4.6FULL OUTER JOIN
6.4.7LEFT SEMI-JOIN
6.4.8笛卡爾積JOIN
6.4.9map-side JOIN
6.5ORDER BY和SORT BY
6.6含有SORT BY 的DISTRIBUTE BY
6.7CLUSTER BY
6.8類型轉換
6.9抽樣查詢
6.9.1數據塊抽樣
6.9.2分桶表的輸入裁剪
6.10UNION ALL
第7章HiveQL:視圖
7.1使用視圖來降低查詢復雜度
7.2使用視圖來限制基於條件過濾的數據
7.3動態分區中的視圖和map類型
7.4視圖零零碎碎相關的事情
第8章HiveQL:索引
8.1創建索引
8.2重建索引
8.3顯示索引
8.4刪除索引
8.5實現一個定制化的索引處理器
第9章模式設計
9.1按天劃分的表
9.2關於分區
9.3鍵和標準化
9.4同一份數據多種處理
9.5對於每個表的分區
9.6分桶表數據存儲
9.7為表增加列
9.8使用列存儲表
9.8.1重復數據
9.8.2多列
9.9(幾乎)總是使用壓縮
第10章調優
10.1使用EXPLAIN
10.2EXPLAIN EXTENDED
10.3限制調整
10.4JOIN優化
10.5本地模式
10.6並行執行
10.7嚴格模式
10.8調整mapper和reducer個數
10.9JVM重用
10.10索引
10.11動態分區調整
10.12推測執行
10.13單個MapReduce中多個GROUP BY
10.14虛擬列
第11章其他文件格式和壓縮方法
11.1確定安裝編解碼器
11.2選擇一種壓縮編/解碼器
11.3開啟中間壓縮
11.4終輸出結果壓縮
11.5sequence file存儲格式
11.6使用壓縮實踐
11.7存檔分區
11.8壓縮:包扎
第12章開發
12.1修改Log4J屬性
12.2連接Java調試器到Hive
12.3從源碼編譯Hive
12.3.1執行Hive測試用例
12.3.2執行hook
12.4配置Hive和Eclipse
12.5Maven工程中使用Hive
12.6Hive中使用hive_test測試
12.7新增的插件開發工具箱(PDK)
第13章函數
13.1發現和描述函數
13.2調用函數
13.3標準函數
13.4聚合函數
13.5表生成函數
13.6一個通過日期計算其星座的UDF
13.7UDF與GenericUDF
13.8不變函數
13.9用戶自定義聚合函數
13.10用戶自定義表生成函數
13.10.1可以產生多行數據的UDTF
13.10.2可以產生具有多個字段的單行數據的UDTF
13.10.3可以模擬復雜數據類型的UDTF
13.11在 UDF中訪問分布式緩存
13.12以函數的方式使用注解
13.12.1定數性(deterministic)標注
13.12.2狀態性(stateful)標注
13.12.3性
13.13宏命令
第14章Streaming
14.1恆等變換
14.2改變類型
14.3投影變換
14.4操作轉換
14.5使用分布式內存
14.6由一行產生多行
14.7使用streaming進行聚合計算
14.8CLUSTER BY、DISTRIBUTE BY、SORT BY
14.9GenericMR Tools for Streaming to Java
14.10計算cogroup
第15章自定義Hive文件和記錄格式
15.1文件和記錄格式
15.2闡明CREATE TABLE句式
15.3文件格式
15.3.1SequenceFile
15.3.2RCfile
15.3.3示例自定義輸入格式:DualInputFormat
15.4記錄格式:SerDe
15.5CSV和TSV SerDe
15.6ObjectInspector
15.7Thing Big Hive Reflection ObjectInspector
15.8XML UDF
15.9XPath相關的函數
15.10JSON SerDe
15.11Avro Hive SerDe
15.11.1使用表屬性信息定義Avro Schema
15.11.2從指定URL中定義Schema
15.11.3進化的模式
15.12二進制輸出
第16章Hive的Thrift服務
16.1啟動Thrift Server
16.2配置Groovy使用HiveServer
16.3連接到HiveServer
16.4獲取集群狀態信息
16.5結果集模式
16.6獲取結果
16.7獲取執行計劃
16數據存儲方法
16.9管理HiveServer
16.9.1生產環境使用HiveServer
16.9.2清理
16.10Hive ThriftMetastore
16.10.1ThriftMetastore 配置
16.10.2客戶端配置
第17章存儲處理程序和NoSQL
17.1Storage Handler Background
17.2HiveStorageHandler
17.3HBase
17.4Cassandra
17.4.1靜態列映射(Static Column Mapping)
17.4.2 為動態列轉置列映射
17.4.3Cassandra SerDe Properties
17.5DynamoDB
第18章安全
18.1和Hadoop安全功能相結合
18.2使用Hive進行驗證
18.3Hive中的權限管理
18.3.1用戶、組和角色
18.3.2Grant 和 Revoke權限
18.4分區級別的權限
18.5自動授權
第19章鎖
19.1Hive結合Zookeeper支持鎖功能
19.2顯式鎖和獨占鎖
第20章Hive和Oozie整合
20.1Oozie提供的多種動作(Action)
20.2一個隻包含兩個查詢過程的工作流示例
20.3Oozie 網頁控制臺
20.4工作流中的變量
20.5獲取輸出
20.6獲取輸出到變量
第21章Hive和亞馬遜網絡服務繫統(AWS)
21.1為什麼要彈性MapReduce
21.2實例
21.3開始前的注意事項
21.4管理自有EMR Hive集群
21.5EMR Hive上的Thrift Server服務
21.6EMR上的實例組
21.7配置EMR集群
21.7.1部署hive-site.xml文件
21.7.2部署.hiverc腳本
21.7.3建立一個內存密集型配置
21.8EMR上的持數據存儲
21.9EMR集群上的HDFS和S3
21.10在S3上部署資源、配置和輔助程序腳本
21.11S3上的日志
21.12現買現賣
21.13安全組
21.14EMR和EC2以及Apache Hive的比較
21.15包裝
第22章HCatalog
22.1介紹
22.2MapReduce
22.2.1讀數據
22.2.2寫數據
22.3命令行
22.4安全模型
22.5架構
第23章案例研究
23.1m6d.com(Media6Degrees)
23.1.1M 6D的數據科學,使用Hive和R
23.1.2M6D UDF偽隨機
23.1.3M6D如何管理多MapReduce集群間的Hive數據訪問
23.2Outbrain
23.2.1站內線上身份識別
23.2.2計算復雜度
23.2.3會話化
23.3NASA噴氣推進實驗室
23.3.1區域氣候模型評價繫統
23.3.2我們的經驗:為什麼使用Hive
23.3.3解決這些問題我們所面臨的挑戰
23.4Photobucket
23.4.1Photobucket 公司的大數據應用情況
23.4.2Hive所使用的硬件資源信息
23.4.3Hive提供了什麼
23.4.4Hive支持的用戶有哪些
23.5SimpleReach
23.6Experiences and Needs from the Customer Trenches
23.6.1介紹
23.6.2Customer Trenches的用例
術語詞彙表