쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS Glue에서 AWS Glue Data Catalog 뷰 작업

포커스 모드
AWS Glue에서 AWS Glue Data Catalog 뷰 작업 - AWS Glue

AWS Glue Data Catalog에서 일반적으로 AWS Glue Data Catalog 뷰라고 하는 뷰를 생성 및 관리할 수 있습니다. 이러한 뷰는 여러 SQL 쿼리 엔진을 지원하므로 Amazon Athena, Amazon Redshift 및 AWS Glue와 같은 다양한 AWS 서비스에서 동일한 뷰에 액세스할 수 있어 유용합니다. Apache Iceberg, Apache Hudi 및 Delta Lake를 기반으로 뷰를 사용할 수 있습니다.

Data Catalog에서 뷰를 생성하면 AWS Lake Formation에서 리소스 권한 부여 및 태그 기반 액세스 제어를 사용하여 이에 대한 액세스 권한을 부여할 수 있습니다. 이 액세스 제어 방법을 사용하면 뷰를 생성할 때 참조한 테이블에 대한 추가 액세스를 구성하지 않아도 됩니다. 이러한 권한 부여 방법을 정의자 시맨틱이라고 하며 이러한 보기를 정의자 보기라고 합니다. AWS Lake Formation에서의 액세스 제어에 대한 자세한 내용은 AWS Lake Formation 개발자 안내서의 Data Catalog 리소스에서 권한 부여 및 취소를 참조하세요.

Data Catalog 보기는 다음 사용 사례에 유용합니다.

  • 세분화된 액세스 제어 - 사용자에게 필요한 권한에 따라 데이터 액세스를 제한하는 뷰를 생성할 수 있습니다. 예를 들어 데이터 카탈로그의 뷰를 사용하여 인사 관리(HR) 부서 소속이 아닌 직원은 개인 식별 정보(PII)를 보지 못하게 할 수 있습니다.

  • 완전한 뷰 정의 - Data Catalog의 뷰에 필터를 적용하여 뷰의 데이터 레코드가 항상 완전한지 확인합니다.

  • 보안 강화 - 뷰를 생성하는 데 사용되는 쿼리 정의가 완전해야 하므로 Data Catalog 뷰가 악의적인 공격자의 SQL 명령에 덜 취약합니다.

  • 간단한 데이터 공유 - AWS Lake Formation에서 교차 계정 데이터 공유를 사용하여 데이터를 이동하지 않고 다른 AWS 계정과 데이터를 공유합니다.

Data Catalog 뷰 생성

Spark SQL을 사용하는 AWS CLI 및 AWS Glue ETL 스크립트를 사용하여 Data Catalog 뷰를 생성할 수 있습니다. Data Catalog 뷰를 생성하는 구문에는 뷰 유형을 MULTI DIALECT로 지정하고 SECURITY 조건자를 DEFINER로 지정하여 정의자 뷰를 나타내는 작업이 포함됩니다.

Data Catalog 뷰를 생성하는 SQL 문 예시:

CREATE PROTECTED MULTI DIALECT VIEW database_name.catalog_view SECURITY DEFINER AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY order_date;

Data Catalog 뷰를 생성한 후 뷰에 대한 AWS Lake Formation `SELECT` 권한이 있는 IAM 역할을 사용하여 Amazon Athena, Amazon Redshift 또는 AWS Glue ETL 작업과 같은 서비스에서 쿼리할 수 있습니다. 뷰에서 참조된 기본 테이블에 대한 액세스 권한을 부여하지 않아도 됩니다.

Data Catalog 뷰 생성 및 구성에 대한 자세한 내용은 AWS Lake Formation 개발자 안내서의 AWS Glue Data Catalog 뷰 빌드를 참조하세요.

지원되는 뷰 작업

다음 명령 조각은 Data Catalog 뷰를 사용하는 다양한 방법을 보여줍니다.

CREATE VIEW

Data Catalog 뷰를 생성합니다. 다음은 기존 테이블에서 뷰를 생성하는 방법을 보여주는 샘플입니다.

CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT * FROM my_catalog.my_database.source_table

ALTER VIEW

사용 가능한 구문:

ALTER VIEW view_name [FORCE] ADD DIALECT AS query ALTER VIEW view_name [FORCE] UPDATE DIALECT AS query ALTER VIEW view_name DROP DIALECT

FORCE ADD DIALECT 옵션을 사용하여 새 엔진 언어에 따라 스키마 및 하위 객체를 강제 업데이트할 수 있습니다. FORCE를 사용하여 다른 엔진 언어를 업데이트하지 않아도 이로 인해 쿼리 오류가 발생할 수 있습니다. 다음은 샘플을 보여줍니다.

ALTER VIEW catalog_view FORCE ADD DIALECTAS SELECT order_date, sum(totalprice) AS priceFROM source_tableGROUP BY orderdate;

다음은 언어를 업데이트하기 위해 뷰를 변경하는 방법을 보여줍니다.

ALTER VIEW catalog_view UPDATE DIALECT AS SELECT count(*) FROM my_catalog.my_database.source_table;

DESCRIBE VIEW

뷰를 설명하는 데 사용할 수 있는 구문:

SHOW COLUMNS {FROM|IN} view_name [{FROM|IN} database_name] - 사용자에게 뷰를 설명하는 데 필요한 AWS Glue 및 AWS Lake Formation 권한이 있는 경우 권한으로 열이 나열될 수 있습니다. 다음은 열을 표시하기 위한 몇 가지 샘플 명령입니다.

SHOW COLUMNS FROM my_database.source_table; SHOW COLUMNS IN my_database.source_table;

DESCRIBE view_name - 사용자에게 뷰를 설명하는 데 필요한 AWS Glue 및 AWS Lake Formation 권한이 있는 경우 권한으로 메타데이터와 함께 뷰의 열이 나열될 수 있습니다.

DROP VIEW

사용 가능한 구문:

DROP VIEW [ IF EXISTS ] view_name

다음 샘플은 삭제 전에 뷰가 존재하는지 테스트하는 DROP 문을 보여줍니다.

DROP VIEW IF EXISTS catalog_view;

SHOW CREATE VIEW view_name - 지정된 뷰를 생성하는 SQL 문을 보여줍니다. 다음은 Data Catalog 뷰 생성을 보여주는 샘플입니다.

SHOW CREATE TABLE my_database.catalog_view;CREATE PROTECTED MULTI DIALECT VIEW my_catalog.my_database.catalog_view ( net_profit, customer_id, item_id, sold_date) TBLPROPERTIES ( 'transient_lastDdlTime' = '1736267222') SECURITY DEFINER AS SELECT * FROM my_database.store_sales_partitioned_lf WHERE customer_id IN (SELECT customer_id from source_table limit 10)

SHOW VIEWS

일반 뷰, 다중 언어 뷰(MDV) 및 Spark 언어가 없는 MDV와 같은 카탈로그의 모든 뷰를 나열합니다. 사용 가능한 구문은 다음과 같습니다.

SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]:

다음은 뷰를 표시하는 샘플 명령입니다.

SHOW VIEWS IN marketing_analytics LIKE 'catalog_view*';

Data Catalog 뷰 생성 및 구성에 대한 자세한 내용은 AWS Lake Formation 개발자 안내서의 AWS Glue Data Catalog 뷰 빌드를 참조하세요.

Data Catalog 뷰 쿼리

Data Catalog 보기를 생성한 후 뷰를 쿼리할 수 있습니다. AWS Glue 작업에 구성된 IAM 역할에는 Data Catalog 뷰에 대한 Lake Formation SELECT 권한이 있어야 합니다. 뷰에서 참조된 기본 테이블에 대한 액세스 권한을 부여하지 않아도 됩니다.

모든 설정을 마치면 보기를 쿼리할 수 있습니다. 예를 들어 다음 쿼리를 실행하여 뷰에 액세스할 수 있습니다.

SELECT * from my_database.catalog_view LIMIT 10;

제한 사항

Data Catalog 보기를 사용하는 경우 다음 제한 사항을 고려합니다.

  • AWS Glue 5.0 이상에서만 Data Catalog 뷰를 생성할 수 있습니다.

  • Data Catalog 뷰 정의자는 뷰에서 액세스하는 기본 테이블에 대해 SELECT 액세스 권한이 있어야 합니다. 특정 기본 테이블의 정의자 역할에 Lake Formation 필터가 적용된 경우 Data Catalog 뷰 생성에 실패합니다.

  • 기본 테이블에는 AWS Lake Formation의 IAMAllowedPrincipals 데이터 레이크 권한이 없어야 합니다. 이 권한이 있는 경우 다중 언어 뷰는 IAMAllowedPrincipals 권한이 없는 테이블만 참조라는 오류가 발생할 수 있습니다.

  • 테이블의 Amazon S3 위치를 AWS Lake Formation 데이터 레이크 위치로 등록해야 합니다. 테이블이 등록되지 않은 경우 Multi Dialect views may only reference AWS Lake Formation managed tables 오류가 발생합니다. AWS Lake Formation에 Amazon S3 위치를 등록하는 자세한 방법은 AWS Lake Formation 개발자 안내서에서 Amazon S3 위치 등록을 참조하세요.

  • PROTECTED Data Catalog 보기만 생성할 수 있습니다. UNPROTECTED 보기는 지원되지 않습니다.

  • Data Catalog 뷰 정의의 다른 AWS 계정에 있는 테이블을 참조할 수 없습니다. 또한 별도의 리전에 있는 동일한 계정의 테이블을 참조할 수 없습니다.

  • 계정 또는 리전 간에 데이터를 공유하려면 AWS Lake Formation 리소스 링크를 사용하여 전체 뷰를 계정 및 리전 간에 공유해야 합니다.

  • 사용자 정의 함수(UDF)는 지원되지 않습니다.

  • Data Catalog 보기는 다른 보기를 참조할 수 없습니다.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.