Immersion In Data

AWS

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

sungjunminn 2022. 10. 19. 17:02

실습과정

  • Amazon Redshift 클러스터를 설정하고 S3 데이터를 Amazon Redshift로 로드

 

 

1. Redshift IAM 역할 생성

 

이 단계에서는 Redshift 클러스터를 위한 IAM 역할을 생성한다. 

 

 

  • AWS 서비스 선택
  • 다른 AWS 서비스 사용 사례 : Redshift
  • Redshift - Customizable 선택
  • AmazonS3FullAccess, AWSGlueConsoleFullAccess 권한 추가

 

 

 

  • 역할 이름 : Analyticsworkshop_RedshiftRole
  • 2단계 권한추가에 전에 추가한 정책 확인

 

 

2. Redshift 클러스터 생성

 

이 단계에서는 2노드 Redshift 클러스터를 생성하여 작은 스타 스키마 데이터베이스를 생성한다. 

 

 

 

  • 클러스터 식별자 : redshift-cluster-1
  • 이 클러스터를 어떤 용도로 사용할 계획입니까? : 프로덕션
  • 노드 유형 : dc2.large
  • 노드 수 : 2

 

 

  • 데이터베이스 구성 설정
  • 관리자 사용자 이름 : admin
  • 관리자 사용자 암호 설정 

 

 

  • 연결된 IAM 역할 설정
  • Analyticsworkshop_RedshiftRole 연결 

 

 

클러스터가 가동되고 Modyfies →Available 상태가 되면 다음 단계로 이동(5분 정도 소요)

 

 

 

3. Redshift 내 데이터 적재를 위한 설정

 

  • 쿼리 편집기를 클릭한다. 

 

 

  • 데이터베이스에 연결을 클릭한다. 

 

 

  • 클러스터 : redshift-cluster-1
  • 데이터베이스 이름 : dev
  • 데이터베이스 사용자 : admin

 

 

4. Redshift 내 테이블 생성 후 S3에서 데이터 불러오기

 

 

CREATE table processed_data (
	uuid varchar(100),
	device_ts varchar(100),
	device_id int, 
  	device_temp int, 
  	track_id varchar(100),
  	activity_type varchar(100),
  	track_name varchar(100),
  	artist_name varchar(100),
 	track_id2 int
);

 

위 쿼리를 통해 테이블 생성

 

 

copy processed_data
from 's3://sj-analytics-workshop-bucket/data/processed-data/'
iam_role
'arn:aws:iam::931463879539:role/Analyticsworkshop_RedshiftRole'
format as parquet
;
SELECT * FROM processed_data limit 100;

 

copy 명령어를 통해 S3에서 데이터 불러오기