전제조건
- AWS 계정에서 AdminstratorAccess에 대한 액세스 권한이 있어야합니다.
- 이 실습은 us-east-1 리전에서 실행되어야 합니다.
- 이 가이드의 링크에 따라 새 탭에서 여는 것이 가장 좋습니다.
- 최신 브라우저에서 이 실습을 실행하세요.
실습과정 간단 정리
- Raw 데이터 추출,변환,적재
사용되는 서비스명 | 서비스 설명 | 비고 |
Amazon Kinesis Data Firehose | 스트리밍 데이터를 안정적으로 캡처하고 변환하여 데이터 레이크에 전달하는 추출, 변환 로드 서비스 | 스트리밍 데이터란? 고객,애플리케이션,시스템에서 실시간으로 생성되는 데이터 |
Amazon S3 | 클라우드 객체 스토리지 서비스 |
1. S3 버킷 생성하기
데이터를 적재하기 위한 저장소를 만들어 주기 위해 S3 버킷을 생성한다.
버킷 : 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 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]
'Generalist > data engineering' 카테고리의 다른 글
[AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍[3] (0) | 2022.05.28 |
---|---|
[AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍[2] (0) | 2022.05.27 |
[AWS]AWS 기반 데이터분석 파이프라인 구축 - Analytics on AWS 워크숍 [시작] (0) | 2022.05.22 |
ETL vs ELT 초보 데이터 분석가들을 위한 가장 쉬운 설명 (0) | 2022.05.21 |
[구글 빅쿼리] - [구글 코랩] 연동법(google.cloud.bigquery, pandas_gbq) (0) | 2022.05.08 |
댓글