Revenir au contenu principal

Qu'est-ce qu'Apache Spark ?

Un moteur d'analyse unifié pour le traitement de données distribuées à grande échelle avec des API en Java, Scala, Python et R pour le traitement par lots, le streaming, le ML et les graphes.

4 Personas Analytics AIBI 3a

Summary

  • Basé sur des ensembles de données distribués résilients (RDD), il permet des opérations parallèles en mémoire tolérantes aux pannes avec évaluation différée, offrant des gains de vitesse de 10 à 100 fois supérieurs à Hadoop MapReduce pour les charges de travail itératives.
  • Fournit une API DataFrame avec l'optimiseur Catalyst pour la planification des requêtes et le moteur d'exécution Tungsten pour la gestion de la mémoire, prenant en charge les requêtes SQL et le traitement des données structurées.
  • Inclut MLlib pour l'apprentissage automatique distribué, Structured Streaming pour le traitement en temps réel et GraphX ​​pour l'analyse de graphes, le tout partageant le même framework d'exécution.

Qu'est-ce qu'Apache Spark ?

Apache Spark est un moteur d'analytique open source utilisé dans le traitement du big data. Il est capable de traiter aussi bien des données en batch que des charges d'analytique et de traitement des données en temps réel. Apache Spark était au départ un projet de recherche à l'Université de Californie à Berkeley. Les chercheurs voulaient accélérer les tâches de traitement dans les systèmes Hadoop. Apache Spark repose sur le modèle MapReduce d'Hadoop qu'il prolonge pour le mettre au service de types de calcul plus nombreux, dont les requêtes interactives et le traitement de flux. Spark fournit des liaisons natives pour les langages de programmation Java, Scala, Python et R. Il inclut également plusieurs bibliothèques pour soutenir le développement d'applications de machine learning (MLlib), le traitement de flux (Spark Streaming) et le traitement graphique (GraphX). Apache Spark se compose de Spark Core et d'un ensemble de bibliothèques. Spark Core forme le cœur d'Apache Spark : c'est lui qui se charge de la transmission des tâches distribuées, de la planification et de la fonctionnalité E/S. Le moteur Spark Core utilise le concept de Resilient Distributed Dataset (dataset résilient distribué, ou RDD) comme type de données de base. La conception RDD a pour but de soustraire l'essentiel de la complexité computationnelle au regard de l'utilisateur. Spark a une approche intelligente des opérations sur les données : les données et les partitions sont agrégées sur un cluster de serveurs, où elles peuvent être calculées puis déplacées vers un autre magasin de données ou exploitées par un modèle analytique. Vous n'aurez pas besoin de spécifier la destination des fichiers, ni les ressources de calcul à utiliser pour stocker ou récupérer des fichiers. Resilient Distributed Dataset

UN LEADER 5X

Gartner® : Databricks, leader des bases de données cloud

Quels sont les avantages d'Apache Spark ?

Avantages d'Apache Spark

Rapidité

Spark est extrêmement rapide parce qu'il met les données en cache et ce, sur plusieurs opérations en parallèle. Le principal atout de Spark réside dans son moteur in-memory qui accroît la vitesse de traitement. Il est jusqu'à 100 fois plus rapide que MapReduce dans le cas du traitement en mémoire, et 10 fois plus rapide sur disque, pour le traitement des données à grande échelle. Spark parvient à ces résultats en réduisant le nombre d'opérations de lecture/écriture sur le disque.

Traitement de flux en temps réel

Apache Spark peut gérer le streaming en temps réel ainsi que l'intégration d'autres frameworks. Spark importe les données en petits lots et leur applique des transformations RDD.

Prise en charge de plusieurs charges de travail

Apache Spark peut exécuter de multiples charges : requêtes interactives, analytique en temps réel, machine learning et traitement graphique. Une même application peut combiner plusieurs charges de travail en toute transparence.

Une utilisation plus simple

La prise en charge de différents langages de programmation donne du dynamisme à Apache Spark. Vous pouvez rapidement écrire des applications en Java, Scala, Python et R – l'éventail du choix est large.

Analytique avancée

Spark prend en charge les requêtes SQL, le machine learning, le traitement de flux et le traitement graphique.

Ressources complémentaires

Ne manquez jamais un article Databricks

Abonnez-vous à notre blog et recevez les derniers articles dans votre boîte mail.

Et ensuite ?

4 Personas Analytics AIBI 3a

Fundamentos de Data + AI

17 min de lecture

O que é Narrativa de Dados?

4 Personas Analytics AIBI 2a

Fundamentos de Data + AI

16 min de lecture

O que é Extrair, Carregar e Transformar (ELT)?