En local
Pour déployer les nouvelles tables de données publiques dans une BDD PostgreSQL hébergée dans le cloud ou hébergée localement.
Prérequis¶
-
Une instance PostgreSQL version 16 avec minimum 60 Go d'espace et 4 Go de RAM ;
-
Comptez 1 heure avec une instance de 60 Go et 4 Go de RAM ;
-
Possibilité d'y installer les extensions PostGIS et Unaccent ;
-
Instance cloud uniquement si vous voulez déployer avec GitHub Actions ;
-
Instance cloud ou locale si vous déployez manuellement ;
-
Le déploiement supprime les schemas nommés
prep
etsources
. Vérifiez que vous n'en utilisez pas initialement.
Depuis Machine Locale¶
-
Cloner le repo
$ git clone [email protected]:make-open-data/make-open-data.git
-
Installer et activer un environment virtuel
$ python3 -m venv dbt-env $ source dbt-env/bin/activate $ pip install --upgrade pip $ pip install -r requirements.txt
-
Exporter les clés de l'instance PostgreSQL :
$ export POSTGRES_USER=<YOUR_POSTGRES_USER> $ export POSTGRES_PASSWORD=<YOUR_POSTGRES_PASSWORD> $ export POSTGRES_HOST=<YOUR_POSTGRES_HOST> $ export POSTGRES_PORT=<YOUR_POSTGRES_PORT> $ export POSTGRES_DB=<YOUR_POSTGRES_DB>
-
Connecter DBT à la base de données et vérifier la connection :
$ export DBT_PROFILES_DIR=. $ dbt debug
-
A faire une fois : installer les extensions PostGIS et Unaccent
psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB CREATE EXTENSION postgis; CREATE EXTENSION unaccent;
-
Extraire les données des sources à la base de données
$ python -m extract
-
Réaliser et tester les transformations pour avoir obtenir les tables finales
$ dbt deps $ dbt run $ dbt test - Les tables sources et préparées sont disponibles dans la BDD.