您好,登錄后才能下訂單哦!
這篇文章主要介紹了ORC在Hive中如何應用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
ORC文件不僅僅是一種列式文件存儲格式,最重要的是有著很高的壓縮比,并且對于MapReduce來說是可切分(Split)的。因此,在Hive中使用ORC作為表的文件存儲格式,不僅可以很大程度的節省HDFS存儲資源,而且對數據的查詢和處理性能有著非常大的提升,因為 ORC 較其他文件格式壓縮比高,查詢任務的輸入數據量減少,使用的 Task 也就減少了。
對性能提升的另一個方面是通過在ORC文件中為每一個字段建立一個輕量級的索引,來判定一個文件中是否滿足WHERE子句中的過濾條件。比如:當執行HQL語句”SELECT COUNT(1) FROM xxx WHERE a=1”時候,先從ORC文件的metadata中讀取索引信息,快速定位到id=0所在的offsets,如果從索引信息中沒有發現id=0的信息,則直接跳過該文件。
在 Hive 中執行如下語句,新建 hive 表 xxx, 并指定存儲格式為 ORC。
CREATE TABLE xxx (
name STRING,
color STRING
) STORED AS ORC;
如果,某個表不是 ORC 格式存儲的,現在想要修改成 ORC 格式的,可以執行下面的語句:
alter table xxx set fileformat orc;
從 Hive 0.14 版本開始,可以執行下面的語句進行 ORC 小文件的合并。合并發生在 stripe 層面,所以不會發生重新解壓編碼。
alter table xxx [PARTITION partition_spec] CONCATENATE;
如果想要查看 ORC 文件的信息,可以執行如下語句,其中 path 為 hdfs 路徑。
hive --orcfiledump <path_to_file>
從 Hive 1.1 開始,如果想要查看 ORC 的數據內容,可以執行如下語句:
hive --orcfiledump -d <path_to_file>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“ORC在Hive中如何應用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。