COVID-19 API Dataset
收藏数据集概述
项目目标
Covid Data Process 项目旨在设计和实现一个专门针对 COVID-19 数据的综合实时数据处理管道。该项目旨在构建一个可扩展且高效的系统,能够实时地摄取、处理、存储和可视化 COVID-19 数据,使利益相关者能够基于最新信息做出明智的决策。
数据集选择
数据集来源于 COVID-19 API,提供关于 COVID-19 在全球传播和影响的全面且定期更新的报告。该数据集涵盖了追踪疫情在不同地区(包括国家、州和省份)进展的广泛数据点。这些数据点包括确诊案例数、死亡数、康复数和活跃案例数,提供了疫情随时间演变的详细视图。
数据格式示例
json { "data": [ 0: { "date": "2023-03-09", "confirmed": 209451, "deaths": 7896, "recovered": 0, "confirmed_diff": 0, "deaths_diff": 0, "recovered_diff": 0, "last_update": "2023-03-10 04:21:03", "active": 201555, "active_diff": 0, "fatality_rate": 0.0377, "region": { "iso": "AFG", "name": "Afghanistan", "province": "", "lat": "33.9391", "long": "67.7100", "cities": [] } }, ... ] }
系统架构
该 COVID-19 数据处理管道的系统架构设计旨在确保高效的数据摄取、处理、存储和可视化。它利用一系列开源技术和云服务,提供一个可扩展、健壮且灵活的框架,用于管理和分析大量实时数据。
数据摄取
- 数据源:
COVID-19数据通过 HTTP 请求从 APIhttps://covid-api.com/api/获取。NiFi处理数据摄取,执行初始清理和转换,为后续处理准备数据。 - 生产者/消费者:
NiFi充当生产者和消费者,将处理后的数据转发到Apache Kafka进行流式传输。
实时数据流
- 消息代理:
Kafka作为消息代理,在系统组件之间实时传输数据。 - 监控:
Redpanda监控Kafka的性能,确保系统稳定性。 - 流分析:
Spark Streaming实时处理数据,执行聚合和过滤等计算,数据通过Kafka流动。
数据存储
- 分布式存储: 数据存储在
Hadoop HDFS中,提供可扩展且可靠的存储。 - 数据仓库:
Apache Hive在HDFS上启用对大型数据集的高效查询。
数据处理
- 作业调度:
Airflow编排和调度系统的作业流程,确保数据摄取、处理和存储任务的顺利执行。 - 批处理:
Apache Spark处理存储在 HDFS 中的数据,促进复杂的数据分析任务。
容器化
- 一致性与部署:
Docker容器确保开发、测试和生产环境的一致性,并在AWS EC2上部署以实现可扩展性。
数据可视化
- 交互式仪表板:
Amazon QuickSight可视化处理后的数据,允许创建交互式仪表板和报告。
技术使用
环境
Amazon EC2: 在可扩展且灵活的云环境中托管系统。Docker: 容器化系统组件,确保一致性和易于部署。
框架和工具
Apache NiFi: 处理从 COVID-19 API 的数据摄取和初始处理。Apache Kafka: 在系统组件之间启用实时数据流。Redpanda: 监控 Kafka 以确保稳定的数据流和系统性能。Apache Spark: 用于实时和批量数据处理。Hadoop HDFS: 为大量处理后的数据提供分布式存储。Apache Hive: 允许对存储在 HDFS 中的数据进行类似 SQL 的查询和分析。Apache Airflow: 编排和调度整个系统的作业流程。
可视化
Amazon QuickSight: 提供商业智能和数据可视化功能,用于有洞察力的报告和分析。




