본문 바로가기
Generalist/data engineering

[AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍 [1]

by 홍원 2022. 5. 24.

전제조건

  • AWS 계정에서 AdminstratorAccess에 대한 액세스 권한이 있어야합니다.
  • 이 실습은 us-east-1 리전에서 실행되어야 합니다.
  • 이 가이드의 링크에 따라 새 탭에서 여는 것이 가장 좋습니다.
  • 최신 브라우저에서 이 실습을 실행하세요.

 실습과정 간단 정리

  • Raw 데이터 추출,변환,적재
사용되는 서비스명 서비스 설명 비고
Amazon Kinesis Data Firehose 스트리밍 데이터를 안정적으로 캡처하고 변환하여 데이터 레이크에 전달하는 추출, 변환 로드 서비스 스트리밍 데이터란?
고객,애플리케이션,시스템에서 실시간으로 생성되는 데이터 
Amazon S3 클라우드 객체 스토리지 서비스  

1. S3 버킷 생성하기

데이터를 적재하기 위한 저장소를 만들어 주기 위해 S3 버킷을 생성한다.

버킷 생성
data 폴더 생성
reference_data 폴더 생성

버킷 : hongwon-analytics-workshop-bucket

내부 폴더 1 : data

내부 폴더 2 : reference_data

------------> 버킷 생성 완료


2. 데이터 적재

reference_data 폴더에 track_list data 다운로드 후 업로드

 

s3->hongwon-analytics-workshop-bucket->data ->reference_data ----->track_list.json 파일 업로드 된 모습


3. kinesis firehose 생성하기

kinesis firehose를 사용하여  ETL 과정 설명

 

kinesis data Firehose 선택 후 전송 스트림 생성

설정

  • 스트림 이름 : analytics-workshop-stream
  • 소스 : Direct PUT - 실시간 데이터가 아니라 직접 소스를 올릴것이기 떄문
  • 목적지: s3/hongwon-analytics-workshop-bucket/data/raw/ - (data폴더 내부 raw 폴더 생성)
  • 참고 : 마지막 폴더 선택 시 '/' 꼭 적어야 함. 그렇지 않을 경우 firehose가 데이터를 원하지 않는 곳에 복사함
  • S3 버퍼 조건 : 1MB , 60초 (저장의 간격을 나타냄)

------>로우 데이터를 저장 할 곳을 만들고, firehose를 사용하여 데이터를 ETL 할 준비를 마침


4. 더미 데이터 생성 

더미 데이터를 생성하기 위해 Kinesis Data Generator 서비스 사용 (지금은 더미데이터 생성기로 이해해두자)

  • 템플릿 지정
  • 스택 세부정보 지정
  • 스택 옵션 구성
  • 검토

단계로 이루어져 있으며 스택 세부정보 지정 단계에서 아이디와 비밀번호만 지정해준 뒤 검토단계까지 진행한다.

검토 단계를 진행 핬다면 amazon kinesis data generator 홈페이지로 연결되고, 이전에 지정한 아이디와 비밀버호로 로그인 한다.

  • 이전 단계의 사용자 이름 및 비밀번호로 로그인
  • 지역: us-east-1
  • 스트림/전송 스트림: analytics-workshop-stream
  • 초당 기록: 2000
  • 레코드 템플릿(템플릿 1): 큰 텍스트 영역 에 다음 json 템플릿을 삽입
{
  "uuid": "{{random.uuid}}",
  "device_ts": "{{date.utc("YYYY-MM-DD HH:mm:ss.SSS")}}",
  "device_id": {{random.number(50)}},
  "device_temp": {{random.weightedArrayElement(
    {"weights":[0.30, 0.30, 0.20, 0.20],"data":[32, 34, 28, 40]}
  )}},
  "track_id": {{random.number(30)}},  
  "activity_type": {{random.weightedArrayElement(
        {
            "weights": [0.1, 0.2, 0.2, 0.3, 0.2],
            "data": ["\"Running\"", "\"Working\"", "\"Walking\"", "\"Traveling\"", "\"Sitting\""]
        }
    )}}
}

과정 진해 후 더미 데이터 생성 중의 화면

약 20000개 정도의 데이터를 생성한다.

 


5. 데이터가 s3에 도착했는지 확인

버킷-data-raw 폴더를 연 뒤 데이터가 도착했는지 확인


현재 과정 되짚어보기

s3 버킷을 생성한 뒤 reference_data 폴더에 track_list 데이터, data 폴더에 더미 데이터를 적재함

 


다음편 보러가기

2022.05.27 - [Specialist/AWS] - [AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍[2]

 

[AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍[2]

전제조건 [AWS] AWS 기반 데이터 파이프라인 구축 - Analytics on AWS 워크숍[1] 실습과정 간단 정리 s3에 저장된 데이터를 크롤러의 도움을 받아서 글루 데이터 카탈로그에 등록 서비스명 서비스 설명

khw742002.tistory.com

 

댓글