Twitter Social Project - Analyse Big Data des Réseaux Sociaux

Introduction

Les réseaux sociaux génèrent des quantités massives de données. Comment les collecter, stocker et analyser ? C'est l'objectif du Twitter Social Project : une plateforme Big Data complète pour l'analyse de Twitter en temps réel.

Architecture Complète

Le projet déploie une stack impressionnante de technologies :

Ingestion de Données

  • Scraper Twitter : Collecte des tweets via l'API
  • Apache Kafka : File d'attente de messages pour le streaming
  • Apache Nifi : Orchestration des flux de données

Stockage

  • HBase : Base de données NoSQL distribuée sur Hadoop
  • JanusGraph : Base de données orientée graphe
  • Zookeeper : Coordination des services distribués

Visualisation

  • Graphexp : Exploration interactive des graphes sociaux
  • Kibana : Dashboards et analytics
  • Jupyter : Notebooks pour l'analyse ad-hoc

Analyse de Graphe Social

L'aspect le plus intéressant : modéliser Twitter comme un graphe !

Les Noeuds (Vertices)

  • Utilisateurs Twitter
  • Tweets
  • Hashtags

Les Relations (Edges)

  • Follows (qui suit qui)
  • Retweets
  • Mentions
  • Utilise hashtag

Algorithmes de Graphe

Avec JanusGraph et Gremlin, on peut exécuter des requêtes complexes :

  • Centralité : Qui sont les influenceurs ?
  • Communautés : Quels groupes d'utilisateurs interagissent ?
  • Chemins : Comment l'information se propage-t-elle ?
  • PageRank : Importance relative des utilisateurs

Déploiement Docker Compose

Tout fonctionne dans des conteneurs Docker orchestrés avec Compose. Un simple docker-compose up lance :

  • Le cluster HBase/Zookeeper
  • Kafka pour le streaming
  • JanusGraph pour les graphes
  • Les interfaces de visualisation

Cas d'Utilisation

  • Détection de tendances : Quels hashtags émergent ?
  • Analyse de sentiment : Que pensent les gens d'un sujet ?
  • Identification d'influenceurs : Qui a le plus d'impact ?
  • Détection de bots : Comportements anormaux
  • Propagation virale : Comment un tweet devient viral

Ce que j'ai appris

  • Orchestration de services distribués
  • Modélisation et requêtage de graphes
  • Traitement de flux en temps réel
  • Visualisation de données complexes

Projet Big Data développé à l'ESIGELEC pour l'analyse des réseaux sociaux.