¿Qué es el streaming y por qué importa?

Streaming de datos con AWS Kinesis y Lambda

Maksim Pecherskiy

Data Engineer

Batch vs. stream

chapter1_take_ms_dahkX.png

Streaming de datos con AWS Kinesis y Lambda

Batch vs. stream

Batch

  • "Mejor"
  • Conjuntos de datos grandes
  • Análisis más complejo
  • Datos más lentos
  • Ej. informe diario de ventas
  • Ej. previsión de ventas del próximo mes
  • Ej. predicción de churn

Stream

  • "Más cool"
  • Análisis simple: agregación/filtrado
  • Registros individuales/micro-batches
  • Datos MUY rápidos
  • Ej. detección de fraude
  • Ej. monitorizar aerogeneradores
  • Ej. alertas en tiempo real
Streaming de datos con AWS Kinesis y Lambda

Cody y la flota

Cody

Cody junto a su bici

La flota

un collage de vehículos

Streaming de datos con AWS Kinesis y Lambda

Streaming telemático

chapter1_take_ms_IfvAm.png

chapter1_take_ms_tNX4d.png

chapter1_take_ms_frlCB.png

Streaming de datos con AWS Kinesis y Lambda

AWS Kinesis

Streaming de datos con AWS Kinesis y Lambda

Data Firehose

chapter1_take_ms_UPYak.png

Streaming de datos con AWS Kinesis y Lambda

Flujos de entrega

chapter1_take_ms_MDHnC.png

Streaming de datos con AWS Kinesis y Lambda

Flujos de entrega

chapter1_take_ms_ytekB.png

Streaming de datos con AWS Kinesis y Lambda

Flujos de entrega

chapter1_take_ms_gx6D1.png

Streaming de datos con AWS Kinesis y Lambda

Crear un cliente de 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 datos con AWS Kinesis y Lambda

Trabajar con flujos de entrega

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

print(response['DeliveryStreamNames'])
['old-delivery-stream1', 'a-test-stream']
Streaming de datos con AWS Kinesis y Lambda

Eliminar flujos

# 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 datos con AWS Kinesis y Lambda

Repaso

  • Batch vs. stream
  • Cody y la recolección telemática
  • AWS Kinesis
  • Flujos de entrega de Kinesis Firehose
  • AWS Kinesis Data Firehose
  • Listar y eliminar flujos de entrega de Firehose
  • Producer -> generador de datos
  • Destination -> destino de los datos
Streaming de datos con AWS Kinesis y Lambda

¡Vamos a practicar!

Streaming de datos con AWS Kinesis y Lambda

Preparing Video For Download...