4.HBase數(shù)據(jù)刪除的真正時間

put更新操作測試

-- 創(chuàng)建HBase表student
create 'student','info'

-- put數(shù)據(jù)
put 'student','001','info:name','zhangsan'

-- 全表掃描student
hbase(main):023:0> scan 'student'
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576226988856, value=zhangsan
1 row(s)
Took 0.0550 seconds

flush 'student'


flush后產(chǎn)生文件.png
-- 更新該rowkey的數(shù)據(jù)
put 'student','001','info:name','lisi'

-- 查看所有版本數(shù)據(jù)的時候,zhangsan并沒有被刪掉
hbase(main):009:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576227210750, value=lisi
 001                                            column=info:name, timestamp=1576226988856, value=zhangsan
1 row(s)
Took 0.0164 seconds 

-- 此時進行flush,刷寫到磁盤形成小文件。zhangsan依然存在
hbase(main):001:0> flush 'student'
hbase(main):003:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576227210750, value=lisi
 001                                            column=info:name, timestamp=1576226988856, value=zhangsan
1 row(s)
Took 0.0417 seconds 

-- 得到結(jié)論: flush后,之前版本的數(shù)據(jù)不刪除,因為flush只管將mem store的數(shù)據(jù)寫成一個文件

之后put蹲蒲、flush使文件達到4個,滿足compact大于3的條件,進行merge文件合并


flush文件數(shù)達到4.png
hbase(main):014:0> compact 'student'
Took 0.0305 seconds
hbase(main):015:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576227681356, value=lisi3
1 row(s)
-- 此時合并后文件剩余1個,版本數(shù)據(jù)查詢結(jié)果也為1沪伙。
-- 結(jié)論:當(dāng)進行compact時HFile文件數(shù)大于3,觸發(fā)合成文件操作饶号。會刪除之前版本的數(shù)據(jù)株依。

delete操作測試

-- 刪除該rowkey數(shù)據(jù),此時已經(jīng)打上了Delete標(biāo)記
hbase(main):003:0> delete 'student','001','info:name'

hbase(main):005:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576227681356, type=Delete
 001                                            column=info:name, timestamp=1576227681356, value=lisi3
1 row(s)
Took 0.0129 seconds

-- 再次刷寫文件數(shù)到4個
hbase(main):001:0> put 'student','001','info:name','lisi4'
hbase(main):002:0> flush 'student'
hbase(main):003:0> put 'student','001','info:name','lisi5'
hbase(main):004:0> flush 'student'
hbase(main):005:0> put 'student','001','info:name','lisi6'
hbase(main):006:0> flush 'student'
添加數(shù)據(jù).png
-- 此時全表掃描還是能找到所有數(shù)據(jù)
hbase(main):001:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576228552290, value=lisi6
 001                                            column=info:name, timestamp=1576228547984, value=lisi5
 001                                            column=info:name, timestamp=1576228540184, value=lisi4
 001                                            column=info:name, timestamp=1576227681356, type=Delete
 001                                            column=info:name, timestamp=1576227681356, value=lisi3
1 row(s)
Took 0.3525 seconds

-- 進行compact,此時產(chǎn)生了新的合并文件
hbase(main):001:0> compact 'student'
compact后的文件.png
-- 再次查詢所有版本數(shù)據(jù),只剩下一條最后時間段的數(shù)據(jù)了
hbase(main):002:0> scan 'student',{RAW=>TRUE,VERSIONS=>10}
ROW                                             COLUMN+CELL
 001                                            column=info:name, timestamp=1576228552290, value=lisi6
1 row(s)
Took 0.0321 seconds
compact一段時間后
結(jié)論: (compact 僅指 HFile的文件數(shù)大于3時)
1. HBase若在內(nèi)存中更新數(shù)據(jù)(put),flush時只刷寫最后一條到磁盤叉存。(內(nèi)存中的數(shù)據(jù)直接刪除了)
2. HBase若將數(shù)據(jù)flush到不同的文件時,數(shù)據(jù)并沒有刪除阎曹。
3. 只有compact的時候,才會真正刪除數(shù)據(jù),只保留指定version條數(shù)的數(shù)據(jù)雕拼。
4.delete操作之后,flush的時候會將該數(shù)據(jù)的狀態(tài)標(biāo)記為type=Delete,寫到磁盤纵东。
5.只有在compact時,才會將數(shù)據(jù)刪除或者保留指定version條數(shù)的數(shù)據(jù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末啥寇,一起剝皮案震驚了整個濱河市篮迎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌示姿,老刑警劉巖甜橱,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異栈戳,居然都是意外死亡岂傲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門子檀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镊掖,“玉大人,你說我怎么就攤上這事褂痰∧督” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵缩歪,是天一觀的道長归薛。 經(jīng)常有香客問我,道長匪蝙,這世上最難降的妖魔是什么主籍? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮逛球,結(jié)果婚禮上千元,老公的妹妹穿的比我還像新娘。我一直安慰自己颤绕,他們只是感情好幸海,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布祟身。 她就那樣靜靜地躺著,像睡著了一般物独。 火紅的嫁衣襯著肌膚如雪袜硫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天议纯,我揣著相機與錄音,去河邊找鬼溢谤。 笑死瞻凤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的世杀。 我是一名探鬼主播阀参,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瞻坝!你這毒婦竟也來了蛛壳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤所刀,失蹤者是張志新(化名)和其女友劉穎衙荐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浮创,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡忧吟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了斩披。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溜族。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖垦沉,靈堂內(nèi)的尸體忽然破棺而出煌抒,到底是詐尸還是另有隱情,我是刑警寧澤厕倍,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布寡壮,位于F島的核電站,受9級特大地震影響讹弯,放射性物質(zhì)發(fā)生泄漏诬像。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一闸婴、第九天 我趴在偏房一處隱蔽的房頂上張望坏挠。 院中可真熱鬧,春花似錦邪乍、人聲如沸降狠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榜配。三九已至否纬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛋褥,已是汗流浹背临燃。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烙心,地道東北人膜廊。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像淫茵,于是被迫代替她去往敵國和親爪瓜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354