用途:构建以哈佛艺术博物馆 API 为数据源的端到端数据工程与分析应用,演示真实场景下的 ETL 管道、SQL 数据库设计、分析查询和 Streamlit 交互式仪表板。
主要能力:通过 API 分页与限流抓取艺术品数据;将艺术品元数据、媒体和颜色数据抽取、转换并加载到关系型数据库;提供针对文化、世纪、媒介、颜色和部门的预置分析查询;使用 Plotly 图表和 Streamlit 仪表板进行数据探索;采用带外键关系的规范化关系模式。架构流程为 API → ETL → SQL → 分析 → 可视化。
使用方式:需 Python 3.8+、MySQL 或 TiDB Cloud 账户,以及哈佛艺术博物馆 API 密钥(可在 https://www.harvardartmuseums.org/collections/api 免费获取)。克隆仓库后安装依赖: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 分析查询演示、Streamlit 仪表板开发。
限制:需自行准备 API 密钥和数据库;抓取受 API 速率限制影响;资料未提供具体收费、价格或性能数据;部分代码示例在资料中未完整给出。