错误:将Phoenix视图映射到现有Hbase表时,该表是只读的

时间:2018-08-30 13:35:51

标签: apache hbase phoenix

我有一个Hbase表

fnl:胶囊

使用列族cf并包含以下列:

HJMPTS ,
CREATEDTS,
MODIFIEDTS,
TYPEPKSTRING ,
OWNERPKSTRING ,
PK (primary key in Oracle table),
P_CATALOGVERSION ,
P_CAPSULEID ,
P_APPROVALSTATUS ,
ACLTS ,
PROPTS ,
P_VIDEOURL,
P_MOBILEAPPVIDEOURL ,
DTL_CAPXUSER ,
DTL_CAPXTIMESTAMP,
DTL_CAPXACTION,
DTL_CAPXROWID,
RECORD_DATE,
LAST_MODIFIED_DATE

我正在尝试通过在phoenix中使用以下定义的视图来映射表:

create schema "fnl";
use "fnl";
CREATE VIEW "capsules"
(
rowkey varchar primary key,
"cf".HJMPTS DECIMAL(20,0),
"cf".CREATEDTS TIMESTAMP,
"cf".MODIFIEDTS TIMESTAMP,
"cf".TYPEPKSTRING DECIMAL(20,0),
"cf".OWNERPKSTRING DECIMAL(20,0),
"cf".PK DECIMAL(20,0),
"cf".P_CATALOGVERSION DECIMAL(20,0),
"cf".P_CAPSULEID VARCHAR(255),
"cf".P_APPROVALSTATUS DECIMAL(20,0),
"cf".ACLTS DECIMAL(20,0),
"cf".PROPTS DECIMAL(20,0),
"cf".P_VIDEOURLVARCHAR(255),
"cf".P_MOBILEAPPVIDEOURL VARCHAR(255),
"cf".DTL_CAPXUSER VARCHAR(255),
"cf".DTL_CAPXTIMESTAMP VARCHAR(20),
"cf".DTL_CAPXACTION VARCHAR(1),
"cf".DTL_CAPXROWID VARCHAR(18),
"cf".RECORD_DATE TIMESTAMP,
"cf".LAST_MODIFIED_DATE TIMESTAMP
); 

但这失败并显示错误:表是只读的。

我尝试创建一个表而不是视图,该表已成功执行,但是各列的映射关系并不完美,因此它们显示了不同的值。

我在这里阅读到此错误是由于凤凰视图和Hbase表之间的映射错误所致。

http://phoenix.apache.org/

有人可以帮我映射相同的东西吗?

0 个答案:

没有答案