在HBase中,可以通过创建表的注解(Annotation)来设置TTL(Time To Live) import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client....
在上面的示例代码中,我们使用HBase的Java客户端API来创建一个名为"myTable"的表,并为其中的"cf1"列族设置了TTL为1小时。如果我们在创建"cf2"列族时没有设置TTL,则会使用默认的TTL值。 需要注意的是,即使为表的某个列族设置了TTL,也可以在插入数据时为该列族的具体列设置不同的TTL值。这样,具体列的TTL...
echo "start insert user data to hive tmp table" hive -e "from (select pl, from_unixtime(cast(s_time/1000 as bigint),'yyyy-MM-dd') as day, u_ud, (case when count(p_url) = 1 then 'pv1' when count(p_url) = 2 then 'pv2' when count(p_url) = 3 then 'pv3' when coun...
创建HBase表的时候,可以通过指定表的TTL来决定表中所有单元格的最大存活时间。下面是一个示例: HColumnDescriptor cf1 = new HColumnDescriptor("cf1"); cf1.setTimeToLive(2592000); // 30天,单位是秒 HTableDescriptor desc = new HTableDescriptor(tableName); desc.addFamily(cf1); admin.createTable(...
hbase shell> create'mytable','col1','col2'//建表语句 create '表名','列簇名','列簇名','列簇名'hbase shell> create'mytable',{NAME =>'info',versionS =>1, TTL =>214783647, BLOCKCACHE =>false,IN_MEMORY=>false},{NAME=>'tempData',VERSIONS=>1,TTL=>259200,BLOCKCACHE=>false,IN_...
table.close(); connection.close(); } } 3、scan这个表看一下结果。 我们插入了10条数据,因为ex列族的最大半版本为4,所以,这里只保存了4个版本的数据。 4、过3分钟之后,再次扫描该表。 虽然从TTL来看,所有的数据都已经过期了,但是由于设置了MIN_VERSIONS => 2的原因,HBase仍然保留了2个版本的数据。以...
4、 TTL 默认是 2147483647 即:Integer.MAX_VALUE 值大概是 68 年,这个参数是说明该列族数据的存活时间,单位是 s。 这个参数可以根据具体的需求对数据设定存活时间,超过存活时间的数据将在表中不在显示,等待下次 major compact 的时候再彻底删除数据。
5.设置生存时间TTL 一旦达到过期时间,HBase将自动删除行 6.支持预分区 HBase默认建表时有一个region,这个region的rowkey是没有边界的,即没有startkey和endkey,在数据写入时,所有数据都会写入这个默认的region,随着数据量的不断增加,此region已经不能承受不断增长的数据量,会进行split,分成2个region。在此过程中,会...
配置方式:create 'table',{NAME=>'info', FAMILIES => [{NAME => 'cf', MIN_VERSIONS => '0', TTL => '500'}]} Memory 创建表的时候,可以通过 HColumnDescriptor.setInMemory(true) 将表放到 RegionServer 的缓存中,保证在读取的时候被 cache 命中。
{ NAME => 'cf', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOM...