使用现有的具有通用名称的Hbase表创建Phoenix表视图

问题描述 投票:0回答:1

我已经克隆了一个表,并且我正在尝试根据https://phoenix.apache.org/faq.html#How_I_map_Phoenix_table_to_an_existing_HBase_table为它创建Phoenix视图。

假设下面有两个HBase表。

hbase(main):008:0> describe 'USERINFO'
Table USERINFO is ENABLED                                                                                                                                                                                                           
USERINFO, {TABLE_ATTRIBUTES => {coprocessor$1 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$2 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', coprocessor$3 => '
|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|', coprocessor$5 => '|org.apache.phoenix.hbase.index.Indexer|80530
6366|index.builder=org.apache.phoenix.index.PhoenixIndexBuilder,org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec', coprocessor$6 => '|org.apache.hadoop.hbase.regionserver.LocalIndexSplitter|80
5306366|'}                                                                                                                                                                                                                          
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                         
{NAME => '0', DATA_BLOCK_ENCODING => 'FAST_DIFF', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'SNAPPY', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '6553
6', IN_MEMORY => 'false', BLOCKCACHE => 'true'}

hbase(main):006:0> describe 'USERPREFERENCE'
Table USERPREFERENCE is ENABLED                                                                                                                                                                                                     
USERPREFERENCE, {TABLE_ATTRIBUTES => {coprocessor$1 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$2 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', coprocessor$
3 => '|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|', coprocessor$5 => '|org.apache.phoenix.hbase.index.Indexer
|805306366|index.builder=org.apache.phoenix.index.PhoenixIndexBuilder,org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec', coprocessor$6 => '|org.apache.hadoop.hbase.regionserver.LocalIndexSplit
ter|805306366|'}                                                                                                                                                                                                                    
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                                         
{NAME => '0', DATA_BLOCK_ENCODING => 'FAST_DIFF', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => 'FOREVER', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '6553
6', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                                                                                                                                                                     

我将运行follow命令在Phoenix中创建表视图?

CREATE VIEW USERINFO ( pk VARCHAR PRIMARY KEY, "0".team VARCHAR, "0".firstname, "0".lastname )
CREATE VIEW USERPREFERENCE ( pk VARCHAR PRIMARY KEY, "0".firstname VARCHAR, "0".lastname )

这似乎不正确。如何根据这种情况创建表格视图?

hadoop hbase phoenix
1个回答
0
投票

因此,我相信您缺少的是,您需要指定每列将是哪种变量。因此,从技术上讲,您需要提及变量名将为的列的类型,依此类推。

我尝试并测试了此代码。首先,我启动了我的hbase-shell(不用担心DCDR,它只是我的命名空间,我们的DBA几乎已经锁定了它):

create 'DCDR:USERINFOV2', {NAME => '0', VERSIONS => 5}

create 'DCDR:USERPREFERENCEV2', {NAME => '0', VERSIONS => 5}

然后我启动凤凰壳:

CREATE VIEW "DCDR:USERINFOV2" ( pk VARCHAR PRIMARY KEY, "0".team VARCHAR, "0".firstname VARCHAR, "0".lastname VARCHAR);

CREATE VIEW "DCDR:USERPREFERENCEV2" ( pk VARCHAR PRIMARY KEY, "0".firstname VARCHAR, "0".lastname VARCHAR);

这给了我意见。希望这对您有用。让我知道是否。

© www.soinside.com 2019 - 2024. All rights reserved.