自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hive實踐分享之存儲和壓縮的坑

存儲 存儲軟件 大數(shù)據(jù)
在學(xué)習(xí)大數(shù)據(jù)技術(shù)的過程中,HIVE是非常重要的技術(shù)之一,但我們在項目上經(jīng)常會遇到一些存儲和壓縮的坑,本文通過科多大數(shù)據(jù)的武老師整理,分享給大家。

 在學(xué)習(xí)大數(shù)據(jù)技術(shù)的過程中,HIVE是非常重要的技術(shù)之一,但我們在項目上經(jīng)常會遇到一些存儲和壓縮的坑,本文通過科多大數(shù)據(jù)的武老師整理,分享給大家。

大家都知道,由于集群資源有限,我們一般都會針對數(shù)據(jù)文件的「存儲結(jié)構(gòu)」和「壓縮形式」進行配置優(yōu)化。在我實際查看以后,發(fā)現(xiàn)集群的文件存儲格式為Parquet,一種列式存儲引擎,類似的還有ORC。而文件的壓縮形式為Snappy。具體的操作形式如下:

① 創(chuàng)建Parquet結(jié)構(gòu)的表(Hive 0.13 and later):

  1. CREATE TABLE CRM.DEMO(A INT) STORED AS PARQUET ; 

② 確認表的文件存儲格式:

  1. desc formatted crm.demo; 

結(jié)果輸出如下

  1. # Storage Information              
  2.  
  3. SerDe Library:          org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe       
  4.  
  5. InputFormat:                 org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat      
  6.  
  7. OutputFormat:               org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat  

③ 創(chuàng)建Snappy壓縮格式的Parquet結(jié)構(gòu)的表(待考察):

  1. ALTER TABLE crm.demo SET TBLPROPERTIES ('parquet.compression'='SNAPPY') ; 

或,寫入時

  1. SET parquet.compression=SNAPPY ; 

回到最初的問題,如果是按Snappy壓縮的格式,這份用戶行為數(shù)據(jù)沒辦法分析了,因此有兩種辦法去解決:

① 安裝Snappy的解壓工具

可自行百度,由于沒有權(quán)限,所以這條路行不通;

② 更改數(shù)據(jù)的壓縮格式可以

最初我試了一下更改Parquet格式表的壓縮格式,但是沒有用!因為我最后是需要將查詢數(shù)據(jù)導(dǎo)出到本地文件系統(tǒng),如下語句所示:

  1. insert overwrite local directory '/home/etl/tmp/data' 
  2. select * 
  3. from crm.demo 

所以,通過這樣的形式得到的數(shù)據(jù),壓縮格式依然是. Snappy。因此,這里就需要配置Hive執(zhí)行過程中的中間數(shù)據(jù)和最終數(shù)據(jù)的壓縮格式。

如MapReduce的shuffle階段對mapper產(chǎn)生的中間結(jié)果數(shù)據(jù)壓縮:

  1. hive> set mapred.map.output.compression.codec;  
  2. mapred.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec 

如對最終生成的Hive表的數(shù)據(jù)壓縮:

  1. hive> set mapred.output.compression.codec;  
  2. mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec 

這里,我們要設(shè)置結(jié)果表數(shù)據(jù)的壓縮格式,語句如下:

  1. set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; 

最終的結(jié)果就是 .gz 的壓縮格式

  1. -rw-r--r-- 1 etl etl 342094 May 10 11:13 000000_0.gz 

最后,我們直接下載到電腦本地,直接解壓就可以通過Excel分析用戶行為路徑數(shù)據(jù)了。

總結(jié):從Hive應(yīng)用層的角度來說,關(guān)于數(shù)據(jù)文件的「存儲結(jié)構(gòu)」和「壓縮形式」,這兩個點我們不需要關(guān)心,只是在導(dǎo)出數(shù)據(jù)的時候需要結(jié)合文件大小,以及數(shù)據(jù)類型去設(shè)置合適的壓縮格式。不過從Hive底層維護的角度來說,涉及到各種各樣的「存儲結(jié)構(gòu)」和「壓縮形式」,都需要開發(fā)者去研究和調(diào)整,這樣才能保證集群上的文件在「時間」和「空間」上相對平衡。

責(zé)任編輯:武曉燕 來源: 成都科多大數(shù)據(jù)
相關(guān)推薦

2023-05-15 08:24:46

2021-02-22 17:00:31

Service Mes微服務(wù)開發(fā)

2020-03-17 09:21:20

MariaDBSpider存儲

2018-06-07 16:33:31

大數(shù)據(jù)冷熱數(shù)據(jù)存儲平臺

2018-12-25 09:26:28

2022-08-10 13:54:40

云存儲存儲私有云

2024-11-04 15:15:00

AI模型

2018-02-24 10:58:34

存儲DASNAS

2024-08-13 08:48:50

2014-01-09 11:09:52

手游創(chuàng)業(yè)運營立項

2018-08-23 11:06:15

重刪壓縮存儲

2015-08-10 14:11:48

亞馬遜AWS中國Amazon S3

2024-02-27 07:44:20

2023-10-07 16:20:34

JavaAPI

2018-05-04 14:00:24

2021-07-28 14:37:57

WKWebviewh5網(wǎng)絡(luò)

2023-07-13 11:03:12

2009-04-09 19:18:44

云存儲存儲虛擬化虛擬化

2021-01-20 10:53:41

云計算云存儲云遷移

2017-06-16 09:58:34

Hive格式壓縮算法
點贊
收藏

51CTO技術(shù)棧公眾號