hbase java創建表時設置TTL

hbase java創建表時設置TTL

ColumnFamilies 可以以秒爲單位來設置 TTL(Time To Live)長度,一旦達到到期時間,HBase 將自動刪除行。

設置 hbase.store.delete.expired.storefile 爲 false 將禁用此功能。將最小版本數設置爲 0 以外的值也會禁用此功能。


  1. java創建表時設置TTL

hcd.setTimeToLive(345600); // 設置TTL過期時間4天 4 * 24 * 60 * 60

public Table hbaseTableGetOrCreate(String tableName) throws Exception{
        Admin admin = HbaseConn.getAdmin();
        if (!admin.tableExists(TableName.valueOf(tableName))){
            HTableDescriptor hTableDescriptor = new HTableDescriptor(TableName.valueOf(tableName));
            HColumnDescriptor hcd = new HColumnDescriptor("m");
            hcd.setTimeToLive(345600); // 設置TTL過期時間4天 4 * 24 * 60 * 60
            byte[][] splitKeys = new byte[][] { Bytes.toBytes("33"), Bytes.toBytes("66")};  // 預分區
            hTableDescriptor.addFamily(hcd);
            admin.createTable(hTableDescriptor, splitKeys);
        }
        return HbaseConn.getTable(TableName.valueOf(tableName));
    }

  1. shell創建表時候指定TTL
    create ‘migu_datalog’,{NAME => ‘m’, TTL=>‘345600’}

在這裏插入圖片描述

發佈了69 篇原創文章 · 獲贊 20 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章