hive使用parquet及壓縮數(shù)據(jù)大小前后對(duì)比

上傳txt文件到hdfs模聋,txt文件大小是74左右既鞠。

這里提醒一下晕翠,是不是說(shuō)pzrquet加lzo可以把數(shù)據(jù)壓縮到這個(gè)地步,因?yàn)槲业臏y(cè)試數(shù)據(jù)存在大量重復(fù)担映。所以下面使用parquet和lzo的壓縮效果特別好废士。


創(chuàng)建hive表,使用parquet格式存儲(chǔ)數(shù)據(jù)

不可以將txt數(shù)據(jù)直接加載到parquet的表里面蝇完,需要?jiǎng)?chuàng)建臨時(shí)的txt存儲(chǔ)格式的表

CREATE TABLE emp_txt (
empno int,
ename string,
job string,
mgr int,
hiredate DATE,
sal int,
comm int,
deptno int
)
partitioned BY(dt string,hour string)
row format delimited fields terminated by ",";

然后在創(chuàng)建parquet的表

CREATE TABLE emp_parquet (
empno int,
ename string,
job string,
mgr int,
hiredate DATE,
sal int,
comm int,
deptno int
)
partitioned BY(dt string,hour string)
row format delimited fields terminated by ","
stored as PARQUET;

加載數(shù)據(jù)

# 先將數(shù)據(jù)加載到emp_txt
load data inpath '/test/data'  overwrite into table emp_txt partition(dt='2020-01-01',hour='01');
#再?gòu)膃mp_txt將數(shù)據(jù)加載到emp_parquet里面
insert overwrite table emp_parquet 
select  empno,ename,job,mgr,hiredate,sal,comm,deptno 
from emp_txt where dt='2020-01-01'  AND hour='01';

可以看到這里生成了兩個(gè)文件官硝,加起來(lái)5.52M,可見(jiàn)大大的將原始的txt進(jìn)行了壓縮


下面我們使用parquet加lzo的方式四敞,來(lái)看看數(shù)據(jù)的壓縮情況
CREATE TABLE emp_parquet_lzo (
empno int,
ename string,
job string,
mgr int,
hiredate DATE,
sal int,
comm int,
deptno int
)
partitioned by (dt string,hour string)
row format delimited fields terminated by ","
stored as PARQUET
tblproperties('parquet.compression'='lzo');

加載數(shù)據(jù)到emp_parquet_lzo

insert overwrite table emp_parquet_lzo partition (dt='2020-01-01',hour='01')
select  empno,ename,job,mgr,hiredate,sal,comm,deptno 
from emp_txt where dt='2020-01-01'  AND hour='01';

數(shù)據(jù)相比較于僅僅使用parquet泛源,數(shù)據(jù)被進(jìn)一步的壓縮了。但是這里提醒一下忿危,是不是說(shuō)pzrquet加lzo可以把數(shù)據(jù)壓縮到這個(gè)地步达箍,因?yàn)槲业臏y(cè)試數(shù)據(jù)存在大量重復(fù)。


綜上總結(jié)

txt文本文件铺厨,在使用parquet加壓縮格式缎玫,相比較于僅僅使用parquet,可以更進(jìn)一步的將數(shù)據(jù)壓縮解滓。

拓展

1.parquet壓縮格式

parquet格式支持有四種壓縮赃磨,分別是lzo,gzip洼裤,snappy邻辉,uncompressed,在數(shù)據(jù)量不大的情況下,四種壓縮的區(qū)別也不是太大值骇。

2.hive的分區(qū)是支持層級(jí)分區(qū)

?也就是分區(qū)下面還可以有分區(qū)的,如上面的 partitioned by (dt string,hour string) 在插入數(shù)據(jù)的時(shí)候使用逗號(hào)分隔莹菱,partition(dt='2020-01-01',hour='01')

3.本次測(cè)試中,一個(gè)74M的文件吱瘩,使用在insert overwrite ... select 之后道伟,為什么會(huì)產(chǎn)生兩個(gè)文件

首先要聲明一下,我的hive使用的執(zhí)行引擎是tez使碾,替換了默認(rèn)的mapreduce執(zhí)行引擎蜜徽。
我們看一下執(zhí)行頁(yè)面,這里可以看到形成了兩個(gè)map票摇,這里是map-only拘鞋,一般數(shù)據(jù)的加載操作都是map-only的,所以矢门,有多少的map掐禁,就會(huì)產(chǎn)生幾個(gè)文件。



可以是hadoop的mapreduce不是128M的splitsize嗎颅和,這個(gè)文件才74M,為什么會(huì)產(chǎn)出兩個(gè)map,這里我們看看tez的執(zhí)行日志
??從圖片可以看出缕允,這里是tez把74M的文件分成了兩個(gè)峡扩,這里的52428800是50M,也就是這里的splitsize不是hadoop的mr的默認(rèn)的128M障本,而是這里的50M教届,所以,74M的文件會(huì)被分為兩個(gè)驾霜,一個(gè)是50M案训,一個(gè)是24M,.然后我們看上面的emp_parquet的文件,一個(gè)式3.7M粪糙,也是1.8M强霎,正好和50M和24M的比例是對(duì)應(yīng)的。



所以蓉冈,一切事情都是有原因的城舞,這里的splitsize是50M,才會(huì)導(dǎo)致形成兩個(gè)文件的寞酿。但是我沒(méi)有找到這哥tez的splitsize的具體配置是什么家夺,以后找到的話,再進(jìn)行補(bǔ)充伐弹。
本篇文章就到這里拉馋。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子煌茴,更是在濱河造成了極大的恐慌随闺,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件景馁,死亡現(xiàn)場(chǎng)離奇詭異板壮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)合住,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門绰精,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人透葛,你說(shuō)我怎么就攤上這事笨使。” “怎么了僚害?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵硫椰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我萨蚕,道長(zhǎng)靶草,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任岳遥,我火速辦了婚禮奕翔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浩蓉。我一直安慰自己派继,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布捻艳。 她就那樣靜靜地躺著驾窟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪认轨。 梳的紋絲不亂的頭發(fā)上绅络,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音嘁字,去河邊找鬼昨稼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拳锚,可吹牛的內(nèi)容都是我干的假栓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼霍掺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匾荆!你這毒婦竟也來(lái)了拌蜘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤牙丽,失蹤者是張志新(化名)和其女友劉穎简卧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烤芦,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡举娩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了构罗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铜涉。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖遂唧,靈堂內(nèi)的尸體忽然破棺而出芙代,到底是詐尸還是另有隱情,我是刑警寧澤盖彭,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布纹烹,位于F島的核電站,受9級(jí)特大地震影響召边,放射性物質(zhì)發(fā)生泄漏铺呵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一隧熙、第九天 我趴在偏房一處隱蔽的房頂上張望陪蜻。 院中可真熱鬧,春花似錦贱鼻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至随闽,卻和暖如春父丰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掘宪。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工蛾扇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人魏滚。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓镀首,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鼠次。 傳聞我的和親對(duì)象是個(gè)殘疾皇子更哄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355