如何在凤凰城放弃一个视图

时间:2018-06-19 04:51:01

标签: hbase phoenix

我为现有的HBase表创建了一个Phoenix视图company1:USERS。命名空间为company1,表名为USERS。我没有将Phoenix表映射到现有的Hbase表。

CREATE VIEW "company1:USERS" ( pk VARCHAR PRIMARY KEY, CF.USERNAME VARCHAR, CF.FULLNAME VARCHAR ); 

这个create语句运行正常。现在我想使用此命令删除它:DROP VIEW "company1:USERS",但它给了我一个错误:

SQL Error [1012] [42M03]: ERROR 1012 (42M03): Table undefined. tableName=company1:USERS
  org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=company1:USERS

以下删除语句也是如此:

  • DROP VIEW "company1.USERS"
  • DROP VIEW company1:USERS
  • DROP VIEW company1.USERS

使用的图书馆:phoenix-core-4.8.0-HBase-1.1

知道如何使用命名空间删除Phoenix视图吗?

1 个答案:

答案 0 :(得分:1)

我能够通过从Phoenix SYSTEM表中删除来实现此目的:

DELETE FROM SYSTEM."STATS" WHERE PHYSICAL_NAME = 'company1:USERS';
DELETE FROM SYSTEM."CATALOG" WHERE TABLE_NAME = 'company1:USERS';