Q: AWS Glue란 무엇입니까?

AWS Glue는 분석을 위해 데이터를 준비하는 시간 소모적인 단계를 자동화하는 완전관리형 ETL(추출, 변환 및 로드) 서비스로서, 사용량에 따라 요금을 지불합니다. AWS Glue는 Glue 데이터 카탈로그를 통해 데이터를 자동으로 검색 및 프로파일링하고, ETL 코드를 추천 및 생성하여 소스 데이터를 대상 스키마로 변환하고, 완전관리형 스케일 아웃 Apache Spark 환경에서 ETL 작업을 실행하여 데이터를 대상에 로드합니다. 또한, 이를 사용하여 복잡한 데이터 흐름을 설정, 오케스트레이션 및 모니터링할 수 있습니다.

Q: AWS Glue를 시작하려면 어떻게 해야 합니까?

AWS Glue 사용을 시작하려면 AWS Management Console에 로그인하여 [Analytics] 카테고리 아래의 [Glue]로 이동하면 됩니다. AWS Glue의 예제 사용 사례를 설명하는 안내 자습서 중 하나를 따라 하면 됩니다. 또한, AWS Labs 아래의 GitHub 리포지토리에서 샘플 ETL 코드를 확인할 수 있습니다.

Q: AWS Glue의 주요 구성 요소는 무엇입니까?

AWS Glue는 메타데이터 중앙 리포지토리인 데이터 카탈로그, Python 코드를 자동 생성할 수 있는 ETL 엔진, 그리고 종속성 확인, 작업 모니터링 및 재시도를 처리하는 유연한 스케줄러로 구성됩니다. 이러한 구성 요소가 결합되어 데이터의 검색, 분류, 정리, 보강 및 이동과 관련된 획일화된 작업 대부분을 자동화하므로 사용자는 데이터 분석에 더 많은 시간을 할애할 수 있습니다.

Q: AWS Glue는 언제 사용해야 합니까?

AWS Glue는 소유한 데이터의 속성을 검색하고, 데이터를 변환하여 분석용으로 준비하는 데 사용해야 합니다. Glue는 Amazon S3의 데이터 레이크, Amazon Redshift의 데이터 웨어하우스, AWS에서 실행되는 다양한 데이터베이스에 저장된 정형 및 반정형 데이터를 모두 자동으로 검색할 수 있습니다. 또한, ETL에서 사용할 수 있고 Amazon Athena, Amazon EMR 및 Amazon Redshift Spectrum과 같은 서비스에서 쿼리 및 보고하는 데 사용할 수 있는 Glue 데이터 카탈로그를 통해 데이터에 대한 통합된 뷰를 제공합니다. Glue는 ETL 작업을 위한 Python 코드를 자동으로 생성하며, 이미 익숙한 도구를 사용하여 ETL 작업을 추가로 사용자 지정할 수 있습니다. AWS Glue는 서버리스이므로 구성하거나 관리할 컴퓨팅 리소스가 없습니다.

Q: AWS Glue에서 지원하는 데이터 소스에는 어떤 것이 있습니까?

AWS Glue는 기본적으로 Amazon Aurora, Amazon RDS for Oracle, MySQL용 Amazon RDS, PostgreSQL용 Amazon RDS, SQL Server용 Amazon RDS, Amazon Redshift, Amazon S3, 그리고 Amazon EC2에서 실행되는 Virtual Private Cloud(VPC)에 있는 MySQL, Oracle, Microsoft SQL Server 및 PostgreSQL 데이터베이스에 저장된 데이터를 지원합니다. AWS Glue 데이터 카탈로그에 저장된 메타데이터는 Amazon Athena, Amazon EMR 및 Amazon Redshift Spectrum에서 바로 액세스할 수 있습니다. 또한, 사용자 지정 PySpark 코드를 작성하고 Glue ETL 작업에 사용자 지정 라이브러리를 가져와서 AWS Glue에서 기본적으로 지원하지 않는 데이터 소스에 액세스할 수 있습니다. 사용자 지정 라이브러리를 가져오는 방법을 자세히 알아보려면 설명서를 참조하십시오.

맨 위로 이동 »


Q: AWS Glue 데이터 카탈로그란 무엇입니까?

AWS Glue 데이터 카탈로그는 모든 데이터 자산의 정형 및 운영 메타데이터를 저장하는 중앙 리포지토리입니다. 해당 데이터 세트에 대해 테이블 정의와 물리적 위치를 저장하고, 비즈니스 관련 속성을 추가하고, 시간이 지나면서 이 데이터가 어떻게 변경되는지 추적할 수 있습니다.

AWS Glue 데이터 카탈로그는 Apache Hive Metastore와 호환되며, Amazon EMR에서 실행되는 빅 데이터 애플리케이션용 Apache Hive Metastore를 즉시 대체할 수 있습니다. AWS Glue 데이터 카탈로그를 Apache Hive Metastore로 사용하도록 EMR 클러스터를 설정하는 방법을 자세히 알아보려면 여기를 클릭하십시오.

또한, AWS Glue 데이터 카탈로그는 Amazon Athena, Amazon EMR 및 Amazon Redshift Spectrum과 즉시 통합될 수 있습니다. 일단 Glue 데이터 카탈로그에 테이블 정의를 추가하면, 이를 ETL에 사용할 수 있고 Amazon Athena, Amazon EMR 및 Amazon Redshift Spectrum에서 쿼리하는 데 바로 사용할 수 있습니다. 따라서 이러한 서비스 간에 데이터에 대한 공통된 뷰가 제공됩니다.

Q: 내 메타데이터를 AWS Glue 데이터 카탈로그에 추가하려면 어떻게 해야 합니까?

AWS Glue는 메타데이터를 AWS Glue 데이터 카탈로그에 채우는 몇 가지 방법을 제공합니다. Glue 크롤러가 사용자가 소유한 다양한 데이터 스토어를 스캔하고, 스키마와 파티션 구조를 자동으로 추론한 후, 그에 해당하는 테이블 정의 및 통계로 Glue 데이터 카탈로그를 채웁니다. 크롤러가 정기적으로 실행되도록 일정을 예약하여 메타데이터가 항상 최신으로 유지되고 기본 데이터와 동기화되도록 할 수도 있습니다. 아니면 AWS Glue 콘솔을 사용하거나 API를 호출하여 수동으로 테이블 세부 정보를 추가 및 업데이트할 수 있습니다. 또한, Amazon Athena 콘솔을 통해 Hive DDL 문을 실행하거나 Amazon EMR 클러스터에서 Hive 클라이언트를 실행할 수도 있습니다. 마지막으로 이미 영구 Apache Hive Metastore가 있다면, AWS의 가져오기 스크립트를 사용하여 AWS Glue 데이터 카탈로그로 해당 메타데이터를 대량으로 가져오는 작업을 수행할 수 있습니다.

Q: AWS Glue 크롤러란 무엇입니까?

AWS Glue 크롤러는 데이터 스토어에 연결하고, 우선순위가 지정된 분류기 목록을 거치면서 데이터의 스키마 및 통계를 추출한 후, AWS Glue 데이터 카탈로그에 해당 메타데이터를 생성합니다. 크롤러는 주기적으로 실행되어 새로운 데이터의 가용성과 기존 데이터에 대한 변경 사항(데이터 정의 변경 등)을 감지할 수 있습니다. 크롤러는 새로운 테이블, 기존 테이블에 새로운 파티션, 새로운 테이블 정의 버전을 자동으로 추가합니다. 자체 파일 유형을 분류하도록 Glue 크롤러를 사용자 지정할 수 있습니다.

Q: 내 기존 Apache Hive Metastore에서 AWS Glue 데이터 카탈로그로 데이터를 가져오려면 어떻게 해야 합니까?

Apache Hive Metastore에서 읽어오고, 읽어온 데이터를 Amazon S3에 중간 형식으로 내보낸 후, 해당 데이터를 AWS Glue 데이터 카탈로그로 가져오도록 ETL 작업을 실행하면 됩니다.

Q: 내 메타데이터를 AWS Glue 데이터 카탈로그에 저장하는 경우에 내 Apache Hive Metastore를 유지해야 합니까?

아니요. AWS Glue 데이터 카탈로그는 Apache Hive Metastore와 호환됩니다. Glue 데이터 카탈로그 엔드포인트를 가리키도록 하고 이를 Apache Hive Metastore 대신 사용할 수 있습니다. AWS Glue 데이터 카탈로그를 Apache Hive Metastore로 사용하도록 클러스터를 구성하는 방법에 대한 자세한 내용은 여기에서 설명서를 참조하십시오.

Q: 이미 Amazon Athena 또는 Amazon Redshift Spectrum을 사용하고 있고 Amazon Athena의 내부 데이터 카탈로그에 테이블이 있는 경우, AWS Glue 데이터 카탈로그를 내 공통 메타데이터 리포지토리로 사용하기 시작하려면 어떻게 해야 합니까?

AWS Glue 데이터 카탈로그를 Amazon Athena, Amazon Redshift Spectrum 및 AWS Glue 간 공통 메타데이터 리포지토리로 사용하기 시작하려면 먼저 Amazon Athena 데이터 카탈로그를 AWS Glue 데이터 카탈로그로 업그레이드해야 합니다. 업그레이드에 필요한 단계는 여기에 자세히 나와 있습니다.

맨 위로 이동 »


Q: AWS Glue에서 생성한 ETL 코드를 사용자 지정하려면 어떻게 해야 합니까?

AWS Glue의 ETL 스크립트 추천 시스템에서 PySaprk 코드를 생성합니다. 이 시스템은 Glue의 사용자 지정 ETL 라이브러리를 활용하여 데이터 소스에 대한 액세스를 간소화하고 작업 실행을 관리합니다. 라이브러리에 관한 세부 정보는 설명서를 참조하십시오. AWS Glue의 사용자 지정 라이브러리를 사용하여 ETL 코드를 작성하거나, AWS Glue 콘솔 스크립트 편집기의 인라인 편집 기능을 사용하고, 자동 생성된 코드를 다운로드한 후, 자체 IDE에서 편집하여 Python으로 임의 Spark 코드(PySpark 코드)를 작성할 수 있습니다. 또한, Github 리포지토리에 호스팅된 수많은 샘플 중 하나로 시작하여 해당 코드를 사용자 지정할 수도 있습니다.

Q: ETL 스크립트의 일부로 사용자 지정 라이브러리를 가져올 수 있습니까?

예. 사용자 지정 PySpark 라이브러리를 AWS Glue ETL 작업으로 가져올 수 있습니다. 자세한 내용은 여기에서 설명서를 확인하십시오.

Q: 내 자체 코드를 가져올 수 있습니까?

예. AWS Glue의 ETL 라이브러리를 사용하여 자체 코드를 작성하거나, 자체 PySpark 코드를 작성하고 이를 Glue ETL 작업에 업로드할 수 있습니다. 자세한 내용은 여기에서 설명서를 확인하십시오.

Q: 자체 IDE를 사용하여 ETL 코드를 개발하려면 어떻게 해야 합니까?

노트북과 IDE를 연결하는 방법을 제공하는 개발 엔드포인트를 생성하여 연결할 수 있습니다.

Q: AWS Glue에서 여러 개의 작업을 사용하는 엔드 투 엔드 ETL 워크플로를 구축하려면 어떻게 해야 합니까?

ETL 라이브러리 및 코드 생성 외에도 AWS Glue는 여러 개의 작업 간 종속성을 관리하여 엔드 투 엔드 ETL 워크플로를 구축할 수 있게 해주는 강력한 오케스트레이션 기능 세트를 제공합니다. AWS Glue ETL 작업은 일정에 따라 또는 작업 완료 이벤트에 따라 트리거될 수 있습니다. 여러 개의 작업을 병렬로 트리거하거나 작업 완료 이벤트에 따라 순차적으로 트리거할 수 있습니다. 또한, AWS Lambda 함수와 같은 외부 소스에서 하나 이상의 Glue 작업을 트리거할 수도 있습니다.

Q: AWS Glue에서는 종속성을 어떻게 모니터링합니까?

AWS Glue에서는 트리거를 사용하여 2개 이상의 작업 간 종속성 또는 외부 이벤트의 종속성을 관리합니다. 트리거는 하나 이상의 작업을 지켜보고 하나 이상의 작업을 호출할 수 있습니다. 주기적으로 작업을 호출하는 예정된 트리거, 온디맨드 트리거 또는 작업 완료 트리거를 사용할 수 있습니다.

Q: AWS Glue에서는 오류를 어떻게 처리합니까?

AWS Glue는 작업 이벤트 지표와 오류를 모니터링하고 모든 알림을 Amazon CloudWatch로 푸시합니다. Amazon CloudWatch에서는 AWS Glue의 특정 알림에 따라 트리거되는 호스트 작업을 구성할 수 있습니다. 예를 들어 Glue로부터 오류 또는 성공 알림을 수신하면, AWS Lambda 함수가 트리거되도록 할 수 있습니다. 또한, Glue는 기본 재시도 동작을 제공하므로 오류 알림을 전송하기 전에 모든 실패 작업을 3번 재시도하게 됩니다.

Q: AWS Glue로 기존 ETL 작업을 실행할 수 있습니까?

예. AWS Glue에서 기존 PySpark 코드를 실행할 수 있습니다. Amazon S3로 코드를 업로드하고, 해당 코드를 사용하는 작업을 하나 이상 생성하기만 하면 됩니다. 여러 개의 작업에서 같은 코드를 재사용할 수 있습니다. 작업이 Amazon S3에 있는 같은 코드 위치를 가리키도록 하면 됩니다.

Q: AWS Glue를 사용하여 스트리밍 데이터를 ETL할 수 있습니까?

AWS Glue ETL은 배치 지향적 기능입니다. 최소 5분 간격으로 ETL 작업 일정을 예약할 수 있습니다. AWS Glue ETL이 마이크로 배치를 처리할 수 있지만, 스트리밍 데이터를 처리하지 않습니다. 사용 사례에서 데이터를 스트리밍하면서 ETL해야 하는 경우, Amazon Kinesis, Amazon Kinesis Firehose 또는 Amazon Kinesis Analytics를 사용하여 ETL 첫 번째 단계를 수행하고, 데이터를 Amazon S3 또는 Amazon Redshift에 저장하고, Glue ETL 작업을 트리거하여 해당 데이터 세트를 선택하고, 해당 데이터에 대한 추가 변환을 계속 적용합니다.

Q: 이 서비스를 사용하려면 AWS Glue 데이터 카탈로그와 Glue ETL을 모두 사용해야 합니까?

아니요. AWS Glue 데이터 카탈로그와 ETL을 모두 사용하면 엔드 투 엔드 ETL 환경이 제공되지만, 이 중 하나만 독립적으로 사용해도 됩니다.

맨 위로 이동 »


Q: AWS Glue와 AWS Data Pipeline은 각각 언제 사용해야 합니까?

AWS Glue는 서버리스 Apache Spark 환경에서 실행되는 관리형 ETL 서비스를 제공합니다. 따라서 ETL 작업에 집중할 수 있고, 기본 컴퓨팅 리소스를 구성하거나 관리하는 데 신경을 쓸 필요가 없습니다. AWS Glue는 데이터 우선 접근 방식을 취하며 이를 통해 사용자는 데이터 속성과 데이터 조작에 집중하여 비즈니스 통찰력을 도출할 수 있는 형태로 데이터를 변환할 수 있습니다. 통합된 데이터 카탈로그를 제공하므로 메타데이터를 ETL에서뿐만 아니라 Amazon Athena 및 Amazon Redshift Spectrum을 통해 쿼리하는 데도 사용할 수 있습니다.

AWS Data Pipeline은 실행 환경, 코드를 실행하는 컴퓨팅 리소스에 대한 액세스 및 제어, 데이터 처리를 수행하는 코드 자체와 관련하여 탁월한 유연성을 지원하는 관리형 오케스트레이션 서비스를 제공합니다. AWS Data Pipeline은 사용자 계정에서 컴퓨팅 리소스를 시작하므로 Amazon EC2 인스턴스 또는 Amazon EMR 클러스터에 바로 액세스할 수 있습니다.

그뿐만 아니라 AWS Glue ETL 작업은 PySpark를 기반으로 수행됩니다. 사용 사례에 따라 Apache Spark 이외의 엔진을 사용해야 하거나 Hive, Pig 등 다양한 엔진에서 실행되는 이기종 작업 세트를 실행하길 원하는 경우에는 AWS Data Pipeline을 사용하는 것이 좋습니다.

Q: AWS Glue와 Amazon EMR은 각각 언제 사용해야 합니까?

AWS Glue는 Apache Spark 환경에서 작동하므로 데이터 변환 작업을 위한 스케일 아웃 실행 환경을 제공합니다. AWS Glue는 ETL 작업을 추론하고 발전시키고 모니터링하여 작업을 생성 및 유지 관리하는 프로세스를 대폭 간소화합니다. Amazon EMR은 하둡 환경에 대한 직접 액세스를 제공하므로 Spark 이외의 도구를 사용할 수 있는 더 뛰어난 유연성과 더 낮은 수준의 액세스를 지원합니다.

Q: AWS Glue와 AWS Database Migration Service는 각각 언제 사용해야 합니까?

AWS Database Migration Service(DMS)는 데이터베이스를 AWS로 쉽고 안전하게 마이그레이션할 수 있도록 지원합니다. 온프레미스에서 AWS로 데이터베이스를 마이그레이션해야 하거나 온프레미스 소스와 AWS 소스 간 데이터베이스 복제가 필요한 사용 사례의 경우 AWS DMS를 사용하는 것이 좋습니다. 데이터가 AWS에 있으며, AWS Glue를 사용하여 데이터 소스에서 다른 데이터베이스 또는 데이터 웨어하우스(Amazon Redshift 등)로 데이터를 이동하고 변환할 수 있습니다.

Q: AWS Glue와 AWS Batch는 각각 언제 사용해야 합니까?

AWS Batch를 사용하면 작업의 성격과 관계없이 AWS에서 어떤 배치 컴퓨팅 작업이든 쉽고 효율적으로 수행할 수 있습니다. AWS Batch는 AWS 계정에서 컴퓨팅 리소스를 생성 및 관리하므로 사용되는 리소스에 대한 완벽한 제어권 및 가시성을 사용자에게 제공합니다. AWS Glue는 ETL 작업을 실행할 수 있도록 서버리스 Apache Spark 환경을 제공하는 완전관리형 ETL 서비스입니다. ETL 사용 사례의 경우에는 AWS Glue 사용을 검토하는 것이 좋습니다. 일부 ETL 사용 사례를 비롯하여 기타 배치 지향적 사용 사례의 경우에는 AWS Batch를 사용하는 것이 더 적합할 수 있습니다.

Q: AWS Glue와 Amazon Kinesis Analytics는 각각 언제 사용해야 합니까?

Amazon Kinesis Analytics를 사용하면 수신 데이터 스트림에 대해 표준 SQL 쿼리를 실행할 수 있습니다. Amazon S3와 같이 결과를 작성할 대상을 지정할 수 있습니다. 대상 데이터 소스에서 데이터를 사용할 수 있게 되면, AWS Glue ETL 작업을 시작하여 추가 분석 및 보고를 위해 데이터를 추가로 변환하고 준비할 수 있습니다.

맨 위로 이동 »


Q: AWS Glue는 요금이 어떻게 부과됩니까?

AWS Glue 데이터 카탈로그에 저장되어 액세스되는 메타데이터에 대해서는 AWS Glue 데이터 카탈로그 프리 티어를 초과하는 부분에 한해 월별 요금을 지불합니다. 이와 더불어 ETL 작업과 크롤러 실행에 대해서는 초 단위로 청구되는 시간당 요금을 지불하며 건별 기본요금은 10분입니다. 개발 엔드포인트를 사용하여 ETL 코드를 대화식으로 개발하는 경우, 개발 엔드포인트가 프로비저닝된 시간에 대해 초 단위로 청구되는 시간당 요금을 지불하며 기본요금은 10분입니다. 자세한 내용은 요금 페이지를 참조하십시오.

Q: AWS Glue 작업에 대한 청구는 언제 시작되고 언제 종료됩니까?

청구는 작업 실행 일정이 예약되는 대로 시작되고 전체 작업이 완료될 때까지 계속됩니다. AWS Glue에서는 작업이 실행된 시간에 대해서만 비용을 지불하며 환경 프로비저닝이나 가동 중단 시간에 대해서는 지불하지 않습니다.

맨 위로 이동 »


Q: AWS Glue에서 데이터를 안전하게 유지하려면 어떻게 합니까?

AWS에서는 저장 데이터에 대해서 서버 측 암호화를 제공하고 전송 데이터에 대해서는 SSL를 제공합니다.

Q: AWS Glue와 관련된 서비스 한도에는 어떤 것이 있습니까?

서비스 한도에 대한 자세한 내용은 설명서를 참조하십시오.

Q: 어떤 AWS 리전에서 AWS Glue를 사용할 수 있습니까?

AWS Glue는 현재 미국 동부(버지니아 북부), 미국 동부(오하이오) 및 미국 서부(오레곤) 리전에서 사용할 수 있으며 몇 개월 내에 리전을 추가할 예정입니다. 자세한 내용은 요금 페이지를 참조하십시오.

Q: 개발 엔드포인트에는 몇 개의 DPU(데이터 처리 유닛)가 할당되어 있습니까?

개발 엔드포인트에는 기본적으로 5개의 DPU가 프로비저닝됩니다. 최소 2개의 DPU와 최대 5개의 DPU로 개발 엔드포인트를 구성할 수 있습니다.

Q: 내 AWS Glue ETL 작업 규모와 성능을 조정하려면 어떻게 해야 합니까?

ETL 작업에 할당하고자 하는 DPU(데이터 처리 유닛) 수를 지정하기만 하면 됩니다. Glue ETL 작업에는 최소 2개의 DPU가 필요합니다. 기본적으로 AWS Glue는 각 ETL 작업에 10개의 DPU를 할당합니다.

Q: 내 AWS Glue 작업 실행을 모니터링하려면 어떻게 해야 합니까?

AWS Glue는 각 작업 상태를 제공하며 모든 알림을 Amazon CloudWatch 이벤트로 푸시합니다. 작업 실패 또는 완료에 대해 알 수 있도록 CloudWatch 작업을 통해 SNS 알림을 설정할 수 있습니다.

맨 위로 이동 »