我是hbase的新手,我已经搜索过了,但是我找不到在hbase的列族中设置ttl属性的简单而直接的方法。请指定使用shell和使用javaapi的两种方式。
ktecyv1j1#
使用java api:
HColumnDescriptor cfDescriptor = new HColumnDescriptor(Bytes.toBytes("cfName")); cfDescriptor.setTimeToLive(20); // in seconds tableDesc.addFamily(cfDescriptor); admin.createTable(tableDesc);
使用shell:
alter ‘tableName′, NAME => ‘cfname′, TTL => 20
e5njpo682#
使用java api修改现有表以添加ttl:
HConnection connection = HBaseConnection.createConnection("localhost", "2181"); HBaseAdmin hBaseAdmin = new HBaseAdmin(connection); HTableDescriptor hTableDescriptor = new HTableDescriptor("TTLDemo".getBytes()); HColumnDescriptor hColumnDescriptor = new HColumnDescriptor("C".getBytes()); hColumnDescriptor.setTimeToLive(2); hTableDescriptor.addFamily(hColumnDescriptor); hBaseAdmin.modifyTable("TTLDemo", hTableDescriptor);
2条答案
按热度按时间ktecyv1j1#
使用java api:
使用shell:
e5njpo682#
使用java api修改现有表以添加ttl: