Pour exploiter tout le potentiel de Dataproc, il est utile de comprendre ses éléments de base. Ce guide décrit les principaux concepts et fonctionnalités de Dataproc, ainsi que les avantages qu'ils offrent.
Modèle basé sur les clusters
Il s'agit de la méthode standard d'utilisation de Dataproc, axée sur l'infrastructure. Il vous donne 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 à caractère personnel. Il est 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 contrôlez entièrement la taille, les types de machines et la configuration du cluster.
- Tâches : une tâche est une opération spécifique, comme un script PySpark ou une requête Hadoop. Au lieu d'exécuter une tâche directement sur un cluster, vous l'envoyez au service Dataproc, qui gère l'exécution des tâches 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 jobs, par exemple pour exécuter un job de machine learning uniquement après qu'un job de nettoyage des données a été exécuté avec succès. 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 dynamiquement le coût et les performances du cluster.
Le modèle sans serveur
Serverless pour Apache Spark est le modèle Dataproc moderne à exécution automatisée. Il vous permet d'exécuter des jobs sans avoir à provisionner, gérer ni mettre à l'échelle l'infrastructure sous-jacente : Serverless pour Apache Spark s'occupe de tout.
- Lots : un lot (également appelé charge de travail par lot) est l'équivalent sans serveur d'un job Dataproc. Vous envoyez votre code, tel qu'un job Spark, au service. Serverless 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 exploratoire des données, 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 interactifs pour le développement, généralement dans un notebook Jupyter.
Services Metastore
Dataproc fournit des services gérés pour la gestion des métadonnées, c'est-à-dire les données sur vos données.
- Metastore : un metastore est un catalogue central pour les schémas de données, tels que les noms de tables et de colonnes, et les types de données. Un metastore permet à différents services, clusters et jobs 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 métastores et de les interroger comme si vous accédiez à un seul métastore unifié.
Environnements de notebook et de développement
Les notebooks et les IDE Dataproc 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 unifiés d'analyse et de notebooks. Ils vous permettent d'écrire du code (par exemple, dans un notebook Jupyter) et d'utiliser un cluster Dataproc ou une session sans serveur comme puissant moteur de backend pour exécuter votre code sur de grands ensembles de données.
- Plug-in Dataproc JupyterLab : cette extension JupyterLab officielle sert de panneau de configuration pour Dataproc 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. En savoir plus
- Connecteur Python Dataproc Spark Connect : cette bibliothèque Python simplifie l'utilisation de Spark Connect avec Dataproc. Il 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 Dataproc distant pour le développement interactif. En savoir plus
Personnaliser l'environnement
Dataproc propose des outils et des composants permettant de personnaliser votre environnement en fonction de vos besoins spécifiques. La section "Utilitaires" de la console Google Cloud contient des outils utiles pour personnaliser votre environnement Dataproc.