

# 외부 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/ko_kr/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/ko_kr/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 workbench](https://www.sql-workbench.eu/index.html)와 같은 SQL 편집기에서 연결 문자열의 기본 데이터 원본 이름을 지정할 수 있습니다.

**참고**  
최신 Athena JDBC 드라이버를 다운로드하려면 [Athena와 함께 JDBC 드라이버 사용](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/ko_kr/athena/latest/ug/images/datastores-hive-default-catalog-jdbc-1.jpg)
