Apache Spark est un moteur d'analyse unifié conçu pour le traitement des données à grande échelle avec des modules intégrés pour SQL, le traitement en flux continu, le machine learning et le traitement graphique. Spark peut être exécuté sur Apache Hadoop, Kubernetes, de façon indépendante ou dans le cloud. Par ailleurs, il peut s'appliquer à des sources de données diverses. Il fournit des API riches en Java, Scala, Python et R, ce qui le rend accessible à un large éventail de développeurs et de data scientists. Son API Python, PySpark, s'intègre également bien avec des bibliothèques populaires comme Pandas pour la manipulation des données. Sur Google Cloud, Apache Spark est porté à un niveau supérieur grâce à des options sans serveur, des améliorations révolutionnaires des performances comme Lightning Engine (en version Preview) et des intégrations approfondies dans une plate-forme unifiée de données et d'IA.
Quand utiliser Apache Spark et quand utiliser Apache Hadoop ? Les deux figurent parmi les systèmes distribués les plus importants du marché à l'heure actuelle. Il s'agit de projets Apache de niveau supérieur similaires qui sont souvent utilisés ensemble. Hadoop est principalement utilisé pour les opérations gourmandes en disque dur avec le paradigme MapReduce. Spark est une architecture de traitement en mémoire plus flexible et généralement plus coûteuse. Il est important de bien comprendre les caractéristiques de chacun de ces systèmes pour savoir lequel mettre en œuvre et quand.
Découvrez comment Google Cloud vous permet d'exécuter des charges de travail Apache Spark de manière plus simple, plus économique et plus intégrée. Vous pouvez exploiter Google Cloud Serverless pour Apache Spark pour un développement sans opérations ou utiliser Dataproc pour des clusters Spark gérés.
L'écosystème Spark inclut cinq composants clés :
Google Cloud fournit un environnement optimisé pour tous ces composants. Par exemple, Lightning Engine booste les performances de Spark et DataFrame, tandis que Google Cloud Serverless pour Apache Spark simplifie le déploiement et la gestion. De son côté, Gemini améliore la productivité des développeurs dans les environnements de notebook tels que BigQuery Studio et Vertex AI Workbench.
Rapidité
Le traitement en mémoire et le planificateur DAG de Spark permettent d'exécuter des charges de travail plus rapidement qu'Hadoop MapReduce, en particulier pour les tâches itératives. Google Cloud accélère encore ce processus grâce à une infrastructure optimisée et à Lightning Engine.
Simplicité d'utilisation
Les opérateurs de haut niveau de Spark simplifient la création d'applications parallèles. L'utilisation interactive de Scala, Python, R et SQL permet un développement rapide. Google Cloud offre des options sans serveur et des notebooks intégrés avec Gemini pour une utilisation plus simple.
Évolutivité
Spark offre une évolutivité horizontale, en traitant de grandes quantités de données en distribuant le travail sur les nœuds du cluster. Google Cloud simplifie l'évolutivité grâce à l'autoscaling sans serveur et aux clusters Dataproc flexibles.
Portée générale
Spark fournit une pile de bibliothèques, telles que SQL et DataFrames, MLlib pour le machine learning, GraphX et Spark Streaming. Vous pouvez facilement les combiner dans une même application.
Innovation du framework Open Source
Spark exploite le pouvoir des communautés Open Source pour innover et résoudre les problèmes rapidement, ce qui permet d'accélérer le développement et le temps de mise sur le marché. Google Cloud adopte cet esprit d'ouverture en proposant Apache Spark standard tout en améliorant ses fonctionnalités.
Apache Spark est un moteur de calcul en clusters rapide et à usage général qui peut être déployé dans un cluster Hadoop ou en mode autonome. Spark permet aux programmeurs d'écrire rapidement des applications dans Java, Scala, Python, R et SQL, ce qui en fait une solution accessible aux développeurs, aux data scientists et aux experts commerciaux avec des connaissances en statistiques. Spark SQL permet aux utilisateurs de se connecter à une source de données quelconque et de la présenter sous forme de tables destinées aux clients SQL. Les algorithmes de machine learning interactif peuvent en outre être facilement mis en œuvre dans Spark.
Avec un moteur uniquement SQL tel que Apache Impala, Apache Hive ou Apache Drill, les utilisateurs ne peuvent utiliser que le langage SQL ou des langages de type SQL pour interroger des données stockées dans plusieurs bases de données. Cela signifie que les frameworks sont plus petits qu'avec Spark. Toutefois, sur Google Cloud, vous n'avez pas à faire un choix strict. BigQuery offre des fonctionnalités SQL puissantes, Google Cloud Serverless pour Apache Spark et Dataproc pour un service Spark et Hadoop géré vous permettent d'utiliser la polyvalence de Spark, souvent sur les mêmes données via BigLake Metastore et les formats ouverts.
De nombreuses entreprises utilisent Spark pour simplifier la tâche complexe (et gourmande en ressources de calcul) de traitement et d'analyse d'importants volumes de données structurées et non structurées, en temps réel ou archivées. Spark permet également aux utilisateurs d'intégrer facilement des fonctionnalités complexes pertinentes, telles que le machine learning ou les algorithmes de graphe. Voici quelques exemples d'applications courantes :
Les ingénieurs de données utilisent Spark pour coder et créer des tâches de traitement, avec la possibilité de programmer dans un jeu de langue étendu. Sur Google Cloud, les ingénieurs de données peuvent exploiter Google Cloud Serverless pour Apache Spark afin de créer des pipelines ETL/ELT sans aucune opération, ou utiliser Dataproc pour contrôler des clusters gérés, le tout intégré à des services tels que BigQuery et Dataplex Universal Catalog pour la gouvernance.
Les data scientists peuvent optimiser leur expérience d'analyse et de ML en utilisant Spark avec des GPU. La capacité à traiter plus rapidement d'importants volumes de données avec un langage familier peut permettre d'accélérer l'innovation. Google Cloud offre une prise en charge robuste des GPU pour Spark et une intégration parfaite avec Vertex AI, ce qui permet aux data scientists de créer et de déployer des modèles plus rapidement. Ils peuvent exploiter différents environnements de notebook, comme BigQuery Studio et Vertex AI Workbench, ou connecter leurs IDE préférés, tels que Jupyter et VS Code. Cette expérience de développement flexible, combinée à Gemini, permet d'accélérer le workflow, de l'exploration initiale au déploiement en production.
Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.