日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hive 数据存储格式详解

發布時間:2025/7/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hive 数据存储格式详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hive的三種文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存儲格式都是基于行存儲的,RCFILE是基于行列混合的思想,先按行把數據劃分成N個row group,在row group中對每個列分別進行存儲。另:hive能支持自定義格式,詳情見:Hive文件存儲格式

基于HDFS的行存儲具備快速數據加載和動態負載的高適應能力,因為行存儲保證了相同記錄的所有域都在同一個集群節點。但是它不太滿足快速的查詢響應時間的要求,因為當查詢僅僅針對所有列中的 少數幾列時,它就不能跳過不需要的列,直接定位到所需列;同時在存儲空間利用上,它也存在一些瓶頸,由于數據表中包含不同類型,不同數據值的列,行存儲不 易獲得一個較高的壓縮比。RCFILE是基于SEQUENCEFILE實現的列存儲格式。除了滿足快速數據加載和動態負載高適應的需求外,也解決了SEQUENCEFILE的一些瓶頸;

? ?做個簡單介紹

TextFile:

?

Hive默認格式,數據不做壓縮,磁盤開銷大,數據解析開銷大。
可結合Gzip、Bzip2、Snappy等使用(系統自動檢查,執行查詢時自動解壓),但使用這種方式,hive不會對數據進行切分,從而無法對數據進行并行操作。

?

SequenceFile:

SequenceFile是Hadoop?API 提供的一種二進制文件,它將數據以<key,value>的形式序列化到文件中。這種二進制文件內部使用hadoop?的標準的Writable 接口實現序列化和反序列化。它與Hadoop API中的MapFile 是互相兼容的。Hive 中的SequenceFile 繼承自Hadoop API 的SequenceFile,不過它的key為空,使用value 存放實際的值, 這樣是為了避免MR 在運行map 階段的排序過程。

??

RCFile

RCFile是Hive推出的一種專門面向列的數據格式。 它遵循“先按列劃分,再垂直劃分”的設計理念。當查詢過程中,針對它并不關心的列時,它會在IO上跳過這些列。需要說明的是,RCFile在map階段從 遠端拷貝仍然是拷貝整個數據塊,并且拷貝到本地目錄后RCFile并不是真正直接跳過不需要的列,并跳到需要讀取的列, 而是通過掃描每一個row group的頭部定義來實現的,但是在整個HDFS Block 級別的頭部并沒有定義每個列從哪個row group起始到哪個row group結束。所以在讀取所有列的情況下,RCFile的性能反而沒有SequenceFile高。

? ?基于Hadoop系統行存儲結構的優點在于快速數據加載和動態負載的高適應能力,這是因為行存儲保證了相同記錄的所有域都在同一個集群節點,即同一個 HDFS塊。不過,行存儲的缺點也是顯而易見的,例如它不能支持快速查詢處理,因為當查詢僅僅針對多列表中的少數幾列時,它不能跳過不必要的列讀取;此 外,由于混合著不同數據值的列,行存儲不易獲得一個極高的壓縮比,即空間利用率不易大幅提高。

? ? ?結論:?表現反應在大小數據集上,RCFILE的查詢效率高于SEQUENCEFILE,在特定字段數據讀取時,RCFILE的查詢效率依然優于SEQUENCEFILE;

? ?原文出自 csdn博客?http://blog.csdn.net/czw698/article/?

轉載于:https://blog.51cto.com/xingyue2011/1958919

總結

以上是生活随笔為你收集整理的hive 数据存储格式详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。