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를 생성한다.
- 엔드포인트 이름 : analyticsworkshopEndpoint1
- IAM Role : 이전에 정의한 AnalyticsworkshopGlueRole
- Security configuration.. parameters 확장 : Data processing units (DPUs)을 2로 설정(비용 절감)
- Networking : S3 데이터 스토어에만 연결
- SSH public key : 기본값
- 앤드포인트 상태가 PROVISIONING에서 READY로 변경되어야 한다. (6-10분 소요)
Glue 개발 엔드포인트용 SageMaker 노트북 (Jupyter) 생성
- 노트북 이름 : AnalyticsworkshopNotebook
- 엔드포인트 이름 : analyticsworkshopEndpoint1
- Create an IAM Role : Workshop(나머지는 빈 값)
- 노트북 생성 상태가 시작하는 중에서 준비 중으로 변경될 때까지 대기(4-5분 소요)
Jupyter 노트북 실행
이 파일을 로컬로 다운로드하고 저장하고, 노트북 콘솔로 이동한다.
- aws-glue-AnalyticsworkshopNotebook 클릭 후 열기 버튼 클릭
- 다운로드한 파일 Upload 후 해당 파일 열기
- 해당 파일 이해하고 내용 실행 (하단의 yourname-analytics-workshop-bucket는 적절한 경로로 변경 필요)
확인 - 가공/변경된 S3 데이터
ETL 스크립트가 성공적으로 실행되면 콘솔로 이동
- yourname-analytics-workshop-bucket > data 폴더로 이동
- parquet 파일들이 존재하는지 확인
마무리
데이터를 변환했으므로 Amazon Athena를 사용하여 데이터를 쿼리 할 수 있다. Glue 또는 Amazon EMR을 사용하여 데이터를 추가로 변환/집계할 수도 있다.
다음 포스팅은 현재 포스팅과 똑같은 ETL 과정이지만 새로운 그래픽 인터페이스인 AWS Glue Studio를 활용하여 진행할 것이다.
댓글