【技術干貨】Hive實踐分享之存儲和壓縮的坑
在學習大數據技術的過程中,HIVE是非常重要的技術之一,但我們在項目上經常會遇到一些存儲和壓縮的坑,本文通過科多大數據的武老師整理,分享給大家。
大家都知道,由于集群資源有限,我們一般都會針對數據文件的「存儲結構」和「壓縮形式」進行配置優(yōu)化。在我實際查看以后,發(fā)現集群的文件存儲格式為Parquet,一種列式存儲引擎,類似的還有ORC。而文件的壓縮形式為Snappy。具體的操作形式如下:
① 創(chuàng)建Parquet結構的表(Hive 0.13 and later):
CREATE TABLE CRM.DEMO(A INT) STORED AS PARQUET ;
② 確認表的文件存儲格式:
desc formatted crm.demo;
結果輸出如下
# Storage Information
SerDe Library: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
InputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
③ 創(chuàng)建Snappy壓縮格式的Parquet結構的表(待考察):
ALTER TABLE crm.demo SET TBLPROPERTIES ('parquet.compression'='SNAPPY') ;
或,寫入時
SET parquet.compression=SNAPPY ;
回到最初的問題,如果是按Snappy壓縮的格式,這份用戶行為數據沒辦法分析了,因此有兩種辦法去解決:
① 安裝Snappy的解壓工具
可自行百度,由于沒有權限,所以這條路行不通;
② 更改數據的壓縮格式可以
最初我試了一下更改Parquet格式表的壓縮格式,但是沒有用!因為我最后是需要將查詢數據導出到本地文件系統(tǒng),如下語句所示:
insert overwrite local directory '/home/etl/tmp/data'
select *
from crm.demo
所以,通過這樣的形式得到的數據,壓縮格式依然是. Snappy。因此,這里就需要配置Hive執(zhí)行過程中的中間數據和最終數據的壓縮格式。
如MapReduce的shuffle階段對mapper產生的中間結果數據壓縮:
hive> set mapred.map.output.compression.codec;
mapred.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec
如對最終生成的Hive表的數據壓縮:
hive> set mapred.output.compression.codec;
mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec
這里,我們要設置結果表數據的壓縮格式,語句如下:
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
最終的結果就是 .gz 的壓縮格式
-rw-r--r-- 1 etl etl 342094 May 10 11:13 000000_0.gz
最后,我們直接下載到電腦本地,直接解壓就可以通過Excel分析用戶行為路徑數據了。
總結:從Hive應用層的角度來說,關于數據文件的「存儲結構」和「壓縮形式」,這兩個點我們不需要關心,只是在導出數據的時候需要結合文件大小,以及數據類型去設置合適的壓縮格式。不過從Hive底層維護的角度來說,涉及到各種各樣的「存儲結構」和「壓縮形式」,都需要開發(fā)者去研究和調整,這樣才能保證集群上的文件在「時間」和「空間」上相對平衡。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數智主辦酒仙橋論壇,探索AI產業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?