Skip to content

Inzhenerka/scooters_data_uploader

Repository files navigation

Scooters Data Uploader

PyPI - Version

Logo

Простой инструмент для загрузки данных о скутерах в базу данных PostgreSQL на основе DuckDB в рамках симулятора Data Warehouse Analytics Engineer на базе dbt для инженеров и аналитиков данных от школы ИнженеркаТех.

Несмотря на то, что телеграм-бот dbt Data Bot позволяет проще загрузить данные в базу данных через интернет, данный проект работает с локальными и приватными базами.

Подготовка

Проще всего работать с приложением через пакетный менеджер uv. Его нужно установить.

Один из вариантов установки:

pip install uv

После установки убедитесь, что uv доступен и работает с приложением:

uvx scooters-data-uploader

Использование uvx позволяет избежать клонирования репозитория и установки зависимостей, делая процесс простым и чистым.

Подготовка адреса базы данных

Нужно подготовить адрес базы данных в формате Database URI:

postgresql://<user>:<password>@<host>:<port>/<database>

Пример (стандартный адрес для локального PostgreSQL):

postgresql://postgres:postgres@localhost:5432/postgres

Загрузка данных

Для загрузки данных из удаленного репозитория в базу данных выполните команду upload, передав адрес базы данных в качестве аргумента:

uvx scooters-data-uploader upload <database_uri>

Пример:

uvx scooters-data-uploader upload postgresql://postgres:postgres@localhost:5432/postgres

Проверка свежести данных

Для проверки свежести данных в базе выполните команду version, передав адрес базы данных в качестве аргумента:

uvx scooters-data-uploader version <database_uri>

Пример:

uvx scooters-data-uploader version postgresql://postgres:postgres@localhost:5432/postgres

Другие команды

Открыть Telegram-бота для загрузки данных через интернет:

uvx scooters-data-uploader bot

Скачать SQL-файл со всеми данными для загрузки через psql:

uvx scooters-data-uploader sql

Помощь

Для получения справки по использованию утилиты выполните команды:

uvx scooters-data-uploader --help
uvx scooters-data-uploader upload --help
uvx scooters-data-uploader version --help

Альтернативные способы получения данных

Импорт из SQL-файла

Если приложение по какой-то причине не работает, можно воспользоваться штатными средствами PosgtreSQL (psql, pg_restore), чтобы создать схему со всеми таблицами из файла scooters_raw.sql.

Пример команды для загрузки данных из файла:

psql  -U postgres -d postgres < scooters_raw.sql

Загрузка через бота

Телеграм-бот dbt Data Bot позволяет загрузить данные в базу данных, доступную через интернет.

Источник данных

Данные созданы в симуляторе поездок scooters_data_generator. Там же можно найти ссылки на опубликованные parquet-файлы с данными, которые использует данное приложение для загрузки в базу.

Другие ссылки

About

Загрузка данных в PostgreSQL в рамках курса по dbt от Инженерка.Тех

Topics

Resources

Stars

Watchers

Forks

Languages