Hive hive使用壓縮

2021-08-16 18:13:23 字數 1858 閱讀 7203

hive中的資料使用壓縮的好處(執行查詢時會自動解壓):

可以節約磁碟的空間,基於文字的壓縮率可達40%+;

壓縮可以增加吞吐量和效能量(減小載入記憶體的資料量),但是在壓縮和解壓過程中會增加cpu的開銷。所以針對io密集型的jobs(非計算密集型)可以使用壓縮的方式提高效能。

檢視集群的支援的壓縮演算法.

hive -e

"set io.compression.codecs"

返回支援的壓縮演算法

io.compression

.codecs=org.apache

.hadoop

.io.compress

.defaultcodec,

org.apache

.hadoop

.io.compress

.gzipcodec,

org.apache

.hadoop

.io.compress

.bzip2codec,

org.apache

.hadoop

.io.compress

.deflatecodec,

org.apache

.hadoop

.io.compress

org.apache

.hadoop

.io.compress

.lz4codec

常用的壓縮演算法:

gzip

zlib

建表時申明檔案的儲存格式,預設為textfile。如使用壓縮常使用分塊壓縮sequencefile

create table a(

...)stored as sequencefile

-- 任務中間壓縮

set hive.exec

.compress

.intermediate=true;

set hive.intermediate

.compression

.codec=org.apache

.hadoop

.io.compress

;set hive.intermediate

.compression

.type=block;

-- map/reduce 輸出壓縮

set hive.exec

.compress

.output=true;

set mapred.output

.compression

.codec=org.apache

.hadoop

.io.compress

;set mapred.output

.compression

.type=block;

hive原始資料為119.2g。

壓縮演算法

textfile格式

sequencefile

rcfile

orcfile

不壓縮119.2g

54.1g

20.0g

98g30.2g

23.6g

13.6g

27.0g

gzip

18.8g

14.1g

不支援15.2 g

zlib

不支援不支援

10.1g

不支援

Hive Hive的資料壓縮

在實際工作當中,hive當中處理的資料,一般都需要經過壓縮,前期我們在學習hadoop的時候,已經配置過hadoop的壓縮,我們這裡的hive也是一樣的可以使用壓縮來節省我們的mr處理的網路頻寬 壓縮格式 工具演算法 副檔名 是否可切分 default 無default deflate 否gzip ...

Hive Hive表檔案壓縮介紹

目錄壓縮 1 壓縮概述 2 開啟map輸出階段壓縮 3 開啟reduce輸出階段壓縮 4 建立表時指定壓縮格式 mr 支援的壓縮編碼 為了支援多種壓縮 解壓縮演算法,hadoop引入了編碼 解碼器 壓縮效能的比較 假如有乙個表 createtableemp t idint,namestring,de...

hive hive中建立表

一 建立表語句 create table if not exists mydb.employees name string comment employee name salary float subordinates arraydeductions mapaddress struct commen...