Concepts clés de Managed Service pour Apache Spark

Ce document explique les concepts clés, les composants fondamentaux, les fonctionnalités principales et les avantages de Managed Service pour Apache Spark. Comprendre ces principes fondamentaux vous aide à utiliser efficacement Managed Service pour Apache Spark pour vos tâches de traitement de données.

Le modèle sans serveur

Managed Service pour Apache Spark sans serveur est le modèle Managed Service pour Apache Spark moderne à exécution automatisée. Il vous permet d'exécuter des jobs sans provisionner, gérer ni faire évoluer l'infrastructure sous-jacente : Managed Service pour Apache Spark s'en charge pour vous.

  • Lots : un lot (également appelé charge de travail par lot) est l'équivalent sans serveur d'un job Managed Service pour Apache Spark. Vous envoyez votre code, par exemple un job Spark, au service. Managed Service pour Apache Spark provisionne les ressources nécessaires à la demande, exécute le job, puis les supprime. Vous ne créez ni ne gérez de ressources de cluster ou de job. Le service s'en charge pour vous.

  • Sessions interactives : les sessions interactives fournissent un environnement en direct et à la demande pour l'analyse de données exploratoire, généralement dans un notebook Jupyter. Les sessions interactives offrent la commodité d'un espace de travail temporaire sans serveur que vous pouvez utiliser pour exécuter des requêtes et développer du code sans avoir à provisionner et à gérer des ressources de cluster et de notebook.

  • Profils d'exécution (modèles de session) : un profil d'exécution (appelé modèle de session dans la Google Cloud CLI et l'API Dataproc) est une configuration réutilisable que vous pouvez utiliser pour définir des sessions interactives. Le profil contient les paramètres de session, tels que le niveau de calcul, la configuration de l'exécuteur, les propriétés Spark et les dépendances de bibliothèque. Vous utilisez le profil d'exécution pour créer des environnements de session interactifs pour le développement, généralement dans un notebook Jupyter.

Le modèle basé sur des clusters

Managed Service pour Apache Spark sur des clusters est la méthode standard, centrée sur l'infrastructure, d'utilisation de Managed Service pour Apache Spark. Il vous donne un contrôle total sur un ensemble dédié de machines virtuelles pour vos tâches de traitement de données.

  • Clusters : un cluster est votre moteur de traitement de données personnel, composé de machines virtuelles Google Cloud . Vous créez un cluster pour exécuter des frameworks Open Source tels qu'Apache Spark et Apache Hadoop. Vous contrôlez totalement la taille, les types de machines et la configuration du cluster.
  • Jobs : un job est une tâche spécifique, comme un script PySpark ou une requête Hadoop. Au lieu d'exécuter un job directement sur un cluster, vous l'envoyez à Managed Service pour Apache Spark, qui gère l'exécution du job pour vous. Vous pouvez envoyer plusieurs jobs au cluster.
  • Modèles de workflow : un modèle de workflow est une définition réutilisable qui orchestre une série de jobs (un workflow). Il peut définir des dépendances entre les jobs, par exemple pour n'exécuter un job de machine learning qu'après l'exécution réussie d'un job de nettoyage des données. Le workflow basé sur un modèle peut s'exécuter sur un cluster existant ou sur un cluster temporaire (éphémère) créé pour exécuter le workflow, puis supprimé une fois le workflow terminé. Vous pouvez utiliser le modèle pour exécuter le workflow défini chaque fois que nécessaire.
  • Règles d'autoscaling : une règle d'autoscaling contient des règles que vous définissez pour ajouter ou supprimer des machines de calcul d'un cluster en fonction de la charge de travail du cluster afin d'optimiser de manière dynamique le coût et les performances du cluster.

Personnaliser l'environnement

Managed Service pour Apache Spark sur des clusters offre des fonctionnalités et des composants de cluster que vous pouvez utiliser pour personnaliser l'environnement de votre application.

Notebooks et environnements de développement

Les notebooks et IDE sans serveur Managed Service pour Apache Spark sont associés à des environnements de développement intégrés dans lesquels vous pouvez écrire et exécuter votre code.

  • BigQuery Studio et Workbench : il s'agit d'environnements d'analyse et de notebook unifiés. Ils vous permettent d'écrire du code (par exemple, dans un notebook Jupyter) et d'utiliser un cluster Managed Service pour Apache Spark ou une session sans serveur comme moteur de backend puissant pour exécuter votre code sur de grands ensembles de données.
  • Plug-in JupyterLab pour Managed Service pour Apache Spark : ce JupyterLabextension officiel sert de panneau de configuration pour Managed Service pour Apache Spark sans serveur dans votre environnement de notebook. Il simplifie votre workflow en vous permettant de parcourir, de créer et de gérer des clusters, et d'envoyer des jobs sans avoir à quitter l'interface Jupyter.
  • Google Cloud Data Agent Kit : Data Agent Kit permet aux data scientists, aux ingénieurs et aux développeurs de gérer l'intégralité du cycle de vie de leurs charges de travail de données dans leur IDE. Data Agent Kit est compatible avec Managed Service pour Apache Spark, ce qui vous permet de développer du code, de créer des sessions interactives et de créer des pipelines directement depuis VS Code ou une CLI d'agent compatible.
  • Connecteur Python Managed Service pour Apache Spark Connect : cette bibliothèque Python simplifie l'utilisation de Spark Connect avec Managed Service pour Apache Spark. Il gère l'authentification et la configuration des points de terminaison, ce qui facilite grandement la connexion de votre environnement Python local (comme un notebook ou un IDE) à un cluster Managed Service pour Apache Spark distant pour le développement interactif.

Le modèle de conteneur

Managed Service pour Apache Spark sur Google Kubernetes Engine déploie des clusters virtuels Managed Service pour Apache Spark sur un cluster GKE. Contrairement aux clusters Managed Service pour Apache Spark, les clusters virtuels Managed Service pour Apache Spark ne provisionnent pas de VM maîtres et de VM de nœuds de calcul distinctes. À la place, ils provisionnent des pools de nœuds dans un cluster GKE. Les jobs Managed Service pour Apache Spark sur GKE sont exécutés en tant que pods sur ces pools de nœuds. Les pools de nœuds et la planification des pods sur les pools de nœuds sont gérés par Managed Service pour Apache Spark sur GKE.