Data_Analysis_with_Airflow_Hadoop_Hbase_For_Mastodon est un projet de pipeline de données composé de quatre phases principales : extraction de données à partir de l'API Mastodon, traitement des données avec Hadoop MapReduce en utilisant Python en streaming, stockage des données dans HBase et orchestration avec Apache Airflow pour une exécution automatisée quotidienne. Le projet vise à collecter et analyser des données de la plateforme Mastodon, une plateforme de médias sociaux fédérée.
-
📡 Extraction de Données : Utilisez l'API Mastodon avec vos jetons d'accès pour collecter des données brutes depuis la plateforme Mastodon.
-
💾 Stockage des Données Brutes : Stockez les données brutes dans un système de fichiers distribué tel que HDFS pour garantir la scalabilité.
-
🗄️ Modélisation du Data Lake HDFS : Définissez le schéma du data lake pour HDFS.
-
🗺️ Mappeur : Traitez les données d'entrée et générez des paires clé-valeur en fonction des métriques souhaitées (par exemple, les abonnés des utilisateurs, le taux d'engagement, les URL, les emojis, etc.).
-
📊 Réducteur : Agrégez les paires clé-valeur produites par le mappeur.
-
⚙️ Exécution du Travail MapReduce : Utilisez l'API de streaming Hadoop pour exécuter la tâche MapReduce, en fournissant les scripts du mappeur et du réducteur comme entrées.
-
📈 Surveillance : Suivez la progression du travail grâce à l'interface web Hadoop.
-
🗂️ Conception du Schéma HBase : Concevez le schéma HBase en fonction des informations que vous souhaitez extraire.
-
⚖️ Meilleures Pratiques : Suivez les meilleures pratiques pour la conception de la clé de ligne, la conception des familles de colonnes, la compression, les filtres de Bloom, les inserts par lot, etc.
-
🏛️ Création de Tables : Créez les tables nécessaires dans HBase.
-
📥 Insertion de Données : Remplissez les résultats du réducteur dans les tables HBase à l'aide d'un client HBase en Python ou de la méthode de votre choix.
-
🌪️ Orchestration du Workflow : Définissez un graphe acyclique dirigé (DAG) pour orchestrer l'ensemble du workflow.
-
📆 Création de Tâches : Créez des tâches pour exécuter le travail MapReduce et stocker les résultats dans HBase.
-
🔍 Surveillance et Gestion des Erreurs : Surveillez la progression et gérez les erreurs ou les échecs.
Après avoir réussi les phases précédentes, vous pouvez effectuer l'analyse de données. Vous écrirez des requêtes pour :
-
🧑💼 Identifiez les utilisateurs ayant le plus grand nombre d'abonnés.
-
📊 Analysez les taux d'engagement des utilisateurs.
-
📈 Analysez la croissance des utilisateurs au fil du temps en utilisant la métrique
user_created_at
.
- 🔗 Identifiez les sites web externes (URL) les plus partagés.
- 🌐 Analysez la distribution des publications en fonction de leur langue.
- 📷 Déterminez le nombre de publications avec des pièces jointes multimédias.
- 🏷️ Identifiez les balises et les utilisateurs mentionnés les plus fréquemment utilisés.
Dans l'interface web Apache Airflow, activez le DAG, surveillez la progression de l'exécution du DAG et vérifiez les journaux pour tout problème. Une fois le DAG est terminé, examinez les résultats dans HBase.
- ⚙️ Optimisez les scripts MapReduce pour de meilleures performances. Surveillez HBase pour tout problème de stockage. Configurez des alertes dans Airflow pour les échecs de tâches. Surveillez régulièrement Hadoop en utilisant son interface web respective.
- 🔐 Mettez à jour les jetons d'API si les rôles organisationnels changent, en vous assurant qu'ils ont les autorisations nécessaires pour la récupération de données.
- 📄 Mettez à jour la documentation des règles d'accès, y compris les détails sur les rôles, les autorisations, les demandes d'accès et les procédures d'octroi ou de révocation d'accès.
Pour garantir la conformité au RGPD, notre pipeline de données suit ces étapes essentielles :
-
Anonymisation des Données :
- Suppression ou hachage des données personnelles inutiles.
-
Minimisation des Données :
- Conservation uniquement des données nécessaires à l'analyse.
-
Sécurité :
- Sécurisation des systèmes de stockage HDFS et HBase.
-
Gestion du Data Lake :
- Suppression des données une fois traitées pour éviter la rétention excessive.
-
Évaluation de l'Impact sur la Protection des Données (AIPD) :
- Identification et atténuation des risques pour la vie privée.
-
Consentement :
- Obtention d'un consentement explicite lorsque requis.
-
Droits des Personnes Concernées :
- Possibilité d'accéder, corriger ou supprimer leurs données.
-
Documentation et Conformité :
- Tenue de registres détaillés pour la transparence.
-
Audits et Vérifications :
- Contrôles réguliers de conformité aux réglementations RGPD.
-
Gestion des Violations de Données :
- Protocole de réponse aux violations conforme au RGPD.
Ces mesures démontrent notre engagement envers la conformité au RGPD, la protection des données personnelles et le respect des droits à la vie privée.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.