Immersion In Data

AWS

AWS기반 데이터 분석 파이프라인 구축[4]

sungjunminn 2022. 10. 7. 14:14

실습과정

  • AWS Glue ETL을 사용하여 데이터를 처리하고, 그 결과를 다시 S3에 저장
  • Glue 개발 엔드포인트와 SageMaker 노트북을 사용하여 데이터 변환 단계 진행(PySpark)

 

 

AWS Glue dev endpoint : AWS Glue 스크립트를 개발하고 테스트할 수 있는 환경 (엔드포인트가 데이터 스토어에 엑세스한 후 개발 엔드포인트에 연결하는 노트북을 생성. 노트북을 사용하여 ETL 스크립트를 작성하고 테스트할 수 있다.)

AWS SageMaker : Jupyter notebook과 동일한 환경 제공

 

1. AWS Glue Dev Endpoint 생성

PySpark를 사용하여 Glue ETL 스크립트를 대화식으로 개발하기 위해 Glue 개발 엔드포인트를 생성한다. 

(AWS Glue - 데이터 카탈로그 - ETL - 개발 엔드포인트)

 

 

  • 개발 엔드포인트 이름 : analyticsworkshopEndpoint1
  • IAM 역할 : AnalyticsworkshopGlueRole
  • Data processing units(DPUs) : 2 (실습시 비용 절감)

 

 

  • 네트워킹 : Default
  • ssh public key : Default

 

 

Glue 개발 엔드포인트를 생성하면 가동되는데 몇 분이 소요된다. 

위 처럼 PROVISIONING 상태에서 아래와 같은 READY 상태로 변경된다. 

READY 상태로 바뀔 때까지 잠시 기다려주자. 

 

 

2. Glue endpoint용 SageMaker노트북 생성

SageMaker노트북을 생성한다. 

(AWS Glue - 데이터 카탈로그 - ETL - 노트북(legacy)

 

 

 

노트북 이름 : AnalyticsworkshopNotebook

개발 엔드포인트 : analyticsworkshopEndpoint1

IAM 역할 : IAM 역할 생성을 선택하여 권한 생성

 

 

노트북을 생성하는 데에는 몇 분(4~5분)이 소요된다. 시작하는 중 상태에서 준비 상태로 변경이 될 때까지 기다려준다. 

 

 

 

3. Jupyter 노트북 실행

 

생성한 노트북을 실행하기 전에 analytics-workshop-notebook.ipynb 을 로컬에 다운받는다. 

노트북을 열고, 위에서 다운받은 파일을 노트북에 업로드한다. 

 

 

업로드된 파일을 클릭 시, 노트북의 오른쪽 상단에 'Sprkmagic (PySpark)'라고 표시되어 있는 것을 확인할 수 있다. 

 

 

중간의 yourname-analytics-workshop-bucket의 경로를 변경해준다. 

 

 

노트북의 내용을 모두 실행해준다. 

 

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

 

버킷/data/processed-data/ 경로에 .parquet 파일이 생성된 것을 확인할 수 있다.