AWS Glue의 블루프린트 개요 - AWS Glue

AWS Glue의 블루프린트 개요

AWS Glue 블루프린트는 AWS Glue 워크플로를 생성하고 공유하는 방법을 제공합니다. 유사한 사용 사례에 사용할 수 있는 복잡한 ETL 프로세스가 있는 경우 각 사용 사례에 대한 AWS Glue 워크플로를 생성하는 대신 단일 블루프린트를 생성할 수 있습니다.

블루프린트는 워크플로에 포함할 작업 및 크롤러를 지정하고 워크플로 사용자가 블루프린트를 실행하여 워크플로를 생성할 때 제공하는 파라미터를 지정합니다. 파라미터를 사용하면 단일 블루프린트에서 유사한 다양한 사용 사례에 대한 워크플로를 생성할 수 있습니다. 워크플로에 대한 자세한 내용은 AWS Glue의 워크플로 개요 섹션을 참조하세요.

다음은 블루프린트의 사용 사례 예입니다.

  • 기존 데이터 집합을 분할하려고 합니다. 블루프린트의 입력 파라미터는 Amazon Simple Storage Service(Amazon S3) 소스 및 대상 경로와 파티션 열 목록입니다.

  • Amazon DynamoDB 테이블의 스냅샷을 Amazon Redshift와 같은 SQL 데이터 스토어로 생성하려고 합니다. 블루프린트에 대한 입력 파라미터는 DynamoDB 테이블 이름과 Amazon Redshift 클러스터 및 대상 데이터베이스를 지정하는 AWS Glue 연결입니다.

  • 여러 Amazon S3 경로의 CSV 데이터를 Parquet로 변환하려고 합니다. AWS Glue 워크플로에 각 경로에 대해 별도의 크롤러와 작업을 포함하려고 합니다. 입력 파라미터는 AWS Glue Data Catalog의 대상 데이터베이스와 쉼표로 구분된 Amazon S3 경로 목록입니다. 이 경우 워크플로가 생성하는 크롤러 및 작업의 수는 가변적입니다.

블루프린트 구성 요소

블루프린트는 다음과 같은 구성 요소를 포함하는 ZIP 아카이브 파일입니다.

  • Python 레이아웃 생성기 스크립트

    워크플로 레이아웃, 즉 워크플로에 대해 생성할 크롤러 및 작업, 작업 및 크롤러 속성, 작업과 크롤러 간의 종속성을 지정하는 함수를 포함합니다. 이 함수는 블루프린트 파라미터를 허용하고 AWS Glue가 워크플로를 생성하는 데 사용하는 워크플로 구조(JSON 객체)를 반환합니다. Python 스크립트를 사용하여 워크플로를 생성하기 때문에 사용 사례에 적합한 고유한 논리를 추가할 수 있습니다.

  • 구성 파일

    워크플로 레이아웃을 생성하는 Python 함수의 정규화된 이름을 지정합니다. 또한 스크립트에서 사용하는 모든 블루프린트 파라미터의 이름, 데이터 유형 및 기타 속성을 지정합니다.

  • (선택 사항) ETL 스크립트 및 지원 파일

    고급 사용 사례로 작업에서 사용하는 ETL 스크립트의 위치를 파라미터화할 수 있습니다. ZIP 아카이브에 작업 스크립트 파일을 포함하고 스크립트를 복사할 Amazon S3 위치에 대한 블루프린트 파라미터를 지정할 수 있습니다. 레이아웃 생성기 스크립트는 ETL 스크립트를 지정된 위치에 복사하고 해당 위치를 작업 스크립트 위치 속성으로 지정할 수 있습니다. 스크립트에서 처리하는 경우 라이브러리 또는 기타 지원 파일을 포함할 수도 있습니다.


   Blueprint라는 레이블이 붙은 상자에는 2개의 작은 상자가 있습니다. 그 중 하나에는 Python Script라는 레이블이 붙었고 다른 하나에는 Config File이라는 레이블이 붙었습니다.
블루프린트 실행

블루프린트에서 워크플로를 생성하는 경우 AWS Glue가 블루프린트를 실행하여 워크플로와 워크플로가 캡슐화하는 작업, 크롤러, 트리거를 생성하는 비동기 프로세스를 시작합니다. AWS Glue는 블루프린트 실행을 사용하여 워크플로 및 해당 구성 요소의 생성을 오케스트레이션합니다. 블루프린트 실행 상태를 확인하여 생성 프로세스의 상태를 봅니다. 블루프린트 실행에는 블루프린트 파라미터에 대해 제공한 값도 저장됩니다.


   Blueprint run이라는 레이블이 붙은 상자에는 Workflow 및 Parameter Values라는 아이콘이 있습니다.

AWS Glue 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 블루프린트 실행을 볼 수 있습니다. 워크플로를 보거나 문제를 해결할 때 언제든지 블루프린트 실행으로 돌아가 워크플로를 생성하는 데 사용된 블루프린트 파라미터 값을 볼 수 있습니다.

블루프린트의 수명 주기

블루프린트는 AWS Glue로 개발, 테스트, 등록되고 워크플로를 생성하기 위해 실행됩니다. 일반적으로 블루프린트 수명 주기에는 세 가지 페르소나가 포함됩니다.

페르소나 작업
AWS Glue 개발자
  • 워크플로 레이아웃 스크립트를 작성하고 구성 파일을 생성합니다.

  • AWS Glue 서비스에서 제공하는 라이브러리를 사용하여 로컬에서 블루프린트를 테스트합니다.

  • 스크립트, 구성 파일 및 지원 파일의 ZIP 아카이브를 생성하고 아카이브를 Amazon S3의 위치에 게시합니다.

  • AWS Glue 관리자의 AWS 계정에 버킷 객체에 대한 읽기 권한을 부여하는 버킷 정책을 Amazon S3 버킷에 추가합니다.

  • Amazon S3의 ZIP 아카이브에 대한 IAM 읽기 권한을 AWS Glue 관리자에게 부여합니다.

AWS Glue 관리자
  • 블루프린트를 AWS Glue에 등록합니다. AWS Glue에서 ZIP 아카이브의 복사본을 예약된 Amazon S3 위치에 만듭니다.

  • 데이터 분석가에게 블루프린트에 대한 IAM 권한을 부여합니다.

데이터 분석가
  • 블루프린트를 실행하여 워크플로를 생성하고 블루프린트 파라미터 값을 제공합니다. 블루프린트 실행 상태를 확인하여 워크플로 및 워크플로 구성 요소가 성공적으로 생성되었는지 확인합니다.

  • 워크플로를 실행하고 문제를 해결합니다. 워크플로를 실행하기 전에 AWS Glue 콘솔에서 워크플로 설계 그래프를 보고 워크플로를 확인할 수 있습니다.