Phoenix-选择HBase表-0行

Phoenix-选择HBase表-0行,hbase,phoenix,Hbase,Phoenix,我想使用Phoenix服务从hbase中选择行。我得到以下错误: 错误:错误1036(42J04):如果父级的最后一个主键列长度可变,则无法修改视图的主键。columnName=tbl1.pk(状态=42J04,代码=1036) 我使用的参考资料来自: 我所做的: tbl1,{TABLE_ATTRIBUTES=>{coprocessor$1=>'| org.apache.phoenix.coprocessor.ScanRegionObserver | 805306366 |',cop 处理器$

我想使用Phoenix服务从hbase中选择行。我得到以下错误: 错误:错误1036(42J04):如果父级的最后一个主键列长度可变,则无法修改视图的主键。columnName=tbl1.pk(状态=42J04,代码=1036)

我使用的参考资料来自:

我所做的: tbl1,{TABLE_ATTRIBUTES=>{coprocessor$1=>'| org.apache.phoenix.coprocessor.ScanRegionObserver | 805306366 |',cop 处理器$2=>'| org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver | 805306366 |',协处理器$3=>'| org.apac he.phoenix.coprocessor.GroupedAggregateGionobServer | 805306366 |',协处理器$4=>'| org.apache.phoenix.coprocessor.Ser verCachingEndpointImpl | 805306366 |'}
列族说明
{NAME=>'C',VERSIONS=>'1',execute_BLOCKS_ON_CLOSE=>'false',NEW_VERSION_BEHAVIOR=>'false',KEEP_DELETED_CELLS=> 'FALSE',CACHE_DATA_ON_WRITE=>'FALSE',DATA_BLOCK_ENCODING=>'NONE',TTL=>'8035200秒(93天),最小版本 =>'0',复制\范围=>'0',BLOOMFILTER=>'ROW',缓存\索引\写上=>'false',内存中=>'false',缓存\ BL OOMS_ON_WRITE=>'false',PREFETCH_BLOCKS_ON_OPEN=>'false',COMPRESSION=>'GZ',BLOCKCACHE=>'true',BLOCKSIZE=>'6 5536'}

00123 | 9223370438236964192 1246F38C6-e92a-11ea-9c9b-0242ac130002列=C:t,时间戳=1598617869297,值=\x00\x00

00337 | 9223370438236964198 1246E38C6-e92a-11ea-9c9b-0242ac130002列=C:s,时间戳=1598617869297,值=123 ctx_userid=“abc”ctx_id=“12345”

我得到以下错误:

java.sql.SQLException: ERROR 1036 (42J04): Cannot modify the primary key of a VIEW if last PK column of parent is variable length. columnName=tbl1.pk
        at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:497)
        at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
        at org.apache.phoenix.schema.MetaDataClient.throwIfLastPKOfParentIsFixedLength(MetaDataClient.java:4037)
        at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2410)
        at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1114)
        at org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:198)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
        at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:390)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
        at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
        at sqlline.Commands.execute(Commands.java:822)
        at sqlline.Commands.sql(Commands.java:732)
        at sqlline.SqlLine.dispatch(SqlLine.java:813)
        at sqlline.SqlLine.begin(SqlLine.java:686)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:291)
hbase> scan 'tbl1', {LIMIT=>2}
phoenix>create table "tbl1" ( "pk" VARCHAR PRIMARY KEY, "C"."s" VARCHAR, "C"."t" VARCHAR);
phoenix>create view "CanonicalId_view_s" ( "pk" VARCHAR PRIMARY KEY, "C"."s" VARCHAR, "C"."t" VARCHAR) as select * from "CanonicalId";
java.sql.SQLException: ERROR 1036 (42J04): Cannot modify the primary key of a VIEW if last PK column of parent is variable length. columnName=tbl1.pk
        at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:497)
        at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:150)
        at org.apache.phoenix.schema.MetaDataClient.throwIfLastPKOfParentIsFixedLength(MetaDataClient.java:4037)
        at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2410)
        at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1114)
        at org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:198)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)
        at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
        at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:390)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
        at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
        at sqlline.Commands.execute(Commands.java:822)
        at sqlline.Commands.sql(Commands.java:732)
        at sqlline.SqlLine.dispatch(SqlLine.java:813)
        at sqlline.SqlLine.begin(SqlLine.java:686)
        at sqlline.SqlLine.start(SqlLine.java:398)
        at sqlline.SqlLine.main(SqlLine.java:291)