https://github.com/make-open-data/make-open-data
make-open-data
https://github.com/make-open-data/make-open-data
Last synced: about 2 months ago
JSON representation
make-open-data
- Host: GitHub
- URL: https://github.com/make-open-data/make-open-data
- Owner: make-open-data
- Created: 2024-04-03T10:37:58.000Z (about 1 year ago)
- Default Branch: staging
- Last Pushed: 2024-10-29T08:44:01.000Z (8 months ago)
- Last Synced: 2024-10-29T09:56:55.165Z (8 months ago)
- Language: Python
- Homepage:
- Size: 1.54 MB
- Stars: 51
- Watchers: 3
- Forks: 12
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-dbt - Make Open Data - A production grade ELT with tests, documentation and CI/CD (GHA) about french open data (housing, demography, geography, etc). Can be used to learn with voluminous and ambiguous data. Contributions are welcome. (Sample Projects)
README
# Bienvenue sur Make Open Data
### Des données publiques exploitables déployées sur une BDD Postgres/PostGIS accessibles depuis l'outil de votre choix.
- Présentation du projet ou contactez-nous pour une démo : https://make-open-data.fr/
- Catalogue des données : https://data.make-open-data.fr/## Qu'est-ce que Make Open Data ?
Make Open Data est un ELT Open Source pour les données publiques :
- **Extrait** les fichiers sources (data.gouv, INSEE, Etalab, etc.) les plus adaptés et récents.
- **Transforme** ces données selon des règles transparentes et le moins irréversibles possible.
- **Stocke** ces données dans une base de données PostgreSQL (avec PostGIS).
- **Teste** des hypothèses sur ces données (ex. : prix par transaction immobilière sur DVF).
Les données spatiales sont intégrables dans QGIS et autres SIG.
---
## Déploiement managé par Make Open Data
Nous fournissons les accès à une base PostgreSQL dans le cloud avec des données à jour.
Contactez-nous : https://make-open-data.fr/
---
## Déploiement manuel
### 1. Installation des outils nécessaires
Mettre à jour les paquets et installer les dépendances :
```sh
sudo apt update
sudo apt install git python3-venv postgresql postgis
```### 2. Cloner le projet et configurer l'environnement virtuel
```sh
git clone [email protected]:/.git
cd make-open-data-EPF
python3 -m venv dbt-env
source dbt-env/bin/activate
```### 3. Configuration de PostgreSQL
Définir les variables d'environnement :
```sh
nano dbt-env/env.sh
```Ajouter :
```sh
export POSTGRES_USER= # ex: postgres
export POSTGRES_PASSWORD=
export POSTGRES_HOST= # ex: localhost
export POSTGRES_PORT= # ex: 5432
export POSTGRES_DB= # ex: postgres
```Appliquer les changements :
```sh
source dbt-env/env.sh
```Modifier la configuration PostgreSQL :
```sh
sudo nano /etc/postgresql/XX/main/postgresql.conf
```Changer :
```sh
#listen_addresses = 'localhost'
```Par :
```sh
listen_addresses = '*'
```Redémarrer PostgreSQL :
```sh
sudo systemctl restart postgresql.service
```### 4. Activer PostGIS
Se connecter à PostgreSQL et activer l'extension :
```sh
psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB
CREATE EXTENSION postgis;
\q
```### 5. Chargement des données
```sh
python3 -m load # Chargement des données d'exemple
python3 -m load --production # Chargement complet des données
```### 6. Configuration et exécution de DBT
```sh
export DBT_PROFILES_DIR=.
dbt debug
dbt deps
dbt seed
dbt run --target dev # Tables logement sur Occitanie et DVF Hérault
```Pour une exécution complète en production :
```sh
dbt run --target production # Environ 1 heure
```Tester les transformations :
```sh
dbt test
```### 7. Installation de pgAdmin4 (facultatif)
```sh
sudo apt install pgadmin4
```