在Impala中如何区分表与视图?如何仅列出数据库视图?
仅列出Impala数据库视图的几种方法
1. 查询元数据系统表
直接查询Impala内置的元数据表,通过table_type字段精准筛选视图:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'impaladb' AND table_type = 'VIEW';
这条语句会直接返回指定数据库下的所有视图名称。
2. 用SHOW CREATE TABLE判断单个对象类型
针对某个具体对象,执行SHOW CREATE TABLE语句,从返回结果的关键字区分类型:
- 结果包含
CREATE VIEW→ 该对象是视图 - 结果为
CREATE TABLE→ 该对象是普通表
示例(查询视图的输出):
CREATE VIEW impaladb.shantanu_view_6test AS SELECT id, name FROM impaladb.6test;
3. 直接使用SHOW VIEWS语句(需Impala 2.3及以上版本)
如果你的Impala版本在2.3及以上,支持直接用SHOW VIEWS语句列出视图:
SHOW VIEWS IN impaladb;
内容的提问来源于stack exchange,提问作者Shantanu Mapari
相关产品推荐
相关产品推荐

