Ce projet implémente un pipeline d'analyse de données pour Toys and Models, utilisant Snowflake, PySpark, Airflow, et dbt.
airflow/: Contient les DAGs et les opérateurs personnalisés pour Airflowdbt_files/: Contient les modèles dbt pour la transformation des donnéesspark/: Contient les jobs PySpark pour l'extraction et le chargement des donnéessql/: Contient les scripts SQL, y compris le dump de la base de données initialeconfig/: Contient les fichiers de configuration pour MySQL et Snowflake
- Clonez ce dépôt
- Installez les dépendances :
pip install -r requirements.txt - Configurez Airflow, Snowflake, et votre base de données MySQL
- Exécutez le script SQL dans
sql/Dump202403.sqlpour initialiser la base de données MySQL - Configurez les fichiers dans
config/avec vos informations de connexion
- Démarrez Airflow et activez le DAG
toys_and_models_etl - Les données seront extraites de MySQL, transformées avec PySpark, et chargées dans Snowflake
- dbt sera utilisé pour effectuer des transformations supplémentaires dans Snowflake
Les pull requests sont les bienvenues. Pour des changements majeurs, veuillez d'abord ouvrir une issue pour discuter de ce que vous aimeriez changer.