Простой инструмент для загрузки данных о скутерах в базу данных PostgreSQL на основе DuckDB в рамках симулятора Data Warehouse Analytics Engineer на базе dbt для инженеров и аналитиков данных от школы ИнженеркаТех.
Несмотря на то, что телеграм-бот dbt Data Bot позволяет проще загрузить данные в базу данных через интернет, данный проект работает с локальными и приватными базами.
Для получения кода с GitHub выполните команду:
git clone https://github.com/Inzhenerka/scooters_data_uploader.git
Затем перейдите в директорию с проектом:
cd scooters_data_uploader
Требуется Python 3.9 или новее. Для установки зависимостей выполните команду:
pip install -r requirements.txt
Нужно подготовить адрес базы данных в формате Database URI:
postgresql://<user>:<password>@<host>:<port>/<database>
Пример (стандартный адрес для локального PostgreSQL):
postgresql://postgres:postgres@localhost:5432/postgres
Для загрузки данных из удаленного репозитория в базу данных выполните команду upload
,
передав адрес базы данных в качестве аргумента:
python uploader.py upload <database_uri>
Пример:
python uploader.py upload postgresql://postgres:postgres@localhost:5432/postgres
Если приложение по какой-то причине не работает, можно воспользоваться штатными средствами PosgtreSQL (psql, pg_restore), чтобы создать схему со всеми таблицами из файла scooters_raw.sql.
Для проверки свежести данных в базе выполните команду version
, передав адрес базы данных в качестве аргумента:
python uploader.py version <database_uri>
Пример:
python uploader.py version postgresql://postgres:postgres@localhost:5432/postgres
Для получения справки по использованию утилиты выполните команды:
python uploader.py --help
python uploader.py upload --help
python uploader.py version --help
Данные созданы в симуляторе поездок scooters_data_generator. Там же можно найти ссылки на опубликованные parquet-файлы с данными, которые использует данное приложение для загрузки в базу.