기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ETL프로세스를 in으로 AWS Glue 변환 AWS Schema Conversion Tool
다음에서 ETL 스크립트를 with로 변환하는 프로세스의 개요를 확인할 수 AWS SCT있습니다. AWS Glue 이 예제에서는 원본 데이터베이스 및 데이터 웨어하우스에서 사용되는 ETL 프로세스와 함께 Oracle 데이터베이스를 Amazon Redshift로 변환합니다.
다음 아키텍처 다이어그램은 ETL 스크립트 변환이 포함된 예제 데이터베이스 마이그레이션 프로젝트를 보여줍니다. AWS Glue
사전 조건
시작하기 전에 다음을 수행하십시오.
-
AWS로 마이그레이션하려는 모든 소스 데이터베이스를 마이그레이션합니다.
-
대상 데이터 웨어하우스를 로 마이그레이션합니다 AWS.
-
ETL프로세스와 관련된 모든 코드의 목록을 수집하십시오.
-
각 데이터베이스에 필요한 모든 연결 정보 목록을 수집합니다.
또한 사용자를 대신하여 다른 AWS 리소스에 액세스할 수 있는 권한이 AWS Glue 필요합니다. AWS Identity and Access Management (IAM) 를 사용하여 이러한 권한을 제공합니다. 에 대한 IAM 정책을 생성했는지 확인하세요 AWS Glue. 자세한 내용은 개발자 안내서의 AWS Glueservice IAM 정책 생성을 참조하십시오.AWS Glue
데이터 카탈로그 이해 AWS Glue
변환 프로세스의 일부로 원본 및 대상 데이터베이스와 관련된 정보를 AWS Glue 로드합니다. 이 정보는 트리라는 구조를 통해 범주별로 분류됩니다. 구조에는 다음이 포함됩니다.
-
연결 - 연결 파라미터
-
크롤러 - 크롤러 목록으로, 각 스키마당 하나의 크롤러가 지정됩니다.
-
데이터베이스 - 테이블을 보관하는 컨테이너
-
테이블 - 테이블의 데이터를 나타내는 메타데이터 정의
-
ETL작업 — 작업을 수행하는 비즈니스 로직 ETL
-
트리거 — 작업이 언제 실행되는지 AWS Glue (요청 시, 일정에 따라 또는 ETL 작업 이벤트에 의해 트리거되는지 여부) 를 제어하는 로직
AWS Glue 데이터 카탈로그는 데이터의 위치, 스키마 및 런타임 지표의 인덱스입니다. AWS Glue 및 AWS SCT를 사용하여 작업하는 경우 AWS Glue 데이터 카탈로그에는 에서 ETL AWS Glue작업의 소스 및 대상으로 사용되는 데이터에 대한 참조가 포함됩니다. 데이터 웨어하우스를 생성하려면 이 데이터를 분류해야 합니다.
데이터 카탈로그의 정보를 사용하여 ETL 작업을 만들고 모니터링할 수 있습니다. 일반적으로 크롤러를 실행하여 데이터의 목록을 데이터 스토어로 가져가지만 메타데이터 테이블을 Data Catalog로 추가하는 다른 방법이 있습니다.
데이터 카탈로그에 테이블을 정의할 경우 해당 테이블을 데이터베이스에 추가합니다. 데이터베이스는 테이블을 구성하는 데 사용됩니다 AWS Glue.
변환 시 제한 사항: AWS SCT with 사용 AWS Glue
with를 사용하여 AWS SCT 변환할 때는 다음 제한 사항이 적용됩니다 AWS Glue.
리소스 | 기본 한도 |
각 계정의 데이터베이스 수 | 10,000개 |
각 데이터베이스의 테이블 수 | 100,000건 |
각 테이블의 파티션 수 | 1,000,000 |
각 테이블의 테이블 버전 수 | 100,000건 |
각 계정의 테이블 수 | 1,000,000 |
각 계정의 파티션 수 | 10,000,000 |
각 계정의 테이블 버전 수 | 1,000,000 |
각 계정의 연결 수 | 1,000 |
각 계정의 크롤러 수 | 25 |
각 계정의 작업 수 | 25 |
각 계정의 트리거 수 | 25 |
각 계정의 동시 작업 실행 개수 | 30 |
각 작업의 동시 작업 실행 개수 | 3 |
각 트리거의 작업 수 | 10 |
각 계정의 개발 엔드포인트 수 | 5 |
개발 엔드포인트에서 한 번에 사용하는 최대 데이터 처리 단위 (DPUs) | 5 |
한 역할의 한 번에 최대 DPUs 사용량 | 100 |
데이터베이스 이름 길이 |
무제한 Apache Hive와 같은 다른 메타데이터 스토어의 호환성을 고려해 이름은 소문자를 사용하도록 변경됩니다. Amazon Athena의 데이터베이스에 액세스하려고 할 경우에는 영숫자 문자와 밑줄만 포함된 이름을 제공합니다. |
연결 이름 길이 | 무제한 |
크롤러 이름 길이 | 무제한 |
1단계: 새 프로젝트 생성
새 프로젝트를 생성하려면 다음과 같은 상위 단계를 따릅니다.
-
에서 새 프로젝트를 생성합니다 AWS SCT. 자세한 내용은 에서 프로젝트 시작 및 관리 AWS SCT 단원을 참조하십시오.
-
소스 및 대상 데이터베이스를 프로젝트에 추가합니다. 자세한 내용은 프로젝트에 서버 추가 AWS SCT 단원을 참조하십시오.
대상 데이터베이스 연결 설정에서 AWS Glue사용을 선택했는지 확인합니다. 이 작업을 수행하려면 AWS Glue 탭을 선택합니다. AWS 프로필에서 복사하려면 사용하려는 프로필을 선택합니다. 프로필은 AWS 액세스 키, 비밀 키, Amazon S3 버킷 폴더를 자동으로 채워야 합니다. 자동으로 채워지지 않는 경우에는 이 정보를 직접 입력합니다. 확인을 선택하면 객체를 AWS Glue 분석하고 메타데이터를 AWS Glue 데이터 카탈로그에 로드합니다.
보안 설정에 따라 계정에 서버의 일부 스키마에 대한 충분한 권한이 없다는 경고 메시지가 표시될 수 있습니다. 사용 중인 스키마에 대한 액세스 권한이 있다면 이 메시지를 무시해도 됩니다.
-
가져오기 준비를 마치려면 원본 및 대상 데이터베이스에 연결하세요. ETL 이를 위해서는 소스 또는 대상 메타데이터 트리에서 데이터베이스를 선택한 다음 Connect to the Server를 선택합니다.
AWS Glue ETL변환에 도움이 되도록 원본 데이터베이스 서버와 대상 데이터베이스 서버에 데이터베이스를 하나 만듭니다. 대상 서버의 데이터베이스에는 AWS Glue 데이터 카탈로그가 들어 있습니다. 특정 객체를 찾으려면 소스 또는 대상 패널에서 검색 기능을 사용합니다.
특정 객체가 어떻게 변환되는지 보려면 변환할 항목을 찾은 다음 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴에서 스키마 변환을 선택합니다. AWS SCT 가 선택된 이 개체를 스크립트로 변환합니다.
오른쪽 패널의 스크립트 폴더에서 변환된 스크립트를 검토할 수 있습니다. 현재 스크립트는 AWS SCT 프로젝트의 일부로만 사용할 수 있는 가상 개체입니다.
변환된 스크립트로 AWS Glue 작업을 생성하려면 Amazon S3에 스크립트를 업로드하십시오. Amazon S3에 스크립트를 업로드하려면 해당 스크립트를 선택한 다음 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴에서 Save to S3을 선택합니다.
2단계: AWS Glue 작업 생성
Amazon S3에 스크립트를 저장한 후 스크립트를 선택한 다음 Configure AWS Glue Job을 선택하여 작업을 구성하는 마법사를 열 수 있습니다. AWS Glue 마법사를 사용하면 이 작업을 더 쉽게 설정할 수 있습니다.
-
마법사의 첫 번째 탭인 Design Data Flow에서 이 작업에 포함할 실행 전략과 스크립트 목록을 선택할 수 있습니다. 각 스크립트의 파라미터를 선택할 수 있습니다. 올바른 순서로 실행되도록 스크립트를 재배열할 수도 있습니다.
-
두 번째 탭에서는 작업의 이름을 지정하고 AWS Glue에 대한 설정을 직접 구성할 수 있습니다. 이 화면에서 다음 설정을 구성할 수 있습니다.
-
AWS Identity and Access Management (IAM) 역할
-
스크립트 파일 이름 및 파일 경로
-
Amazon S3 관리 키 (-S3) 를 사용한 서버 측 암호화를 사용하여 스크립트를 암호화합니다. SSE
-
임시 디렉터리
-
생성된 Python 라이브러리 경로
-
사용자 Python 라이브러리 경로
-
종속된 .jar 파일의 경로
-
참조된 파일 경로
-
DPUs각 작업 실행에 대한 동시 실행
-
최대 동시성
-
작업 제한 시간(분)
-
지연 알림 임계값(분)
-
재시도 횟수
-
보안 구성
-
서버 측 암호화
-
-
세 번째 단계 또는 탭에서는 대상 엔드포인트에 대해 구성된 연결을 선택합니다.
작업 구성을 마치면 AWS Glue 데이터 카탈로그의 작업 아래에 해당 ETL 작업이 표시됩니다. 작업을 선택하면 설정이 표시되므로 해당 설정을 검토하거나 편집할 수 있습니다. 에서 AWS Glue새 작업을 생성하려면 해당 작업의 컨텍스트 (마우스 오른쪽 단추 클릭) 메뉴에서 [ AWS Glue Create Job] 을 선택합니다. 이렇게 하면 스키마 정의가 적용됩니다. 디스플레이를 새로 고치려면 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴에서 데이터베이스에서 새로 고침을 선택합니다.
이제 AWS Glue 콘솔에서 작업을 볼 수 있습니다. 이렇게 하려면 에 AWS Management Console 로그인하고 에서 AWS Glue 콘솔을 여십시오 https://console.aws.amazon.com/glue/
새 작업을 테스트하여 제대로 작동하는지 확인할 수 있습니다. 이를 위해서는 먼저 소스 테이블의 데이터를 확인하고 대상 테이블이 비어 있는지 확인합니다. 작업을 실행하고 다시 확인합니다. AWS Glue 콘솔에서 오류 로그를 볼 수 있습니다.