管理语义视图
DROP SEMANTIC VIEW
删除指定的语义视图。
语法:
DROP SEMANTIC VIEW [ IF EXISTS ] <视图名称>;
IF EXISTS
IF EXISTS
可防止视图不存在时报错,建议在脚本中始终加上。
示例:
DROP SEMANTIC VIEW IF EXISTS doc_test.emp_dept_analysis;
ALTER SEMANTIC VIEW
目前仅支持重命名。不支持通过 SQL 动态增减维度、指标或修改注释——如需修改视图结构,需
DROP
DROP
后重建。
语法:
ALTER SEMANTIC VIEW <视图名称> RENAME TO <新名称>;
新名称不能带 schema 前缀,重命名后视图仍在原 schema 下。
示例:
ALTER SEMANTIC VIEW emp_dept_analysis RENAME TO emp_dept_v2;
SHOW SEMANTIC VIEWS
列出指定 schema 下所有语义视图,返回
schema_name
schema_name
和
table_name
table_name
两列。
语法:
SHOW SEMANTIC VIEWS [ IN <架构名> ];
建议始终加
IN <架构名>
IN <架构名>
,不加时返回当前默认 schema 下的视图。
示例:
SHOW SEMANTIC VIEWS IN doc_test;
+-------------+-------------------+
| schema_name | table_name |
+-------------+-------------------+
| doc_test | emp_dept_analysis |
+-------------+-------------------+
也可以通过
information_schema.tables
information_schema.tables
查询,获取更多元数据:
SELECT table_name, comment, create_time, last_modify_time
FROM information_schema.tables
WHERE table_schema = 'doc_test'
AND table_type = 'SEMANTIC_VIEW';
DESC EXTENDED
查看语义视图的完整定义,包括逻辑表结构、主外键关系、维度元数据和指标定义。
注意:
DESC <视图名称>
DESC <视图名称>
(不加
EXTENDED
EXTENDED
)返回空结果,必须加
EXTENDED
EXTENDED
。
语法:
DESC EXTENDED <视图名称>;
示例:
DESC EXTENDED doc_test.emp_dept_analysis;
返回内容包括:
- 视图基本信息:workspace、schema、creator、created_time、last_modified_time、comment
- 逻辑表列表:别名、物理表全名、primary key、foreign key
- 维度列表:名称、表达式、
isUnique
isUnique
、isTime
isTime
、enumValues
enumValues
、注释
- 指标列表:名称、聚合表达式、注释
权限控制
语义视图支持标准的 GRANT/REVOKE 权限管理,但只支持只读权限(
SELECT
SELECT
、
ALL
ALL
),不支持
INSERT
INSERT
、
UPDATE
UPDATE
、
DELETE
DELETE
。
GRANT
-- 授予角色查询权限
GRANT SELECT ON SEMANTIC VIEW doc_test.emp_dept_analysis TO ROLE test_readonly_role;
-- 授予所有权限(等同于 SELECT)
GRANT ALL ON SEMANTIC VIEW doc_test.emp_dept_analysis TO ROLE workspace_dev;
REVOKE
REVOKE SELECT ON SEMANTIC VIEW doc_test.emp_dept_analysis FROM ROLE test_readonly_role;
SHOW GRANTS
查看语义视图上的权限授予情况:
SHOW GRANTS ON SEMANTIC VIEW doc_test.emp_dept_analysis;
返回列:
granted_type
granted_type
、
privilege
privilege
、
granted_on
granted_on
(值为
SEMANTIC_VIEW
SEMANTIC_VIEW
)、
object_name
object_name
、
granted_to
granted_to
、
grantee_name
grantee_name
、
grantor_name
grantor_name
、
grant_option
grant_option
、
granted_time
granted_time
。
命令速查
| 命令 | 说明 |
|---|
DROP SEMANTIC VIEW IF EXISTS
DROP SEMANTIC VIEW IF EXISTS | 删除语义视图 |
ALTER SEMANTIC VIEW ... RENAME TO
ALTER SEMANTIC VIEW ... RENAME TO | 重命名(唯一支持的 ALTER 操作) |
SHOW SEMANTIC VIEWS [ IN schema ]
SHOW SEMANTIC VIEWS [ IN schema ] | 列出语义视图 |
DESC EXTENDED
DESC EXTENDED | 查看完整结构(必须加 EXTENDED) |
GRANT SELECT ON SEMANTIC VIEW
GRANT SELECT ON SEMANTIC VIEW | 授予查询权限 |
REVOKE SELECT ON SEMANTIC VIEW
REVOKE SELECT ON SEMANTIC VIEW | 撤销查询权限 |
SHOW GRANTS ON SEMANTIC VIEW
SHOW GRANTS ON SEMANTIC VIEW | 查看权限 |
相关文档