매일 업데이트
2022-10-18 14:48 12 min

AWS Glue에 대해 몰랐던 사실

많은 기업들이 관리형 데이터 통합 서비스를 필요로 함에 따라 Amazon Glue의 인기가 높아지고 있습니다.

데이터 원본에서 데이터 웨어하우스로 데이터를 전송하는 ETL 프로세스는 복잡하며, 특히 기업 규모의 데이터에는 구현이 어렵습니다. 이러한 어려움을 해결하기 위해 Amazon은 AWS Glue를 도입했습니다.

ETL 개발자와 데이터 엔지니어는 Glue를 사용하여 ETL 워크플로를 설계, 관리하고 실행합니다.

AWS Glue란 무엇인가?

AWS Glue는 서버리스 데이터 통합 서비스로서, 다양한 소스에서 데이터를 쉽게 검색, 준비, 이동 및 통합할 수 있도록 지원합니다. 이는 머신 러닝(ML) 및 데이터 분석에 매우 유용합니다.

데이터 분석 준비 시간을 크게 단축시키며, 자동으로 데이터를 검색 및 목록화하고, 소스에서 데이터를 전송하기 위한 Python 또는 Scala 코드를 생성합니다. 또한 시간 기반 이벤트에 따라 작업을 로드 및 변환할 수 있습니다.

AWS Glue는 Apache Spark 환경을 제공하여 유연한 일정 관리를 가능하게 하며, 대상 데이터 로드에 맞춰 확장할 수 있습니다. 또한 복잡한 데이터 스트림의 모니터링 및 변경을 지원하며, 애플리케이션 개발의 복잡한 부분을 간소화하는 서버리스 서비스입니다.

이를 통해 여러 유효한 데이터를 신속하게 통합하고, 데이터를 빠르게 분해하고 검증할 수 있습니다.

AWS Glue는 어떤 용도로 사용되는가?

Amazon Glue를 가장 효과적으로 활용할 수 있는 상황을 파악하는 것이 중요합니다. 고려해야 할 몇 가지 활용 예시는 다음과 같습니다.

  • Glue는 Amazon S3 데이터 레이크에서 서버리스 쿼리를 실행하는 데 효과적인 도구입니다. 단일 인터페이스에서 모든 데이터에 접근하여 이동 없이도 데이터를 분석할 수 있습니다.
  • Amazon Glue는 데이터 자산을 이해하는 데 도움이 됩니다. 데이터 카탈로그를 활용하여 다양한 AWS 데이터 세트를 간편하게 검색할 수 있으며, 여러 AWS 서비스에 걸쳐 데이터를 저장하고 일관된 뷰를 유지할 수 있습니다.
  • Glue는 이벤트 기반 ETL 워크플로를 구축하는 데 매우 유용합니다. AWS Lambda 서비스를 통해 Glue ETL 작업을 호출하여 Amazon S3에서 ETL 작업을 실행할 수 있습니다.
  • AWS Glue는 데이터 레이크 또는 웨어하우스에 저장할 데이터를 정리, 확인, 형식 지정 및 구성하는 데도 사용할 수 있습니다.

AWS Glue의 구성 요소는 무엇인가?

AWS Glue의 주요 구성 요소는 다음과 같습니다.

  • 데이터 카탈로그: 데이터 구조와 메타데이터를 포함합니다.
  • 데이터베이스: 소스 및 대상 데이터베이스에 액세스하고 생성하는 데 사용되는 키입니다.
  • 테이블: 데이터베이스 내에서 소스와 대상 모두에서 사용할 수 있는 하나 이상의 테이블을 생성합니다.
  • 크롤러 및 분류기: 크롤러는 내장 또는 사용자 정의 분류를 사용하여 소스에서 데이터를 검색하고, 데이터 카탈로그에 미리 정의된 메타데이터 테이블을 생성하거나 사용합니다.
  • 작업: ETL 작업을 수행하는 비즈니스 로직으로, Python 또는 Scala 언어를 사용하여 Apache Spark에서 내부적으로 작성됩니다.
  • 트리거: ETL 작업 실행을 요청 시 또는 특정 시간에 시작하는 장치입니다.
  • 개발 엔드포인트: ETL 작업 스크립트를 테스트, 개발 및 디버깅할 수 있는 환경을 제공합니다.

AWS Glue의 이점

AWS Glue를 직장이나 조직 내에서 사용할 때 얻을 수 있는 이점은 다음과 같습니다.

  • AWS Glue는 크롤러를 통해 사용 가능한 모든 데이터를 스캔합니다.
  • 최종 처리된 데이터는 Amazon RDS, Amazon Redshift, Amazon S3 등 다양한 위치에 저장할 수 있습니다.
  • 클라우드 기반 서비스이므로 온프레미스 인프라에 투자할 필요가 없습니다.
  • 서버리스 ETL이므로 비용 효율적인 선택입니다.
  • 빠르게 Python/Scala ETL 코드를 제공합니다.

AWS Glue의 주요 기능은 무엇인가?

Amazon Glue는 데이터 통합에 필요한 모든 기능을 제공하여 더 나은 통찰력을 얻고, 지식을 활용하여 단 몇 분 만에 새로운 발전을 이룰 수 있도록 돕습니다. 알아야 할 주요 기능은 다음과 같습니다.

  • 끌어서 놓기 인터페이스: 끌어서 놓기 작업 편집기를 사용하여 ETL 프로세스를 만들 수 있으며, AWS Glue는 데이터 추출, 변환 및 로드에 필요한 코드를 즉시 생성합니다.
  • 자동 스키마 검색: Glue 서비스를 사용하여 다양한 데이터 소스에 연결하는 크롤러를 생성할 수 있으며, 데이터를 구성하고 관련 정보를 추출합니다. 이러한 데이터는 ETL 작업별로 ETL 프로세스를 모니터링하는 데 활용됩니다.
  • 작업 예약: Glue는 요청 시 또는 예약된 일정에 따라 사용할 수 있습니다. 스케줄러를 사용하여 복잡한 ETL 파이프라인을 구축하고 작업 간의 종속성을 설정할 수 있습니다.
  • 코드 생성: Glue Elastic Views를 사용하면 고유한 코드를 작성하지 않고도 여러 데이터 소스의 데이터를 결합하고 복제하는 구체화된 뷰를 쉽게 생성할 수 있습니다.
  • 내장된 머신 러닝: Glue에는 "FindMatches"라는 머신 러닝 기능이 내장되어 있어, 서로 완벽하게 일치하지 않는 레코드를 중복 제거합니다.
  • 개발자 엔드포인트: ETL 코드를 적극적으로 개발하려는 경우, Glue는 생성된 코드를 수정, 디버그 및 테스트할 수 있는 개발자 엔드포인트를 제공합니다.
  • Glue DataBrew: 데이터 분석가와 데이터 과학자가 데이터를 정리하고 정규화하는 데 사용하는 데이터 준비 도구입니다. 활성 시각적 인터페이스를 제공합니다.

AWS Glue 요금은 어떻게 책정되는가?

AWS Glue는 시간당 요금이 부과되며, 크롤러(데이터 검색) 및 ETL 작업(데이터 처리 및 로드)에 대해 초 단위로 청구됩니다. AWS Glue 데이터 카탈로그의 메타데이터에 접근하고 저장하는 데에는 월별 요금이 적용됩니다.

Amazon Glue는 $0.44부터 시작하며, 다음 네 가지 플랜 중에서 선택할 수 있습니다.

  • ETL 작업, 개발 엔드포인트 및 기타 ETL 작업은 $0.44에 이용 가능합니다.
  • 크롤러 대화형 세션은 $0.44에 이용 가능합니다.
  • DataBrew 작업은 $0.48부터 시작합니다.
  • 데이터 카탈로그에 대한 월별 스토리지 및 요청 비용은 $1.00입니다.

AWS는 무료 Glue 플랜을 제공하지 않습니다. 시간당 비용은 DPU당 $0.44이며, 평균적으로 하루에 $21의 비용이 발생합니다. 가격은 거주 지역에 따라 다를 수 있습니다.

AWS Glue 설정 단계

데이터 카탈로그를 사용하면 데이터를 이동하지 않고도 여러 AWS 데이터 세트를 빠르게 찾고 검색할 수 있습니다. 데이터가 카탈로그화되면 Amazon Athena 및 Amazon EMR을 사용하여 쿼리 및 검색에 즉시 사용할 수 있습니다.

참조: https://aws.amazon.com/glue/

  • Amazon Redshift, Amazon S3, Amazon RDS 및 Amazon EC2의 데이터베이스 – 데이터 검색, 메타데이터 저장, AWS Glue 데이터 카탈로그를 사용하여 검색
  • AWS Glue 데이터 카탈로그 – 메타데이터의 중앙 저장소 역할을 하는 데이터 카탈로그로 데이터 관리
  • AWS Glue ETL – 데이터 카탈로그에 대한 메타데이터 읽기 및 쓰기
  • Amazon Athena 및 Amazon Redshift, Amazon EMR, Amazon ETL – ETL, 분석 등에 대한 데이터 카탈로그 가져오기

AWS Glue를 설정하는 방법

먼저 AWS Management Console에 로그인하고 IAM 콘솔을 엽니다. 역할 만들기를 클릭합니다. 그런 다음 역할 유형으로 Glue를 찾고 권한을 선택합니다.

일반 AWS Glue Studio 및 AWS Glue 권한에는 AWSGlueServiceRole을 선택하고, Amazon S3 리소스에 액세스하려면 AWS 관리형 정책 AmazonS3FullAccess를 선택합니다.

역할 이름을 입력합니다.

역할 만들기를 클릭합니다.

Amazon S3 버킷을 생성합니다.

S3 버킷 내부에 폴더를 생성합니다.

업로드할 파일을 선택합니다.

마지막으로 버킷에 파일을 업로드합니다.

그런 다음 AWS 관리 콘솔에서 AWS Glue를 열고 데이터베이스를 생성합니다.

이제 AWS Glue에 데이터베이스가 있으므로 크롤러를 생성합니다.

데이터 원본에서 생성한 S3 버킷을 선택합니다.

그런 다음 처음에 생성한 AWS Glue에 대한 IaM 역할을 선택합니다.

마지막으로 출력에서 생성한 gluedb를 선택합니다.

모든 설정을 검토하고 크롤러를 만듭니다.

크롤러가 생성되면 선택하고 실행을 클릭합니다. 잠시 후 상태가 준비됩니다.

크롤러를 실행하면 데이터베이스는 CSV 파일의 모든 데이터가 포함된 테이블을 가져옵니다.

데이터 보기를 클릭하면 Amazon Athena(쿼리 편집기)로 이동합니다. 쿼리를 실행하면 테이블 데이터를 볼 수 있습니다.

이제 모든 ETL 작업에서 이 AWS Glue 크롤러를 성공적으로 사용할 수 있습니다.

AWS Glue DataBrew란 무엇인가?

AWS Glue DataBrew를 사용하면 코드를 작성하지 않고도 데이터를 정규화하고 정리할 수 있습니다. DataBrew는 맞춤형 개발 데이터 준비에 비해 기계 학습 및 분석을 위한 데이터 준비 시간을 최대 80%까지 줄일 수 있습니다.

이상치 필터링, 잘못된 값 수정, 데이터를 표준 형식으로 변환과 같은 데이터 준비 작업을 자동화하는 데 사용할 수 있는 250개 이상의 미리 만들어진 데이터 변환 기능이 있습니다.

DataBrew를 통해 데이터 과학자, 비즈니스 분석가 및 엔지니어는 원시 데이터에서 더 쉽게 협업하고 통찰력을 추출할 수 있습니다. DataBrew는 서버리스이므로 테라바이트 규모의 원시 데이터를 탐색하고 변환하기 위해 인프라를 관리하거나 클러스터를 만들 필요가 없습니다.

기업용 DataBrew 기능

시각화된 데이터 준비

DataBrew는 일반적으로 열 데이터베이스에서 영숫자로 표시되는 데이터를 시각적으로 표현하는 또 다른 방법입니다. DataBrew는 로드된 모든 데이터 소스를 시각화하여 데이터 관계와 계층 구조를 이해하는 데 도움을 줍니다.

250개 이상의 데이터 준비 자동화

데이터 과학자는 업무 중 반복적이고 고립된 다양한 워크플로를 수행해야 합니다. 이러한 워크플로 및 프로세스는 AWS에서 언어와 데이터에 제약 없이 모듈화된 형태로 모델링되었습니다. 이 라이브러리에는 최종 사용자가 사용할 수 있는 작업이 포함되어 있습니다.

데이터 계보

IT 네트워크에서 고객 활동을 추적하는 데 사용되는 감사 로그와 유사하게, 데이터 계보를 통해 AWS DataBrew 내에서 데이터 변환 활동을 추적할 수 있습니다. 이 정보에는 데이터 소스, 적용된 변환 및 대상 위치를 포함한 데이터 출력이 포함됩니다.

데이터 매핑

DataBrew를 사용하면 두 데이터 소스에서 일치하는 필드를 찾을 수 있으며, 일치하는 필드가 식별되면 스키마에 로드할 수 있습니다.

AWS Glue DataBrew: 이점

AWS Glue DataBrew의 주요 기능은 다음과 같습니다.

  • 데이터 준비의 진입 장벽을 낮춥니다.
  • 자동화된 데이터 프로필을 생성합니다.
  • 250개 이상의 데이터 준비 프로세스를 자동화합니다.
  • 지능형 처방을 제안합니다.

AWS Glue의 대안

Airflow

Airflow는 기술 스택의 워크플로 관리자 섹션에 속하는 오픈 소스 도구입니다. GitHub 스타, GitHub 포크 및 기타 기능을 지원합니다. Airflow를 사용하면 방향성 비순환 그래프(DAG)를 사용하여 워크플로를 만들 수 있습니다. Airflow 스케줄러는 작업자 어레이를 사용하고 지정된 종속성에 따라 작업을 실행합니다.

Matillion

ETL/ELT 도구인 Matillion ETL은 Amazon Redshift 및 Google BigQuery와 같은 클라우드 데이터베이스 플랫폼을 위해 특별히 설계되었습니다. 강력한 푸시다운 ETL/ELT 기능을 갖춘 최신 브라우저 기반 UI를 제공하며, 빠른 설정으로 몇 분 안에 작동시킬 수 있습니다.

Stitch

Stitch는 여러 데이터 소스를 연결하고 선호하는 대상에 데이터를 복제하는 오픈 소스 ETL 서비스입니다. Stitch에서 소스와 대상 간에 데이터를 이동하는 데 코딩 지식이 필요하지 않아 사용하기 매우 쉽습니다. 사용자 친화적인 GUI를 제공하며 빠릅니다.

Stitch에서는 다른 ETL 도구와 달리 미리 만들어진 대시보드를 선택할 수 없습니다. 대신 대상 데이터 웨어하우스에 데이터를 통합해야 합니다. 인벤토리 탐색이 다소 어려울 수 있습니다.

Alteryx

Alteryx는 데이터 수집, 준비 및 혼합을 지원하는 분석 자동화 플랫폼입니다. 이 데이터를 사용하여 프로세스 속도를 높이고 비즈니스 통찰력을 얻을 수 있습니다. 끌어서 놓기 도구이므로 프로그래밍 지식이 필요하지 않습니다. Alteryx는 업계 전문가의 조언과 답변을 얻을 수 있는 좋은 곳입니다.

결론

AWS Glue는 ETL 파이프라인을 구축하고 운영할 수 있는 클라우드 기반 솔루션입니다. 요약하자면 AWS Glue 사용자 상호 작용 프로세스는 세 단계로 구성됩니다. 먼저 데이터 크롤러를 사용하여 데이터 카탈로그를 생성하고, AWS 데이터 파이프라인에 필요한 ETL 코드를 생성한 후, 마지막으로 ETL 일정을 만듭니다. 이 글이 Amazon Glue에 대한 좋은 개요가 되었기를 바랍니다.

AWS S3 스토리지를 보호하기 위한 최고의 팁도 살펴볼 수 있습니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.