Ce projet consiste en un pipe-line de données de bout en bout qui extrait, transforme, charge, indexe des données et présente des visualisations des données.
Ce projet a été développé dans le cadre d'un projet d'école d'ingénieurs et vise à fournir une solution complète pour traiter des données cinématographiques en utilisant des technologies modernes telles que Docker, Elasticsearch, Kibana et Cassandra.
Pour exécuter ce projet, suivez ces étapes :
- Prérequis : assurez-vous d'avoir Docker et Docker Compose installés sur votre système.
- Clôner le dépôt : clonez ce dépôt sur votre machine et accédez au répertoire du projet.
git clone https://github.com/nate-ledrich/movie-pipeline.git cd movie-pipeline
- Configurez les variables d'environnement : copier le fichier
.env
vers un fichier.env
à la racine du projet et ajuster les valeurs des variables selon votre environnement.cp .env.example .env
- Installez les dépendances : Assurez-vous d'installer les dépendances du fichier
requirements.txt
. - Exécutez avec Docker Compose : ouvrez un terminal et exécutez la commande suivante afin de démarrer les
conteneurs :
Attendez une dizaine de secondes pour que les services se mettent en place. Cela lancera les conteneurs MySQL, Cassandra, Elasticsearch et Kibana, défini dans le fichier
docker-compose up -d
docker-compose.yaml
. - Création des tables et keyspace : les scripts SQL (
/mysql-ini-scripts
) et CQL (/cassandra-init-scripts
) sont gérés de manière automatique. D'une part, les scripts SQL sont exécutés lors du démarrage du conteneur MySQL. D'autre part, les scripts CQL sont exécutés durant le processus d'ETL (Extract, Transform and Load). - Importez le dashboard Kibana : Ouvrez votre navigateur et accédez à http://localhost:5601 pour accéder à
l'interface Kibana. Allez dans Data Management / Saved Objects et importez le fichier de configuration
Kibana
kibana_config/export.ndjon
. Ce fichier défini le dashboard contenant les visualisations seront importés dans Kibana.
Les fichiers SQL utilisés pour construire la base de données ont été obtenus à l'adresse https://github.com/bbrumm/databasestar/tree/main/sample_databases/sample_db_movies/mysql.