À propos du projet

Ce projet propose un pipeline de données clickstream entièrement serverless construit sur des services AWS. Il accepte les événements click en temps réel via Amazon API Gateway, les achemine dans Kinesis Data Streams pour l'ingestion, transforme et partitionne les données au format Parquet via Kinesis Firehose, et les stocke toutes dans S3 en tant que data lake. AWS Glue catalogue le schéma tandis qu'Athena permet des requêtes SQL ad hoc. Une Lambda planifiée via EventBridge effectue la réparation automatique des partitions. Le dépôt inclut l'Infrastructure as Code utilisant AWS SAM et CloudFormation pour des déploiements répétables et contrôlés par version. Les charges utiles entrantes utilisent un format JSONL encodé en Base64 avec deviceId comme clé de partition Kinesis. Les données transformées sont stockées avec un partitionnement par année/mois/jour et une compression Snappy pour des requêtes optimisées en termes de coût. Les considérations de production sont largement documentées, couvrant l'optimisation du débit d'ingestion, la compression côté client, la gestion de l'évolution du schéma, la surveillance avec CloudWatch, les modèles de sécurité et les alternatives à la réparation des partitions par lot pour les scénarios en temps réel. Les données originales proviennent d'un jeu de données clickstream Kaggle.