(1) 分支
- SQLContext
- 僅支持 SQL 語法解析起
- HiveContext
- 支持 SQL 和 HiveSQL 語法解析器
- 默認(rèn)為 HiveSQL 語法解析器
執(zhí)行順序:詞法/語法解析 > 綁定 > 優(yōu)化 > 執(zhí)行
(2) 組成
- Core
- 負(fù)責(zé)處理數(shù)據(jù)的輸入輸出(獲取數(shù)據(jù)扰才、查詢結(jié)果輸出為 DataFrame 等)
- Catalyst
- 負(fù)責(zé)處理整個(gè)查詢過程(包括解析、綁定厕怜、優(yōu)化等)
- Hive
- 負(fù)責(zé)對 Hive 數(shù)據(jù)進(jìn)行處理
- Hive-ThriftServer
- 用于訪問 Hive
(3) 行式存儲(chǔ)衩匣、列式存儲(chǔ)
行式存儲(chǔ)(TP 事務(wù)型業(yè)務(wù)) | 列式存儲(chǔ)(AP 數(shù)據(jù)分析和統(tǒng)計(jì)業(yè)務(wù)、批處理) | |
---|---|---|
優(yōu)點(diǎn) | 數(shù)據(jù)被保存在一起粥航;Insert/Update 方便 | 查詢時(shí)只有涉及到的列被讀壤拍蟆;任何列都能作為索引 |
缺點(diǎn) | 查詢時(shí)會(huì)讀取所有數(shù)據(jù) | 查詢時(shí)躁锡,被選擇的列要重新組裝午绳;Insert/Update 不便 |