用途:演示真实场景的 ETL(抽取、转换、加载)模式,把哈佛艺术博物馆 API 的文物数据整理为可用于分析的规范数据,并配交互式仪表板。
主要能力:抽取时有分页与速率限制处理;将嵌套 JSON 转换为 metadata、media、colors 三张规范关系表;批量写入 MySQL/TiDB Cloud 并建立外键关系;用预设 SQL 查询做文化类洞察;用 Streamlit 仪表板与 Plotly 图表可视化结果。
使用方式:克隆仓库并安装依赖,命令为:git clone https://github.com/Manali0711/Harvard-Artifacts-Collection-Data-Engineering-Analytics-App.git,然后进入目录并执行 pip install -r requirements.txt;也可 pip install streamlit pandas requests mysql-connector-python plotly python-dotenv。需在 .env 中配置 HARVARD_API_KEY、DB_HOST、DB_USER、DB_PASSWORD、DB_NAME;哈佛 API Key 从 https://www.harvardartmuseums.org/collections/api 获取。项目提供建表 SQL(artifactmetadata、artifactmedia、artifactcolors)、fetch_artifacts、transform_artifacts、load_metadata/load_media/load_colors、run_complete_etl 等代码,以及 Streamlit 页面(ETL Pipeline、SQL Analytics、Visualizations)。
适用场景:学习或演示数据工程与数据分析流程,搭建以博物馆公开数据为来源的 SQL 分析和小型可视化看板。
限制:需自备 API Key 与数据库凭据;API 存在速率限制,代码含 429 退避重试;分页与页大小有上限(page_size 最大 100);清洗函数存在未闭合的资料片段。具体收费、价格、平台支持范围及实际运行效果暂未提供。