Ce document explique les concepts clés, les blocs de construction fondamentaux, les fonctionnalités de base et les avantages de Managed Service pour Apache Spark. Comprendre ces principes de base vous aidera à utiliser efficacement Managed Service pour Apache Spark pour vos tâches de traitement des données.
Le modèle basé sur un cluster
Il s'agit de la méthode standard, axée sur l'infrastructure, d'utilisation de Managed Service pour Apache Spark. Elle vous offre un contrôle total sur un ensemble dédié de machines virtuelles pour vos tâches de traitement des données.
- Clusters : un cluster est votre moteur de traitement des données personnel, composé de Google Cloud machines virtuelles. Vous créez un cluster pour exécuter des frameworks Open Source tels qu'Apache Spark et Apache Hadoop. Vous avez un contrôle total sur la taille du cluster, les types de machines et la configuration.
- Tâches : une tâche est une tâche spécifique, telle qu'un script PySpark ou une requête Hadoop. Au lieu d'exécuter une tâche directement sur un cluster, vous l'envoyez à Managed Service pour Apache Spark, qui gère l'exécution de la tâche pour vous. Vous pouvez envoyer plusieurs tâches au cluster.
- Modèles de workflow : un modèle de workflow est une définition réutilisable qui orchestre une série de tâches (un workflow). Il peut définir des dépendances entre les tâches, par exemple pour exécuter une tâche de machine learning uniquement une fois qu'une tâche de nettoyage des données est terminée. 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 vous en avez besoin.
- 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 dynamiquement le coût et les performances du cluster.
Le modèle sans serveur
Managed Service pour Apache Spark est le modèle Managed Service pour Apache Spark moderne à exécution automatisée. Il vous permet d'exécuter des tâches sans provisionner, gérer ni mettre à l'échelle l'infrastructure sous-jacente : Managed Service pour Apache Spark gère les détails pour vous.
- Lots : un lot (également appelé charge de travail par lot) est l'équivalent sans serveur d'une tâche Managed Service pour Apache Spark. Vous envoyez votre code, tel qu'une tâche Spark, au service. Managed Service pour Apache Spark provisionne les ressources nécessaires à la demande, exécute la tâche, puis les supprime. Vous ne créez ni ne gérez de ressources de cluster ou de tâche. Le service s'en charge pour vous.
- Sessions interactives : les sessions interactives fournissent un environnement en direct à 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 ni à gérer les ressources de cluster et de notebook.
- Modèles de session : un modèle de session est une configuration réutilisable que vous pouvez utiliser pour définir des sessions interactives. Le modèle contient des paramètres de session, tels que les propriétés Spark et les dépendances de bibliothèque. Vous utilisez le modèle pour créer des environnements de session interactive pour le développement, généralement dans un notebook Jupyter.
Services Metastore
Managed Service pour Apache Spark fournit des services gérés pour la gestion des métadonnées, qui sont les données concernant vos données.
- Metastore : un metastore est un catalogue central pour le schéma de données, tel que les noms de tables et de colonnes, ainsi que les types de données. Un metastore permet à différents services, clusters et tâches de comprendre la structure de vos données. En règle générale, le catalogue est stocké dans Cloud Storage.
- Fédération : la fédération de métadonnées est une fonctionnalité avancée qui vous permet d'accéder aux données de plusieurs metastores et de les interroger comme si vous accédiez à un seul metastore unifié.
Environnements de notebook et de développement
Les notebooks et les IDE Managed Service pour Apache Spark sont lié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 backend puissant pour exécuter votre code sur de grands ensembles de données.
- Plug-in JupyterLab Managed Service pour Apache Spark : cette extension JupyterLab officielle fait office de panneau de configuration pour Managed Service pour Apache Spark dans votre environnement de notebook. Elle simplifie votre workflow en vous permettant de parcourir, de créer et de gérer des clusters, ainsi que d'envoyer des tâches sans avoir à quitter l'interface Jupyter. En savoir plus
- Connecteur Python Managed Service pour Apache Spark Connect : cette bibliothèque Python simplifie le processus d’utilisation de Spark Connect avec Managed Service pour Apache Spark. Elle gère l'authentification et la configuration des points de terminaison, ce qui facilite la connexion de votre environnement Python local, tel qu'un notebook ou un IDE, à un cluster Managed Service pour Apache Spark distant pour le développement interactif. En savoir plus
Personnaliser l'environnement
Managed Service pour Apache Spark propose des outils et des composants permettant de personnaliser votre environnement en fonction de vos besoins spécifiques. La section "Utilitaires" de la Google Cloud console contient des outils utiles pour personnaliser votre environnement Managed Service pour Apache Spark.