




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、技術創新,變革未來Hive平臺功能介紹內容Hive模式設計Hive列存儲Hive Join Hive FunctionHive例子Hive模式設計內部表和外部表分區和分桶序列化/反序列化(SerDe)Hive模式設計內部表和外部表表類型內部表外部表語句create tablecreate external table是否移動數據到warehouse是否刪除table,是否刪除數據是否,僅刪除元數據源數據本地磁盤數據或HDFS 數據已經在HDFS中存在的 數據創建過程和數據加載過程分別獨立完成(也可以 在同一個語句中完成, 但數據不會移動到數據 倉庫)加載數據和創建表同時完成Hive模式設計內部
2、表和外部表內部表對數據擁有所有權,將內部表數據保存在 hive.metastore.warehouse.dir目錄下,刪除內部表時, 相應的數據也會被刪除Hive 對外部表的數據僅僅擁有使用權外部表只有一個過程,加載數據和創建表同時完成(CREATE EXTERNAL TABLELOCATION),實際數據是存儲在LOCATION后面指定的 HDFS 路徑中,并不會 移動到數據倉庫目錄中Hive模式設計內部表和外部表create table order(cid string, quantity int, price int) row format delimited fields termin
3、ated by , lines terminated by n stored as textfile;LOAD DATA INPATH /customer_order/order INTO TABLE order;drop table order;create external table order(cid string, quantity int, price int) row format delimited fields terminated by ,lines terminated by n stored as textfile LOCATION /customer_order/or
4、der;drop table order;Hive模式設計內部表和外部表外部表使用場景:導入hdfs中的源數據內部表使用場景:存放Hive處理的中間表、結果表如:每天將日志數據傳入HDFS,一天一個目錄Hive基于流入的數據建立外部表,將每天HDFS上的原始 日志映射到外部表的天分區中在外部表基礎上做統計分析,使用內部表存儲中間表、 結果表,數據通過SELECT+INSERT進入內部表Hive模式設計分區和分桶Hive通常對數據進行全盤掃描,以滿足查詢條件分區的優勢在于利用維度分割數據,Hive只加載需要的 數據常用的分區方式:按天、地域分區占用數據表中的一個列名,但并不占用表的實際存 儲空間
5、HDFS不適合存儲大量小文件,理想分區方案不應該導致過多的分區文件可以用分桶來解決過多小文件的問題Hive模式設計序列化/反序列化將一條非結構化數據轉化成Hive可以識別的記錄對絕對大多數常用的數據格式,Hive官方或者第三方都 提供了相應的SerDe,如:RegexSerDe CSVSerde JsonSerde執行sql時不再需要關心如何解析特殊格式的數據Hive模式設計序列化/反序列化/data/messages文件為Json格式JsonSerde讀取messages中的每一條記錄,并解析成Json Object,在代碼中以$表示如“msg_id”=“$.id”,表示id的數據內容轉化成
6、messages表 中的msg_idHive數據存儲結構行式存儲 VS 列式存儲Hive數據存儲結構行式存儲 VS 列式存儲在線事務處理(OLTP)側重于CRUD操作,每次操作都是某幾行記錄,每 次查詢只需從硬盤中加載少量的數據行式存儲對這類操作非常有效基于列的存儲對于查詢一整行記錄反而更低效在線分析處理(OLAP)側重于數據分析,更傾向于訪問百萬、千萬甚至上 億條記錄,但是真正需要的數據大部分是每行中的某幾列行式存儲會使得花費時間加載大量無效數據基于列的存儲,磁盤IO會更高效基于列的存儲,更適合壓縮Hive數據存儲結構行式存儲 VS 列式存儲Hive支持的主要數據格式Hive數據存儲結構行式
7、存儲 VS 列式存儲Parquet是在Hadoop中受到廣泛支持的列式存儲格式支持非常高效的壓縮方法和編碼格式Parquet借鑒DremelHive 語句order by會做全局排序用order by 記得加 limit盡可能用sort by,每個reduce上的結果有序(即局部有 序)Hive Joinredcue join/shuffle join/common joinmap join/broadcast joinsort merge bucket joinleft semi joinleftouter joinright outer joinfull outer joinHive Jo
8、inJOIN類型優點缺點適用場景REDUCE JOIN可以完成各種JOIN操作耗時長,占用 更多網絡資源任何表大小, 沒有時間要求MAP JOIN可以在map端完成JOIN操作, 執行時間短待連接的兩個 表必須有一個 “小表”,“小表” 必須加載內存事實表和維表SORT MERGE BUCKET JOIN轉換為小表與 小表join,執行 時間短,可以 做全連接,幾 乎不受內存限 制表必須分桶, 而且桶內數據 有序兩個大表,提 前分桶排序Hive FunctionWordCount多行轉一行一行轉多行Hive Function多行轉一行Hive Function一行轉多行問題內部表和外部表有什么區別Partition和Bucket有什么區別map join、reduce Join、sort merge bucket join分別適用 于什么場景Hive 例子物流Driver:保存駕駛員的基本信息,字段分別為driverid、firstname、 lastname、emailTimeSheet:保存駕駛員的工作量,字段分別為id、driverid、week、hours、milesHive 例子訂單Date:保存每天所屬的月份、星期、季度等屬性,字段分別為日期、年月、年、月、日、周幾、第幾周、季度、旬、半月Order:保存訂單信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九下第六單元+走向和平發展的世界(復習課件)-【探究課堂】2025年中考歷史一輪復習教學課件(統編版)
- 工業機械質量管理
- 2025屆高考物理大一輪復習課件 第五章 階段復習(二) 力與曲線運動
- DeepSeek大模型賦能娛樂與傳媒領域數智化應用方案
- ICU中心靜脈置管發熱患者的護理
- 老撾漢語學習者方位詞“下”偏誤研究
- 憲法試題及答案
- 物聯網試題及答案
- 湖南省2025年普通高中學業水平合格性考試地理模擬卷四(含答案)
- 2025年黑龍江省哈爾濱市道外區中考三模英語試題(含答案無聽力音頻及原文)
- 臺球介紹課件
- 中國心力衰竭基層診療與管理指南(2024年)解讀課件
- 電氣工程及其自動化試題及答案
- AI 技術在高中歷史教學中的應用實例2
- 小學黃梅戲《打豬草》課件戲曲進校園
- 山東省山東名校考試聯盟2025年高三4月高考模擬考試物理試卷+答案
- 幼兒園研學旅行體驗與收獲總結
- 輸電線路六防課件
- 危險性較大的分部分項工程監理實施細則
- 露天礦安全警示教育
- 患者自帶藥品管理規定
評論
0/150
提交評論