본문 바로가기
AWS

[AWS] AWS 기반 데이터 파이프라인 구축하기 [3] - Analytics on AWS(AWS Glue dev endpoint, AWS Sagemaker)

by 천뿌니 2022. 8. 25.
728x90

실습 과정

  • AWS Glue ETL을 사용하여 데이터를 처리하고 결과를 다시 S3에 저장
  • Glue Dev Endpoint와 Sagemaker 노트북을 사용하여 데이터 변환 단계를 진행(pySpark)

사용되는 서비스 서비스 설명 비고
AWS Glue Dev Endpoint AWS Glue 스크립트를 개발하고 테스트할 수 있는 환경 엔드포인트가 데이터 스토어에 액세스한 후 개발 엔드포인트에 연결하는 노트북을 생성.
노트북을 사용하여 ETL 스크립트
를 작성하고 테스트 가능
AWS Sagemaker jupyter notebook과 동일한 환경이나 aws 클라우드 플랫폼  

 

 

Glue 개발 엔드포인트 생성

PySpark를 사용하여 Glue ETL 스크립트를 대화식으로 개발하기 위해 AWS Glue Dev Endpoint를 생성한다.

엔드포인트 추가
엔드포인트 설정
네트워킹
PROVISIONING -> READY

  • 엔드포인트 이름 : analyticsworkshopEndpoint1
  • IAM Role : 이전에 정의한 AnalyticsworkshopGlueRole
  • Security configuration.. parameters 확장 : Data processing units (DPUs)을 2로 설정(비용 절감)
  • Networking : S3 데이터 스토어에만 연결
  • SSH public key : 기본값
  • 앤드포인트 상태가 PROVISIONING에서 READY로 변경되어야 한다. (6-10분 소요)

 

 

Glue 개발 엔드포인트용 SageMaker 노트북 (Jupyter) 생성

SageMaker 노트북 이동

노트북 생성
노트북 구성
상태 : 시작하는 중 -> 준비 중

  • 노트북 이름 : AnalyticsworkshopNotebook
  • 엔드포인트 이름 : analyticsworkshopEndpoint1
  • Create an IAM Role : Workshop(나머지는 빈 값)
  • 노트북 생성 상태가 시작하는 중에서 준비 중으로 변경될 때까지 대기(4-5분 소요)

 

Jupyter 노트북 실행

파일을 로컬로 다운로드하고 저장하고, 노트북 콘솔로 이동한다.

해당 노트북을 클릭 후 열기
다운받은 파일 Upload
해당 파일 열기

  • aws-glue-AnalyticsworkshopNotebook 클릭 후 열기 버튼 클릭
  • 다운로드한 파일 Upload 후 해당 파일 열기
  • 해당 파일 이해하고 내용 실행 (하단의 yourname-analytics-workshop-bucket는 적절한 경로로 변경 필요)

 

 

확인 - 가공/변경된 S3 데이터

ETL 스크립트가 성공적으로 실행되면 콘솔로 이동

  • yourname-analytics-workshop-bucket > data 폴더로 이동
  • parquet 파일들이 존재하는지 확인

4개의 parquet 데이터 존재

 

마무리

데이터를 변환했으므로 Amazon Athena를 사용하여 데이터를 쿼리 할 수 있다. Glue 또는 Amazon EMR을 사용하여 데이터를 추가로 변환/집계할 수도 있다.

다음 포스팅은 현재 포스팅과 똑같은 ETL 과정이지만 새로운 그래픽 인터페이스인 AWS Glue Studio를 활용하여 진행할 것이다.

댓글