这个项目能做什么

本项目提供了一个完整的无服务器点击流数据管道,基于AWS服务构建。它通过Amazon API Gateway接收实时点击事件,将事件路由到Kinesis Data Streams进行摄取,再通过Kinesis Firehose将数据转换为Parquet格式并进行分区,最终存储在S3数据湖中。AWS Glue负责编目架构,而Athena支持即席SQL查询。由EventBridge调度的Lambda执行自动分区修复。 该仓库包含使用AWS SAM和CloudFormation的Infrastructure as Code(基础设施即代码),支持可重复、版本控制的部署。传入的数据负载采用Base64编码的JSONL格式,其中deviceId作为Kinesis分区键。转换后的数据按年/月/日进行分区,并使用Snappy压缩以优化查询成本。 生产环境考虑因素在文档中有详尽说明,涵盖摄取速率优化、客户端压缩、架构演进处理、使用CloudWatch进行监控、安全模式,以及针对实时场景替代批处理分区修复的方案。原始数据来源于Kaggle点击流数据集。