【问题标题】:How to drop a view in Phoenix如何在凤凰城中删除视图
【发布时间】:2018-11-27 23:17:46
【问题描述】:

我为现有的 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 视图吗?

【问题讨论】:

    标签: hbase phoenix


    【解决方案1】:

    我可以通过从 Phoenix SYSTEM 表中删除来实现这一点:

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

    【讨论】:

    • 有什么方法可以更优雅地放下视图吗?从系统表中删除似乎很粗鲁。
    猜你喜欢
    • 2016-05-03
    • 2016-09-09
    • 2015-09-09
    • 1970-01-01
    • 2016-11-03
    • 2016-12-24
    • 2015-09-06
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多