Phoenix中的主键如何转换为hbase中的行键

Posted

技术标签:

【中文标题】Phoenix中的主键如何转换为hbase中的行键【英文标题】:How are the primary keys in Phoenix are converted as row keys in hbase 【发布时间】:2016-03-29 03:45:23 【问题描述】:

凤凰查询:

CREATE TABLE STORE.DETAILS (Market UNSIGNED_INT NOT NULL, Product UNSIGNED_INT NOT NULL, Period UNSIGNED_INT NOT NULL, Units double CONSTRAINT pk PRIMARY KEY (Market_Key, Product_Key, Period_Key))

在 hbase 我只有两列我希望主键组合转换为行键。

您能告诉我在 Phoenix 中主键是如何组合并转换为行键的吗?

【问题讨论】:

【参考方案1】:

是的,主键被视为行键,当您有多个列作为主键时,phoenix 使用默认分隔符(零字节)来分隔行键。 hbase 中的所有内容都存储为字节数组,当您使用客户端 API 检索它时,请使用您在 UPSERT 期间使用的适当类型或将行键取回。

【讨论】:

如果 phoenix 表是加盐的,您可能会在与加盐对应的行键中看到一个前缀。

以上是关于Phoenix中的主键如何转换为hbase中的行键的主要内容,如果未能解决你的问题,请参考以下文章

HBase 系列—— HBase 系统架构及数据结构

HBase基础和伪分布式安装配置

Cassandra中的行键

Sqoop2 Hbase 导入:无法为行键列插入具有空值的行

如何设置开始和结束行键 HBASE

HBase里的优秀行键设计