用途:该项目演示如何从哈佛艺术博物馆 API 采集文物数据,经过转换后写入关系型数据库,再用 SQL 查询与 Streamlit 仪表板做分析展示,属于数据工程与分析的实践示例。
主要能力:从 API 分页提取文物数据并做限速;将嵌套 JSON 转换为三张规范化表 artifactmetadata、artifactmedia、artifactcolors;批量写入 MySQL 或 TiDB Cloud;提供 20 多个分析型 SQL 查询(如按文化、世纪、部门、颜色分布统计);用 Streamlit 与 Plotly 生成交互式图表。
使用方式:需 Python 3.8+、MySQL 或 TiDB Cloud 账号,以及从 https://harvardartmuseums.org/collections/api 获取的 API 密钥。安装步骤为:git clone https://github.com/Manali0711/Harvard-Artifacts-Collection-Data-Engineering-Analytics-App.git,进入目录后执行 pip install -r requirements.txt,再设置 HARVARD_API_KEY、DB_HOST、DB_USER、DB_PASSWORD、DB_NAME 环境变量。依赖包括 streamlit、pandas、requests、mysql-connector-python、plotly、python-dotenv。仪表板通过 streamlit run app.py 启动。
适用场景:学习或演示 ETL 流程、SQL 分析、API 集成与数据可视化;也可作为构建类似博物馆或开放数据管道的参考。
限制:资料未提供收费、价格、性能指标或平台兼容性等细节;实际运行依赖外部 API 与数据库可用性,需自行处理限速、连接重试与缺失数据。