本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在外部 Hive 元存储查询中使用默认目录
在外部 Hive 元存储上运行 DML 和 DDL 查询时,如果在查询编辑器中选择了目录名称,则可以通过省略该名称来简化查询语法。此功能将受到一些限制。
DML 语句
使用已注册目录运行查询
-
您可以使用语法
[[
将目录名称置于数据库之前,如以下示例所示。catalog_name
].database_name
].table_name
select * from "hms-catalog-1".hms_tpch.customer limit 10;
-
在将要使用的目录选定为数据源后,您可以在查询中省略目录名称,如以下示例所示。
select * from hms_tpch.customer limit 10:
-
对于多个目录,您只能省略默认目录名称。指定任何非默认目录的全名。例如,虽然以下查询中的
FROM
语句省略了 AWS Glue 目录的目录名称,但它完全限定了前两个目录名称。... FROM ehms01.hms_tpch.customer, "hms-catalog-1".hms_tpch.orders, hms_tpch.lineitem ...
DDL 语句
以下 Athena DDL 语句支持目录名称前缀。其他 DDL 语句中的目录名称前缀会导致语法错误。
SHOW TABLES [IN [catalog_name.]database_name] ['regular_expression'] SHOW TBLPROPERTIES [[catalog_name.]database_name.]table_name [('property_name')] SHOW COLUMNS IN [[catalog_name.]database_name.]table_name SHOW PARTITIONS [[catalog_name.]database_name.]table_name SHOW CREATE TABLE [[catalog_name.][database_name.]table_name DESCRIBE [EXTENDED | FORMATTED] [[catalog_name.][database_name.]table_name [PARTITION partition_spec] [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )]
与 DML 语句一样,在数据源面板中选择目录和数据库时,可以从查询中省略目录前缀。
在以下示例中,在查询编辑器中选择了数据源和数据库。在从查询中省略 hms-catalog-1
前缀和 hms_tpch
数据库名称时,show create table customer 语句将成功。
