스트리밍이란 무엇이며 왜 중요할까요?

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

Maksim Pecherskiy

Data Engineer

배치 vs 스트림

chapter1_take_ms_dahkX.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

배치 vs 스트림

배치

  • "더 좋다"
  • 대규모 데이터셋
  • 더 복잡한 분석
  • 데이터 흐름이 느림
  • 예: 일일 매출 보고서
  • 예: 다음 달 매출 예측
  • 예: 이탈 예측

스트림

  • "더 멋지다"
  • 단순한 분석: 집계/필터링
  • 개별 레코드/마이크로 배치
  • 데이터가 매우 빠름
  • 예: 이상 거래 탐지
  • 예: 풍력 터빈 모니터링
  • 예: 실시간 경보
AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

코디와 차량대

코디

자전거 옆의 코디

차량대

차량 모음 콜라주

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

텔레매틱스 스트리밍

chapter1_take_ms_IfvAm.png

chapter1_take_ms_tNX4d.png

chapter1_take_ms_frlCB.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

AWS Kinesis

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

Data Firehose

chapter1_take_ms_UPYak.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

전송 스트림

chapter1_take_ms_MDHnC.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

전송 스트림

chapter1_take_ms_ytekB.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

전송 스트림

chapter1_take_ms_gx6D1.png

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

Firehose 클라이언트 생성

import boto3

firehose = boto3.client('firehose',
aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET,
region_name='us-east-1')
AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

전송 스트림 작업하기

# Show created delivery streams
response = firehose.list_delivery_streams()

print(response['DeliveryStreamNames'])
['old-delivery-stream1', 'a-test-stream']
AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

스트림 삭제

# Show created delivery streams
response = firehose.list_delivery_streams()

# Delete them all! for stream_name in response['DeliveryStreamNames']:
firehose.delete_delivery_stream(DeliveryStreamName=stream_name)
AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

복습

  • 배치 vs 스트림
  • 코디와 텔레매틱스 수집
  • AWS Kinesis
  • Kinesis Firehose 전송 스트림
  • AWS Kinesis Data Firehose
  • Firehose 전송 스트림 나열 및 삭제
  • Producer -> 데이터 생성기
  • Destination -> 데이터 목적지
AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

연습해 봅시다!

AWS Kinesis와 Lambda로 배우는 스트리밍 데이터

Preparing Video For Download...