HBase實現記錄定期定量刪除

2021-06-22 03:59:17 字數 824 閱讀 2156

文中可能涉及到的api:

hadoop/hdfs:

hbase:

使用場景分析:我們在hbase中儲存的記錄可能有一些是增速很快且又不需要永久儲存的,比如大量的「系統日誌」,也許只需儲存最近幾個月記錄便可。我們的儲存空間又很有限,尤其是hdfs這種多副本容災儲存。再加上hbase在儲存每一行資料時,分別要為每一列儲存乙份rowkey,如果一行有10列,光rowkey就要儲存10份,開銷可想而知。因此定期定量刪除的功能也就成了普遍的需求。

一、如何定期刪除資料?

使用**級的屬性:ttl(time to live),設定記錄的有效期,當前時間超過記錄有效期後該記錄將被自動刪除記錄的有效期 = timestamp + ttl;

二、如何在資料超過閾值時刪除資料?

比如我們限定某張表最多占用約1t的空間,當資料超過1t時就刪除表中最老的一部分資料。

1、在hdfs層面,獲取**占用空間。

通過configuration例項建立filesystem例項,呼叫fs的path獲取**目錄的contentsummary例項,再呼叫

通過hbase api中scan的settimerange方法完成待刪除的資料篩選,然後刪之~

文獻:

MVC實現刪除資料庫記錄

本次mvc練習,我們想實現對資料庫的記錄進行刪除。在網頁的記錄列表上,點選刪除,將帶到另外乙個詳細頁面,顯示詳細的資訊,讓使用者對刪除的資訊進行確認,再點選刪除動作。不管怎樣,得先在資料庫建立乙個刪除的儲存過程 實踐還是從前幾天一系列的練習的基礎上進行。在solution explorer內的mod...

db 使用遞迴觸發器實現每次刪除一條記錄

判斷表中是否有名為 delete employee 的觸發器 if exists select name from sysobjects where name delete employee and type tr 如果已經存在則刪除 drop trigger delete employee goc...

通用許可權底層實現的記錄軟刪除及表中應包含的基本字段

idbhelper dbhelper new oraclehelper confighelper.getconfigstring businessdbconnection bool result true trycatch exception ex promptjsoninfo result 專案部...