ATCHAHOUE

DESTIN

0%

Retour aux projets
Automatisation2024

DataStream

Pipeline de traitement de données massives automatisant l'ingestion, la transformation, la validation et le chargement de 2TB+ de données quotidiennes avec réconciliation automatique.

Client

Institution financière

Stack

PythonApache AirflowSparkPostgreSQLAWS S3

Fonctionnalités

2TB+/jour
ETL automatisé
Réconciliation
Alertes anomalies

Infos

CatégorieAutomation
Année2024
Écrans5
Technologies5
Maquettes
5 écrans

Les noms de domaine affichés sont purement illustratifs. Par souci de confidentialité, les vrais domaines des projets ne peuvent être divulgués.

01Dashboard
desktop
datastream.io/dashboard

ETL Dashboard

PIPELINES ACTIFS

9/12

RECORDS/SEC

24.5K

DONNÉES TRAITÉES

1.2 TB

aujourd'hui

LATENCE MOYENNE

340ms

ERREURS

0.02%

taux d'erreur

Débit — 24h

00:0006:0012:0018:00Maintenant

Sources de données

PostgreSQL — Production
8.2K/s
Kafka — Events
12.1K/s
S3 — Data Lake
3.4K/s
MongoDB — Logs
890/s
REST API — CRM
45/s

Pipelines actifs

Voir tous →

user-events-to-warehouse

Kafka
BigQuery
12.1K/s120msRunning

pg-replication-analytics

PostgreSQL
Redshift
8.2K/s340msRunning3 erreurs

logs-aggregation

MongoDB
Elasticsearch
890/s85msRunning

crm-sync-daily

REST API
PostgreSQL
45/s1.2sDegraded12 erreurs

s3-data-lake-etl

S3
Snowflake
3.4K/s520msRunning

realtime-fraud-detect

Kafka
Redis + PG
5.8K/s45msRunning
02Pipeline détail
desktop
datastream.io/pipelines/user-events

Pipelines › user-events-to-warehouse

user-events-to-warehouse

Kafka → Transform → BigQuery • Créé le 15/01/2025

RUNNING

FLUX DE DONNÉES

SOURCE

Kafka

user-events topic

12.1K/s

EXTRACT

JSON Parse

Schéma Avro

12.1K/s

TRANSFORM

Enrichment

User lookup + Geo

11.8K/s

TRANSFORM

Filter

Remove bots + test

9.4K/s

TRANSFORM

Aggregate

Window 5min

1.9K/s

LOAD

BigQuery

analytics.user_events

1.9K/s

CONFIGURATION

# pipeline.yaml

name: user-events-to-warehouse

source:

type: kafka

brokers: [kafka-01:9092, kafka-02:9092]

topic: user-events

group_id: datastream-etl

format: avro

 

transforms:

- type: enrich

lookup: postgres://users_db

fields: [user_name, user_country]

- type: filter

condition: is_bot != true

- type: aggregate

window: 5m

group_by: [event_type, country]

 

destination:

type: bigquery

dataset: analytics

table: user_events

write_mode: append

MÉTRIQUES

Records traités
48.2M

aujourd'hui

Débit actuel
12.1K/s

↑ 8% vs hier

Latence P50
85ms

stable

Latence P99
340ms

stable

Records filtrés
22%

bots + test

Erreurs
0

dernières 24h

Backlog
0

à jour

Uptime
99.99%

30 jours

HISTORIQUE D'EXÉCUTION — 7 DERNIERS JOURS

7j ago6j5j4j3j2jHierAuj.

Uptime 99.99% • 3 incidents mineurs (auto-recovered)

03Sources
desktop
datastream.io/sources

Sources & Connecteurs

ToutesBases de donnéesStreamingFichiersAPIs
Database

PostgreSQL — Production

pg-prod-01:5432

app_production

Pipelines3
Débit8.2K/s
Latence12ms
Streaming

Kafka — Events

kafka-cluster:9092

user-events, orders, logs

Pipelines4
Débit12.1K/s
Latence5ms
Object Store

S3 — Data Lake

s3://company-data-lake

raw/, processed/

Pipelines2
Débit3.4K/s
Latence45ms
Database

MongoDB — Logs

mongo-prod:27017

application_logs

Pipelines1
Débit890/s
Latence18ms
API

REST API — CRM

api.salesforce.com

contacts, deals, activities

Pipelines1
Débit45/s
Latence1.2s
Database

MySQL — Legacy

mysql-legacy:3306

old_app_db

Pipelines1
Débit120/s
Latence8ms

CONNECTEURS DISPONIBLES

PostgreSQL

MySQL

MongoDB

Redis

Kafka

RabbitMQ

AWS S3

GCS

Azure Blob

REST API

GraphQL

gRPC

Snowflake

BigQuery

Redshift

Elasticsearch

ClickHouse

DynamoDB

04Transformations
desktop
datastream.io/transforms

Transformations

ÉDITEUR DE TRANSFORMATION — user-events-to-warehouse

INPUT SCHEMA

user_id string

event_type string

timestamp int64

properties map

session_id string

ip_address string

user_agent string

Parse

JSON → Avro

Désérialisation JSON avec schéma Avro v3

7 champs7 champs

Enrich

User Lookup

JOIN avec users_db sur user_id → name, country, tier

7 champs10 champs

Enrich

GeoIP

ip_address → city, region, lat, lng

10 champs14 champs

Filter

Remove Bots

WHERE is_bot(user_agent) = false AND env != 'test'

14 champs14 champs (−22%)

Transform

Compute Fields

event_date = TO_DATE(timestamp), hour = EXTRACT(HOUR)

14 champs16 champs

Aggregate

Window 5min

GROUP BY event_type, country, hour WINDOW(5m)

16 champs5 champs

OUTPUT SCHEMA

event_type string

country string

hour int32

event_count int64

window_end timestamp

APERÇU DES DONNÉES — SORTIE

event_typecountryhourevent_countwindow_end
page_viewFR142,8472025-02-07T14:05:00Z
clickFR141,2342025-02-07T14:05:00Z
purchaseUS14892025-02-07T14:05:00Z
signupDE14422025-02-07T14:05:00Z
page_viewUS144,1022025-02-07T14:05:00Z
05Monitoring
desktop
datastream.io/monitoring

Monitoring

Période: 24h ▾Pipeline: Tous ▾

SANTÉ GLOBALE

98.5%

Bon

ALERTES ACTIVES

1

CRM dégradé

RECORDS PERDUS

0

24h

CONSUMER LAG

12K

Normal

Throughput (records/sec)

-24h-12h-6hMaintenant

Latence (ms) — P50 / P99

-24h-12h-6hMaintenant

Alertes récentes

14:15WARN

crm-sync-daily: Latence élevée (1.2s > seuil 500ms)

Acknowledger
14:10WARN

crm-sync-daily: 12 erreurs HTTP 429 (rate limited)

Acknowledger
08:30INFO

pg-replication-analytics: 3 erreurs de schéma (auto-corrigées)

02:15INFO

s3-data-lake-etl: Batch terminé — 2.4M records

Hier 22:00WARN

realtime-fraud-detect: Consumer lag > 50K (résolu en 4min)

Dead Letter Queue (DLQ)

15 messages en attente
DATEPIPELINEERREURMESSAGEACTION
14:12crm-syncHTTP 429{"contact_id": "C-48921", "action": "update"}Retry
14:10crm-syncHTTP 429{"contact_id": "C-48920", "action": "create"}Retry
08:28pg-replSchema{"id": 891234, "new_field": "unexpected"}Inspect
Projet suivantCloudWeave