Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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';"
```