我创建了一个 Phoenix View company1:USERS
对于现有的 HBase 表。命名空间是 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 View 吗?
最佳答案
我能够通过从 Phoenix SYSTEM
中删除来实现这一点。表:
DELETE FROM SYSTEM."STATS" WHERE PHYSICAL_NAME = 'company1:USERS';
DELETE FROM SYSTEM."CATALOG" WHERE TABLE_NAME = 'company1:USERS';
关于hbase - 如何在 Phoenix 删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50920835/