AWS Glue란?
AWS Glue는 완전 관리형 ETL(추출, 변환, 로드) 서비스로, 효율적인 비용으로 간단하게 여러 데이터 스토어 간에 원하는 데이터를 분류, 정리, 보강, 이동합니다.
AWS Glue를 사용하여 데이터 웨어하우스를 구축하여 데이터 포맷을 조직하고 정리하고 인증합니다.
AWS 클라우드 데이터를 데이터 스토어로 변환하고 이동할 수 있습니다.
AWS Glue는 데이터 웨어하우스를 구축할 때 많은 작업을 단순화합니다.
-
중앙 카탈로그의 데이터 스토어에 대한 메타데이터를 발견하고 분류합니다. 클릭스트림 혹은 프로세스 로그와 같이 반정형 데이터를 실행할 수 있습니다.
-
예약된 크롤러 프로그램의 테이블 정의로 AWS Glue 데이터 카탈로그를 채웁니다. 크롤러는 분류자 로직을 호출하여 데이터의 스키마, 포맷 및 데이터 유형을 유추합니다. 메타데이터는 AWS Glue 데이터 카탈로그에 테이블로 저장되고 ETL 작업 절차의 권한 부여에 사용됩니다.
-
ETL 스크립트를 소스에서 대상으로 생성하여 데이터를 변환, 평면화 및 보강합니다.
-
선호에 따라 스키마 변화를 감지하고 적용합니다.
-
일정 또는 이벤트를 기반으로 ETL 작업 트리거합니다. 작업을 자동적으로 시작하여 데이터를 데이터 웨어하우스로 이동합니다. 트리거는 작업간 종속성 흐름을 생성하는 데 사용될 수 있습니다.
-
실행 시간 지표를 모아서 데이터 웨어하우스의 활동을 모니터링합니다.
-
자동으로 오류 및 재시도를 처리합니다.
-
필요한 만큼 확장하여 작업을 실행합니다.
AWS Glue는 Amazon Simple Storage Service(Amazon S3) 데이터를 분류하여 Amazon Athena 및 Amazon Redshift Spectrum에서 쿼리할 수 있도록 만듭니다. 크롤러로 메타데이터를 기본 데이터와 동기화된 채로 남아있습니다. Athena와 Redshift Spectrum는 AWS Glue 데이터 카탈로그 데이터 카탈로그를 사용하여 Amazon S3 데이터 레이크를 직접 쿼리할 수 있습니다. AWS Glue의 경우, 하나의 통합된 인터페이스를 통해 데이터를 다양한 데이터 사일로로 로딩할 필요 없이 데이터를 액세스하고 분석할 수 있습니다.
AWS Glue 용어
AWS Glue는 몇 가지 구성품에 의존하여 데이터 웨어하우스 워크플로를 생성하고 관리합니다.
AWS Glue 데이터 카탈로그
AWS Glue의 영구적 메타데이터 스토어입니다. 각 AWS 계정마다 AWS Glue 데이터 카탈로그가 하나씩 있습니다. 테이블 정의, 작업 정의 및 기타 관리 정보를 포함하여 AWS Glue 환경을 관리합니다.
분류자
데이터 스키마를 결정합니다. AWS Glue는 CSV, JSON, AVRO, XML 등과 같은 일반 파일 형식에 대한 분류자를 제공합니다. JDBC 연결을 사용한 일반 관계형 데이터베이스 관리 시스템을 위한 분류자를 제공합니다. a grok 패턴을 사용하거나 XML 문서에 행 태그를 지정하여 자체 분류자를 작성할 수 있습니다.
연결
데이터 스토어를 연결하는 데 필요한 속성을 포함합니다.
크롤러
프로그램은 데이터 스토어(스토어 혹은 대상)에 연결하여 분류자의 우선 순위 지정 목록을 통해 데이터의 스키마를 결정한 다음, AWS Glue 데이터 카탈로그에 메타데이터를 생성합니다.
데이터베이스
AWS Glue의 논리 그룹으로 구성된 일단의 연결된 테이블 정의입니다.
데이터 스토어, 데이터 원본, 데이터 대상
데이터 스토어는 데이터를 영구적으로 저장하기 위한 리포지토리입니다. 예를 들면 Amazon S3 버킷과 관계형 데이터베이스가 있습니다. 데이터 원본은 프로세스 또는 변환의 입력값으로 사용되는 데이터 스토어입니다. 데이터 대상은 프로세스 또는 변환에서 쓰기를 수행하는 대상 데이터 스토어입니다.
개발 엔드포인트
AWS Glue 스크립트를 개발하고 테스트하는 데 사용되는 환경입니다.
작업
작업은 ETL 작업을 수행하는 데 필요한 비즈니스 로직입니다. 변환 스크립트, 데이터 원본 및 데이터 대상으로 구성됩니다. 작업은 트리거에 의해 시작되고, 트리거는 예약되거나 이벤트 기반으로 작동할 수 있습니다.
노트북 서버
PySpark 설명문을 실행하기 위해 사용되는 웹 기반 환경입니다. 자세한 내용은 Apache Zeppelin 섹션을 참조하십시오. 노트북 서버를 개발 엔드포인트에 설정하여 AWS Glue 확장을 통해 PySpark 설명문을 실행합니다.
스크립트
소스에서 데이터를 추출하고 데이터를 변환한 다음 대상으로 로드하는 코드입니다. AWS Glue는 PySpark 또는 Scala 스크립트를 생성합니다. PySpark는 Python의 ETL 프로그래밍 언어입니다.
테이블
데이터를 나타내는 메타데이터 정의입니다. 데이터가 Amazon Simple Storage Service(Amazon S3) 파일이든지 Amazon Relational Database Service(Amazon RDS) 테이블, 기타 데이터의 세트이든지, 테이블은 데이터의 스키마를 정의합니다. AWS Glue 데이터 카탈로그의 테이블은 열 이름, 데이터 유형 정의, 베이스 데이터 세트에 대한 기타 메타데이터로 구성됩니다. 데이터의 스키마는 AWS Glue 테이블 정의에 나타납니다. 실제 데이터는 파일 혹은 관계형 데이터베이스 테이블 어디에 있든지 기존 데이터 스토어에 남겨집니다. AWS Glue는 파일과 관계형 데이터베이스 테이블 목록을 AWS Glue 데이터 카탈로그에 작성합니다. ETL 작업을 생성할 경우 소스와 대상로써 사용됩니다.
변환
다른 포맷으로 데이터를 바꾸는 코드 로직.
트리거
ETL 작업 시작. 트리거는 정해진 시간 혹은 이벤트 기반으로 정의할 수 있습니다.
https://www.slideshare.net/awskorea/aws-glue-112394474
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
AWS Glue는 고객이 분석을 위해 손쉽게 데이터를 준비하고 로드할 수 있게 지원하는 완전관리형 ETL(추출, 변환 및 로드) 서비스입니다. AWS 관리 콘솔에서 클릭 몇 번으로 ETL 작업을 생성하고 실행할 수 있습니다. 빅데이터 분석 시 다양한 데이터 소스에 대한 전처리 작업을 …
www.slideshare.net
댓글