如何解决Phoenix-选择HBase表-0行
我想使用Phoenix服务从hbase中选择行。我收到以下错误: 错误:错误1036(42J04):如果父级的最后一个PK列的长度可变,则无法修改VIEW的主键。 columnName = tbl1.pk(状态= 42J04,代码= 1036)
我使用了以下来源的参考: https://godbolt.org/ https://phoenix.apache.org/faq.html#How_I_map_Phoenix_table_to_an_existing_HBase_table
我做了什么:
hbase> describe 'tbl1'
tbl1,{TABLE_ATTRIBUTES => {coprocessor $ 1 =>'| org.apache.phoenix.coprocessor.ScanRegionObserver | 805306366 |',cop
rocessor $ 2 =>'| org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver | 805306366 |',coprocessor $ 3 =>'| org.apac
he.phoenix.coprocessor.GroupedAggregateRegionObserver | 805306366 |',协处理器$ 4 =>'| org.apache.phoenix.coprocessor.Ser
verCachingEndpointImpl | 805306366 |'}
列系列说明
{NAME =>'C',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 =>'8035200 SECONDS(93 DAYS)',MIN_VERSIONS
=>'0',REPLICATION_SCOPE =>'0',BLOOMFILTER =>'ROW',CACHE_INDEX_ON_WRITE =>'false',IN_MEMORY =>'false',CACHE_BL
OOMS_ON_WRITE =>'false',PREFETCH_BLOCKS_ON_OPEN =>'false',COMPRESSION =>'GZ',BLOCKCACHE =>'true',BLOCKSIZE =>'6
5536'}
hbase> scan 'tbl1',{LIMIT=>2}
00123 | 9223370438236964192 | 376f38c6-e92a-11ea-9c9b-0242ac130002列= C:t,时间戳= 1598617869297,值= \ x00 \ x00
00337 | 9223370438236964198 | 376e38c6-e92a-11ea-9c9b-0242ac130002列= C:s,时间戳= 1598617869297,值= 123 ctx_userid =“ abc” ctx_id =“ 12345”
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"."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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。