Qu'est-ce que le streaming et pourquoi est-ce important ?

Streaming de données avec AWS Kinesis et Lambda

Maksim Pecherskiy

Data Engineer

Batch vs stream

chapter1_take_ms_dahkX.png

Streaming de données avec AWS Kinesis et Lambda

Batch vs stream

Lot

  • « Mieux »
  • Jeux de données plus volumineux
  • Analyses plus complexes
  • Données plus lentes
  • Ex. Rapport de ventes quotidien
  • Ex. Prévision des ventes du mois prochain
  • Ex. Prédiction d'attrition

Flux

  • « Plus cool »
  • Analyses simples : agrégation/filtrage
  • Enregistrements individuels / micro-lots
  • Données TRÈS rapides
  • Ex. Détection de fraude
  • Ex. Suivi d'éoliennes
  • Ex. Alertes en temps réel
Streaming de données avec AWS Kinesis et Lambda

Cody et la flotte

Cody

Cody à côté de son vélo

La flotte

un collage de véhicules

Streaming de données avec AWS Kinesis et Lambda

Streaming télématique

chapter1_take_ms_IfvAm.png

chapter1_take_ms_tNX4d.png

chapter1_take_ms_frlCB.png

Streaming de données avec AWS Kinesis et Lambda

AWS Kinesis

Streaming de données avec AWS Kinesis et Lambda

Data Firehose

chapter1_take_ms_UPYak.png

Streaming de données avec AWS Kinesis et Lambda

Flux de livraison

chapter1_take_ms_MDHnC.png

Streaming de données avec AWS Kinesis et Lambda

Flux de livraison

chapter1_take_ms_ytekB.png

Streaming de données avec AWS Kinesis et Lambda

Flux de livraison

chapter1_take_ms_gx6D1.png

Streaming de données avec AWS Kinesis et Lambda

Créer un client 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')
Streaming de données avec AWS Kinesis et Lambda

Travailler avec les flux de livraison

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

print(response['DeliveryStreamNames'])
['old-delivery-stream1', 'a-test-stream']
Streaming de données avec AWS Kinesis et Lambda

Supprimer des flux

# 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)
Streaming de données avec AWS Kinesis et Lambda

Récapitulatif

  • Lot vs flux
  • Cody et collecte télématique
  • AWS Kinesis
  • Flux de livraison Kinesis Firehose
  • AWS Kinesis Data Firehose
  • Lister et supprimer des flux Firehose
  • Producteur -> générateur de données
  • Destination -> où vont les données
Streaming de données avec AWS Kinesis et Lambda

Passons à la pratique !

Streaming de données avec AWS Kinesis et Lambda

Preparing Video For Download...