Простой инструмент для загрузки данных о скутерах в базу данных 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
Если приложение по какой-то причине не работает, можно воспользоваться штатными средствами PosgtreSQL (psql, pg_restore), чтобы создать схему со всеми таблицами из файла scooters_raw.sql.
Пример команды для загрузки данных из файла:
psql -U postgres -d postgres < scooters_raw.sql
Телеграм-бот dbt Data Bot позволяет загрузить данные в базу данных, доступную через интернет.
Данные созданы в симуляторе поездок scooters_data_generator. Там же можно найти ссылки на опубликованные parquet-файлы с данными, которые использует данное приложение для загрузки в базу.