当前位置: 首页 > 知识库问答 >
问题:

Apache phoenix:创建phoenix表映射到现有hbase表

梁丘佑运
2023-03-14

我想知道如果我在现有的hbase表上创建phoenix表,它是复制(或复制)hbase表中存在的数据,还是phoenix表只是链接到hbase中存在的现有数据?

我的phoenix版本是<4.12.0,所以这个错误仍然适用于我的版本&因此不能在现有的hbase表上创建视图。

共有1个答案

郭子航
2023-03-14

我们可以在现有的Hbase表上创建一个Phoenix表。它在内部使用Phoenix协处理器与Phoenix表链接。

是的,数据将被复制。

请参见下面的步骤来执行相同的操作:

create 'DEV_HBASE:TestPhoneixIntegration','cf'
describe 'HBASE_PAS:TestPhoneixIntegration'

  Table HBASE_PAS:TestPhoneixIntegration is ENABLED                                                                                                                                                           
  HBASE_PAS:TestPhoneixIntegration                                                                                                                                                                            
  COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                     
  {NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCAC
  HE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                                                                   
  1 row(s) in 0.0630 seconds

------------------------------------------------------

create table "DEV_HBASE"."TestPhoneixIntegration"(ROWKEY VARCHAR PRIMARY KEY , "cf"."name" VARCHAR);

SELECT * FROM "DEV_HBASE"."TestPhoneixIntegration";
+----------+-------+
|  ROWKEY  | name  |
+----------+-------+
| rowkey1  | John  |
+----------+-------+

--------------------------------------------------------
describe 'DEV_HBASE:TestPhoneixIntegration'
Table DEV_HBASE:TestPhoneixIntegration is ENABLED                                                                                                                                                           
    DEV_HBASE:TestPhoneixIntegration, {TABLE_ATTRIBUTES => {coprocessor$1 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$2 => '|org.apache.phoenix.coprocessor.UngroupedAggrega
    teRegionObserver|805306366|', coprocessor$3 => '|org.apache.phoenix.coprocessor.GroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|80530636
    6|', coprocessor$5 => '|org.apache.phoenix.hbase.index.Indexer|805306366|org.apache.hadoop.hbase.index.codec.class=org.apache.phoenix.index.PhoenixIndexCodec,index.builder=org.apache.phoenix.index.PhoenixInde
    xBuilder'}                                                                                                                                                                                                      
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                                     
{NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCAC
HE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                                                                   
1 row(s) in 0.0580 seconds
 类似资料:
  • 我是凤凰城的新手,HBASE。我们有一个对Hbase数据库发出类似SQL查询的要求。我们决定将Apache Phoenix作为SQL皮肤放在现有的Hbase表之上,该表已经装载了我们想要检索的数据。 根据我所做的尝试,我只能创建一个具有1列的phoenix表,这是hbase中的行键,但我不能创建包含我正在寻找的数据的另一列。 我正在寻找凤凰DDL语法,这将导致表和列,我需要

  • 我试图用phoenix映射一个hbase表,但结果表在列中给出了null值和整数值。 怎么了?

  • 我有一个现有的hbase表,已经把所有的数据在凤凰格式。然后尝试在上面创建一个凤凰桌。在Phoenix4.9中,一切都很好。但是Phoenix4.10有一个列映射https://blogs.apache.org/phoenix/entry/column-mapping-and-immutable-data,所以我的列限定符不能是原始字符串,比如地址、名称等。但是必须映射到某个整数,我该怎么做呢?有

  • 我编写了一个映射,如下所示: 当我运行应用程序时,会出现如下错误: 2012-05-15 17:12:38,651--WARN--失败的模式语句:创建表雇员(Id整数不为空auto_increment,版本日期时间不为空,FirstName nvarchar(300),LastName nvarchar(300),雇员类型nvarchar(300),主键(Id),唯一(firstName,last

  • 问题内容: 我想创建一个字符串映射到实例。这是正确的方法吗? 问题答案: 每当我想使用A时,我都发现切片是正确的选择,例如

  • 我有一张下面结构的桌子。 在Apache Storm中,我能够在configure方法中创建一个Phoenix Connection对象,并且能够每10秒使用一次相同的连接来upsert。 在Spark中,我不能创建一个连接对象并为RDD中的每个对象使用相同的对象。spark的输出将是一个JavadStream>,其中start_time、end_time、count都是映射中的键。 我最终为RD