Простой инструмент для загрузки данных о скутерах в базу данных 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-файлы с данными, которые использует данное приложение для загрузки в базу.
