Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inzhenerka/dbt_scooters_finance
Demo dbt + DuckDB project
https://github.com/inzhenerka/dbt_scooters_finance
dbt demo duckdb
Last synced: 10 days ago
JSON representation
Demo dbt + DuckDB project
- Host: GitHub
- URL: https://github.com/inzhenerka/dbt_scooters_finance
- Owner: Inzhenerka
- Created: 2025-01-05T14:29:53.000Z (26 days ago)
- Default Branch: main
- Last Pushed: 2025-01-05T15:54:53.000Z (26 days ago)
- Last Synced: 2025-01-05T16:19:25.368Z (26 days ago)
- Topics: dbt, demo, duckdb
- Language: Shell
- Homepage: https://inzhenerka.tech/dbt
- Size: 515 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Финансовый расчет с dbt и DuckDB
Этот проект демонстрирует, как использовать dbt и DuckDB для локального анализа чувствительных финансовых данных.
Исходные данные хранятся в файле `finance_data/costs.xlsx`. Этот файл содержит затраты кикшеринговой компании "Каталкин" на обслуживание самокатов и поддержание работы.
Статистика поездок и выручки подгружается из parquet-файла, который хранится в S3.
## Каталог данных
Каталог dbt, который автоматически обновляется из ветки `main`:
https://inzhenerka.github.io/dbt_scooters_finance/
## Установка зависимостей
```bash
pip install -r requirements.txt
```## Запуск проекта
```bash
dbt build
```## Анализ результатов
Итоговые таблицы выгружаются в файлы в папке `output_data`.
На Linux/MacOS результаты можно вывести в консоль:
```bash
chmod +x post_commands.sh
./post_commands.sh
```## Конвертация Excel-файла в CSV
Это необязательный шаг, потому что `dbt-duckdb` умеет читать Excel-файлы напрямую благодаря расширению `spatial`.
Но для наглядности и удобства работы с данными проект использует CSV.DuckDB позволяет удобно конвертировать данные между поддерживаемыми форматами:
```bash
duckdb -c "INSTALL spatial; LOAD spatial; COPY (FROM st_read('finance_data/costs.xlsx')) TO 'finance_data/costs.csv';"
```