

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在外部 Hive 中繼存放區查詢中，省略目錄名稱
<a name="datastores-hive-default-catalog"></a>

當您在外部 Hive 中繼存放區上執行 DML 和 DDL 查詢時，可以藉由省略目錄名稱 (如果查詢編輯器中已選取該名稱) 來簡化查詢語法。此功能有某些限制。

## DML 陳述式
<a name="datastores-hive-default-catalog-dml-statements"></a>

**使用已註冊的目錄執行查詢**

1. 您可以在資料庫使用語法 `[[data_source_name].database_name].table_name` 之前放置資料來源，如下列範例所示。

   ```
   select * from  "hms-catalog-1".hms_tpch.customer limit 10;
   ```

1. 如果您想要使用的資料來源已在查詢編輯器中選取，則可以省略查詢中的名稱，如下列範例所示。

   ```
   select * from hms_tpch.customer limit 10:
   ```  
![\[使用預設資料來源的 DML 查詢。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/datastores-hive-default-catalog-2.png)

1. 當您在查詢中使用多個資料來源時，只能省略預設資料來源名稱，並且必須為任何非預設資料來源指定完整名稱。

   例如，假設已在查詢編輯器中選取 `AwsDataCatalog` 作為預設資料來源。下列查詢摘錄中的 `FROM`陳述式完全符合前兩個資料來源名稱的資格，但會省略第三個資料來源的名稱，因為它位於 AWS Glue 資料目錄中。

   ```
   ...
   FROM ehms01.hms_tpch.customer,
            "hms-catalog-1".hms_tpch.orders,
            hms_tpch.lineitem
   ...
   ```

## DDL 陳述式
<a name="datastores-hive-default-catalog-ddl-statements"></a>

下列 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` 陳述式成立，即便查詢本身省略了 `hms-catalog-1` 字首和 `hms_tpch` 資料庫名稱。

![\[使用預設目錄的 DDL 陳述式。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/datastores-hive-default-catalog-4.png)


## 在 JDBC 連接字串中指定預設資料來源
<a name="datastores-hive-default-catalog-jdbc"></a>

當使用 Athena JDBC 驅動程式將 Athena 連接到外部 Hive 中繼存放區時，您可以使用 `Catalog` 參數在 SQL 編輯器 (例如 [SQL Workbench](https://www.sql-workbench.eu/index.html)) 中的連接字串中指定預設資料來源名稱。

**注意**  
如需下載最新的 Athena JDBC 驅動程式，請參閱[透過 JDBC 驅動程式使用 Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html)。

下列連接字串指定預設資料來源 *hms-catalog-name*。

```
    jdbc:awsathena://AwsRegion=us-east-1;S3OutputLocation=s3://amzn-s3-demo-bucket/lambda/results/;Workgroup=AmazonAthenaPreviewFunctionality;Catalog=hms-catalog-name;
```

下圖即為在 SQL Workbench 中設定的 JDBC 連接 URL 範例。

![\[在 SQL Workbench 中設定 JDBC 連接 URL。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/datastores-hive-default-catalog-jdbc-1.jpg)
