Was ist Streaming und warum ist es wichtig?

Datenstreaming mit AWS Kinesis und Lambda

Maksim Pecherskiy

Data Engineer

Batch vs. Stream

chapter1_take_ms_dahkX.png

Datenstreaming mit AWS Kinesis und Lambda

Batch vs. Stream

Batch

  • „Besser"
  • Größere Datensätze
  • Komplexere Analysen
  • Langsamere Daten
  • Bsp. Tagesumsatzbericht
  • Bsp. Prognose für nächsten Monat
  • Bsp. Churn-Vorhersage

Stream

  • „Cooler"
  • Einfache Analysen: Aggregation/Filter
  • Einzelne Records/Micro-Batches
  • Daten bewegen sich SCHNELL
  • Bsp. Betrugserkennung
  • Bsp. Windturbinen überwachen
  • Bsp. Echtzeit-Alerts
Datenstreaming mit AWS Kinesis und Lambda

Cody und die Flotte

Cody

Cody neben ihrem Fahrrad

Die Flotte

eine Collage von Fahrzeugen

Datenstreaming mit AWS Kinesis und Lambda

Telematik-Streaming

chapter1_take_ms_IfvAm.png

chapter1_take_ms_tNX4d.png

chapter1_take_ms_frlCB.png

Datenstreaming mit AWS Kinesis und Lambda

AWS Kinesis

Datenstreaming mit AWS Kinesis und Lambda

Data Firehose

chapter1_take_ms_UPYak.png

Datenstreaming mit AWS Kinesis und Lambda

Delivery Streams

chapter1_take_ms_MDHnC.png

Datenstreaming mit AWS Kinesis und Lambda

Delivery Streams

chapter1_take_ms_ytekB.png

Datenstreaming mit AWS Kinesis und Lambda

Delivery Streams

chapter1_take_ms_gx6D1.png

Datenstreaming mit AWS Kinesis und Lambda

Firehose-Client erstellen

import boto3

firehose = boto3.client('firehose',
aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET,
region_name='us-east-1')
Datenstreaming mit AWS Kinesis und Lambda

Mit Delivery Streams arbeiten

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

print(response['DeliveryStreamNames'])
['old-delivery-stream1', 'a-test-stream']
Datenstreaming mit AWS Kinesis und Lambda

Streams löschen

# 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)
Datenstreaming mit AWS Kinesis und Lambda

Rückblick

  • Batch vs. Stream
  • Cody und Telematik-Erfassung
  • AWS Kinesis
  • Kinesis Firehose Delivery Streams
  • AWS Kinesis Data Firehose
  • Firehose-Delivery-Streams auflisten und löschen
  • Producer -> Datengenerator
  • Destination -> Ziel der Daten
Datenstreaming mit AWS Kinesis und Lambda

Lass uns üben!

Datenstreaming mit AWS Kinesis und Lambda

Preparing Video For Download...