Phoenix映射HBase时间戳的一种实现
Phoenix映射HBase时间戳的一种实现
官方实现
Apache Phoenix从4.6版本开始,提供了ROW_TIMESTAMP标签,来映射HBase的原生时间戳。但使用起来有以下限制:
- 只有主键中的TIME, DATE, TIMESTAMP, BIGINT, UNSIGNED_LONG类型的字段才能设置成ROW_TIMESTAMP
- 只能有一个主键列能被设置成ROW_TIMESTAMP
- ROW_TIMESTAMP标志的字段不能为null值
- 只有在建表的时候,某一列才能被设置成ROW_TIMESTAMP
- ROW_TIMESTAMP标志的列不能为负数
除了上面使用上的限制,还有应用场景的限制。根据上面的描述,ROW_TIMESTAMP字段有以下几种形式。
- 业务主键在前
- ROW_TIMESTAMP字段在前
- 只有ROW_TIMESTAMP字段
我们来看下各


