SuperAPI AI 工具集

snowflake-dbt-airbnb-analytics

数据与分析

查看项目

更新于 10-16 07:27

技能介绍

用途:该项目演示一套完整的分析工程流程,将 Inside Airbnb 开放数据加载到 Snowflake,经 dbt 分层转换后由 Streamlit 看板呈现洞察。

主要能力:原始数据摄取,把 listings.csv.gz、calendar.csv.gz、reviews.csv.gz、neighbourhoods.csv 加载到 Snowflake 内部 stage;分层转换,包含 staging(清洗与类型转换)、intermediate(关联与业务逻辑)和 marts(维度、事实、聚合);事实表使用 Snowflake merge 策略的增量建模;用通用与单例 dbt 测试校验唯一性、关系和业务规则;Streamlit 应用查询 marts 展示街区与房源表现。

使用方式:克隆仓库并创建虚拟环境后安装依赖:git clone https://github.com/analyticsdurgesh/Snowflake_DBT_Project.git;cd Snowflake_DBT_Project;python3 -m venv .venv;source .venv/bin/activate;pip install -r requirements.txt。配置需复制 profiles.yml.example 与 config/local_credentials.example.json 样例文件并填入 Snowflake 凭据,生产环境用环境变量。原始文件放入 data/raw/ 后运行 python scripts/load_inside_airbnb_to_snowflake.py。dbt 常用命令包括 dbt debug --profiles-dir .、dbt run --profiles-dir .、dbt test --profiles-dir .、dbt docs generate --profiles-dir .;增量表可用 dbt run --full-refresh。看板运行:streamlit run dashboard/streamlit_app.py。

适用场景:学习或演示现代分析工程分层模式、dbt 增量模型与测试、Snowflake 数据加载及 Streamlit 数据看板搭建。

限制:需自备 Snowflake 账号和 Inside Airbnb 数据;凭据示例需替换;文档未提供收费、价格或性能数据。