Vous êtes sur la page 1sur 17

Spark- kafka

Réalisé par
Habib Razek
Hanin Amara
Tasnim ELGarssi
khaoula chaouati
Table des matières
1 Introduction à Apache Spark

2 Introduction à Apache Kafka

3 Principe de fonctionnement Kafka

4 Principe de fonctionnement spark

5 L’ avantage de l’intégration kafka + spark

6 Installation

7 Conclusion
Introduction à Apache
Spark

Définition : Apache Spark est un moteur d'analyse de données unifié et ultra-rapide


pour le traitement de données à grande échelle .

Utilisation : Analyse de données, machine learning, traitement de données en temps


réel, etc.

Avantages : Vitesse et performance ,Facilité d'utilisation ,Performances élevées


,Polyvalence

1
Introduction à Apache
Kafka

Définition : Plateforme de streaming distribuée, conçue pour gérer de gros volumes


de données en temps réel.

Utilisation : Collecte de données en temps réel, pipelines de données, intégration


d'applications.

Avantages : Haute performance, scalabilité, durabilité et fiabilité.

2
Principe de fonctionnement Kafka
Kafka est un système de diffusion de messages basé sur un modèle publish/subscribe.
Les producteurs publient des messages sur des topics --->les consommateurs
s'abonnent à ces topics --->les consommateurs recevoir les messages publiés.

3
Principe de fonctionnement spark
Spark utilise un modèle de calcul distribué où
le Driver coordonne les tâches à exécuter sur
un cluster de machines (nodes), avec des
Executors gérant le traitement parallèle des
données.

Les données peuvent être mises en cache


pour des accès rapides, tandis que les tâches
individuelles (Tasks) sont exécutées par les
Executors sur les données réparties.

4
création d’un système de traitement par
01 lots en temps réel tolérant aux pannes

l’avantage de Kafka agit comme un hub central pour


l’intégration 02 les flux de données en temps réel, qui
sont ensuite traités avec des algorithmes
kafka + spark complexes par Spark Streaming

03 Une fois les données traitées, Spark


Streaming peut publier les résultats dans un
autre topic Kafka ou les stocker dans d'autres
systèmes de stockage
5
Création de Topics Kafka:

01
Utilisez la ligne de commande Kafka
pour créer des topics où les données
seront stockées et lues.

Écriture d'une application Spark:

02 Écrivez un programme Spark (en Scala,


Java ou Python) qui lit les données de
Kafka, effectue un traitement (par
exemple, un calcul d'agrégation) et

Manipulation
renvoie les résultats.

Streaming de données:

03 Utilisez l'API Structured Streaming de Spark


pour consommer des données en temps réel
depuis Kafka, les traiter et éventuellement les
renvoyer à Kafka ou à d'autres systèmes

Monitoring et Tuning:
04 Surveillez les performances et ajustez la
configuration selon les besoins pour optimiser le
traitement.
6
Installation d'Apache Kafka
Kafka nécessite Java pour s'exécuter. Vous pouvez installer Java (s'il
n'est pas déjà installé) à l'aide de la commande suivante :

Accédez au site Web Apache Kafka pour obtenir le lien de téléchargement de la dernière
version de Kafka. Vous pouvez le télécharger en utilisant wget :

7
Installation d'Apache Kafka
Extrayez l'archive téléchargée à l'aide de la commande tar

Kafka utilise ZooKeeper, alors démarrez d'abord un serveur ZooKeeper

Ouvrez une autre fenêtre de terminal et démarrez le serveur Kafka :

8
Installation d'Apache Spark
Spark nécessite Scala. Installez-le en utilisant

Comme avec Kafka, accédez au site Web Apache Spark pour obtenir la dernière
version. Vous pouvez le télécharger en utilisant wget :

9
Installation d'Apache Spark
Extracter le package Spark

Ouvrez votre fichier .bashrc dans un éditeur de texte. Vous pouvez utiliser
nano ou tout autre éditeur de votre choix

10
Installation d'Apache Spark
Pour que les modifications soient effectives, exécutez :

Maintenant, vous pouvez démarrer le shell Spark :

11
Streaming Data from Apache Kafka Topic using
Apache Spark 2.4.7 and Python

12
Conclusion
Spark offre un traitement rapide et polyvalent des données, tandis que Kafka assure
une gestion robuste des flux de données en temps réel.

Ensemble, leur combinaison permet des architectures de traitement de données


efficaces et évolutives, ouvrant la voie à une exploitation optimale des données à
grande échelle.

13
Merci de votre
attention !

Vous aimerez peut-être aussi