Streaming là gì và vì sao quan trọng?

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Maksim Pecherskiy

Data Engineer

Xử lý theo lô vs theo luồng

chapter1_take_ms_dahkX.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Xử lý theo lô vs theo luồng

Theo lô

  • "Tốt hơn"
  • Tập dữ liệu lớn hơn
  • Phân tích phức tạp hơn
  • Dữ liệu di chuyển chậm hơn
  • Ví dụ: Báo cáo doanh số hằng ngày
  • Ví dụ: Dự báo doanh số tháng sau
  • Ví dụ: Dự đoán rời bỏ

Theo luồng

  • "Ngầu hơn"
  • Phân tích đơn giản: tổng hợp / lọc
  • Bản ghi đơn lẻ / vi lô
  • Dữ liệu DI CHUYỂN NHANH
  • Ví dụ: Phát hiện gian lận
  • Ví dụ: Giám sát tua-bin gió
  • Ví dụ: Cảnh báo thời gian thực
Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Cody và đội xe

Cody

Cody bên cạnh xe đạp

Đội xe

một bộ sưu tập phương tiện

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Streaming telematics

chapter1_take_ms_IfvAm.png

chapter1_take_ms_tNX4d.png

chapter1_take_ms_frlCB.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

AWS Kinesis

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Data Firehose

chapter1_take_ms_UPYak.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Delivery stream

chapter1_take_ms_MDHnC.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Delivery stream

chapter1_take_ms_ytekB.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Delivery stream

chapter1_take_ms_gx6D1.png

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Tạo 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')
Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Làm việc với delivery stream

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

print(response['DeliveryStreamNames'])
['old-delivery-stream1', 'a-test-stream']
Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Xóa stream

# 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)
Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Ôn tập

  • Theo lô vs theo luồng
  • Cody và thu thập telematics
  • AWS Kinesis
  • Kinesis Firehose Delivery Streams
  • AWS Kinesis Data Firehose
  • Liệt kê và xóa delivery stream
  • Producer -> bộ tạo dữ liệu
  • Destination -> nơi dữ liệu đến
Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Ayo berlatih!

Xử lý dữ liệu streaming với AWS Kinesis và Lambda

Preparing Video For Download...