

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# DDL 문을 사용하여 데이터 카탈로그 뷰 생성
<a name="create-views"></a>

Athena용 SQL 편집기, Amazon Redshift 및 API/를 사용하여 AWS Glue Data Catalog 뷰를 생성할 수 있습니다AWS CLI. AWS Glue APIs

SQL 편집기를 사용하여 데이터 카탈로그 뷰를 생성하려면 Athena 또는 Redshift Spectrum을 선택하고 `CREATE VIEW` 데이터 정의 언어(DDL) 문을 사용하여 뷰를 생성합니다. 첫 번째 엔진의 언어에서 뷰를 생성한 후 두 번째 엔진의 `ALTER VIEW` DDL 문을 사용하여 추가 언어를 추가할 수 있습니다.

뷰를 정의할 때 다음을 고려하는 것이 중요합니다.
+ **다중 언어 뷰 정의** - 여러 언어로 뷰를 정의할 때 서로 다른 언어의 스키마가 일치해야 합니다. 각 SQL 언어의 구문 사양은 약간 다릅니다. 데이터 카탈로그 뷰를 정의하는 쿼리 구문은 모든 언어에서 유형과 이름을 모두 포함하여 정확히 동일한 열 목록으로 해석되어야 합니다. 이 정보는 뷰의 `StorageDescriptor`에 저장됩니다. 또한 언어는 데이터 카탈로그에서 동일한 기본 테이블 객체를 참조해야 합니다.

  `ALTER VIEW` 문을 사용하여 DDL로 뷰에 다른 언어를 추가할 수 있습니다. `ALTER VIEW` 문이 뷰의 스토리지 설명자 또는 기본 테이블을 수정하는 등 뷰 정의를 업데이트하려고 시도하면 문에 “입력 및 기존 스토리지 설명자 불일치” 오류가 발생합니다. SQL 캐스트 작업을 사용하여 뷰 열 유형이 일치하는지 확인할 수 있습니다.
+ **뷰 업데이트** - `UpdateTable` API를 사용하여 뷰를 업데이트할 수 있습니다. 스토리지 설명자 또는 참조 테이블과 일치시키지 않고 뷰를 업데이트할 경우 `FORCE` 플래그를 제공할 수 있습니다(구문은 엔진 SQL 설명서 참조). 강제 업데이트 후 뷰에 강제 `StorageDescriptor` 및 참조 테이블이 적용됩니다. 추가 `ALTER VIEW` DDL은 수정된 값과 일치해야 합니다. 호환되지 않는 언어를 사용하도록 업데이트된 뷰는 “기한 경과” 상태가 됩니다. 뷰 상태는 Lake Formation 콘솔에서 및 `GetTable` 작업을 사용할 경우 볼 수 있습니다.
+ **varchar 열 유형을 문자열로 참조** - Redshift Spectrum의 varchar 열 유형을 문자열에 캐스팅할 수 없습니다. Redshift Spectrum에서 varchar 열 유형을 사용하여 뷰가 생성되고 후속 언어가 해당 필드를 문자열로 참조하려고 하면 데이터 카탈로그는 `FORCE` 플래그 없이 이를 문자열로 취급합니다.
+ **복합 유형 필드 처리** - Amazon Redshift는 모든 복합 유형을 [SUPER 유형](https://docs.aws.amazon.com/redshift/latest/dg/r_SUPER_type.html)으로 처리하는 반면 Athena는 복합 유형을 지정합니다. 뷰에 `SUPER` 유형 필드가 있고 다른 엔진이 해당 열을 구문(`<street_address:struct<street_number:int, street_name:string, street_type:string>>`)과와 같은 특정 복합 유형으로 참조할 경우 데이터 카탈로그는 필드를 특정 복합 유형으로 가정하고 `Force` 플래그 없이 스토리지 설명자에서 이를 사용합니다.

데이터 카탈로그 뷰 생성 및 관리 구문에 대한 자세한 내용은 다음 섹션을 참조하세요.
+ Amazon Athena 사용 설명서의 [AWS Glue Data Catalog 뷰 사용](https://docs.aws.amazon.com/athena/latest/ug/views-glue.html) 
+ Amazon Athena 사용 설명서의 [Glue 데이터 카탈로그 뷰 쿼리 구문](https://docs.aws.amazon.com/athena/latest/ug/views-glue-ddl.html) 
+ Amazon Redshift 데이터베이스 개발자 안내서의 [AWS Glue Data Catalog에서 뷰 생성](https://docs.aws.amazon.com/redshift/latest/dg/data-catalog-views-overview.html)

  데이터 카탈로그의 뷰와 관련된 SQL 명령에 대한 자세한 내용은 [CREATE EXTERNAL VIEW](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_VIEW.html), [ALTER EXTERNAL VIEW](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_EXTERNAL_VIEW.html), [DROP EXTERNAL VIEW](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_EXTERNAL_VIEW.html)를 참조하세요.

데이터 카탈로그 뷰를 만든 후 Lake Formation 콘솔에서 뷰의 세부 정보를 사용할 수 있습니다.

1. Lake Formation 콘솔의 데이터 카탈로그에서 **뷰**를 선택합니다.

1. 사용 가능한 뷰 목록이 뷰 페이지에 나타납니다.

1. 목록에서 뷰를 선택하면 세부 정보 페이지에 해당 뷰의 속성이 표시됩니다.

![\[하단 섹션에는 가로로 정렬된 다섯 개의 탭이 있으며 각 탭에는 해당 정보가 포함됩니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/view-definition.png)


스키마  
`Column` 행을 선택하고 **LF 태그 편집**을 선택하여 태그 값을 업데이트하거나 새 LF 태그를 할당합니다.

SQL 정의  
사용 가능한 SQL 정의 목록을 참조할 수 있습니다. **SQL 정의 추가**를 선택하고 SQL 정의를 추가할 쿼리 엔진을 선택합니다. `Edit definition` 열에서 쿼리 엔진(Athena 또는 Amazon Redshift)을 선택하여 SQL 정의를 업데이트합니다.

LF 태그  
**LF 태그 편집**을 선택하여 태그 값을 편집하거나 새 태그를 할당합니다. LF 태그를 사용하여 뷰에 대한 권한을 부여할 수 있습니다.

크로스 계정 액세스  
데이터 카탈로그 보기를 공유한 AWS 계정조직 및 조직 단위(OUs) 목록을 볼 수 있습니다.

기본 테이블  
뷰를 만드는 데 사용된 SQL 정의에서 참조되는 기본 테이블이 이 탭에 표시됩니다.