Serverless pour Apache Spark vous permet d'exécuter des charges de travail Spark sans avoir à provisionner ni gérer votre propre cluster Dataproc. Il existe deux façons d'exécuter des charges de travail Serverless pour Apache Spark :
Charges de travail par lot
Envoyez une charge de travail par lot au service Serverless pour Apache Spark à l'aide de la consoleGoogle Cloud , du Google Cloud CLI ou de l'API Dataproc. Le service exécute la charge de travail sur une infrastructure de calcul gérée en effectuant un autoscaling des ressources selon les besoins. Les frais Serverless pour Apache Spark ne s'appliquent qu'au moment où la charge de travail est exécutée.
Pour commencer, consultez Exécuter une charge de travail par lot Apache Spark.
Sessions interactives
Écrivez et exécutez du code dans des notebooks Jupyter lors d'une session interactive Serverless pour Apache Spark. Vous pouvez créer une session de notebook de différentes manières :
Exécuter du code PySpark dans les notebooks BigQuery Studio Utilisez le notebook Python BigQuery pour créer une session interactive Spark Connect Serverless pour Apache Spark. Chaque notebook BigQuery ne peut être associé qu'à une seule session Apache Spark sans serveur active.
Utilisez le plug-in Dataproc JupyterLab pour créer plusieurs sessions de notebook Jupyter à partir de modèles que vous créez et gérez. Lorsque vous installez le plug-in sur une machine locale ou une VM Compute Engine, différentes fiches correspondant à différentes configurations du noyau Spark s'affichent sur la page du lanceur JupyterLab. Cliquez sur une fiche pour créer une session de notebook Serverless pour Apache Spark, puis commencez à écrire et à tester votre code dans le notebook.
Le plug-in Dataproc JupyterLab vous permet également d'utiliser la page de lancement JupyterLab pour effectuer les actions suivantes :
- Créez des clusters Dataproc sur Compute Engine.
- Envoyez des tâches à des clusters Dataproc sur Compute Engine.
- Affichez les journaux Google Cloud et Spark.
Comparaison entre Serverless pour Apache Spark et Dataproc sur Compute Engine
Si vous souhaitez provisionner et gérer l'infrastructure, puis exécuter des charges de travail sur Spark et d'autres frameworks de traitement Open Source, utilisez Dataproc sur Compute Engine. Le tableau suivant répertorie les principales différences entre Dataproc sur Compute Engine et Serverless pour Apache Spark.
Capacité | Serverless pour Apache Spark | Dataproc sur Compute Engine |
---|---|---|
Frameworks de traitement | Charges de travail par lot : Spark 3.5 et versions antérieures Sessions interactives : Spark 3.5 et versions antérieures |
Spark 3.5 et versions antérieures D'autres frameworks Open Source, tels que Hive, Flink, Trino et Kafka |
Sans serveur | Oui | Non |
Temps de démarrage | 60 s | Années 90 |
Contrôle de l'infrastructure | Non | Oui |
Gestion des ressources | Basé sur Spark | Basé sur YARN |
Compatibilité avec les GPU | Oui | Oui |
Sessions interactives | Oui | Non |
Conteneurs personnalisés | Oui | Non |
Accès aux VM (par exemple, SSH) | Non | Oui |
Versions Java | Java 17, 11 | Versions précédentes compatibles |
Conformité de la sécurité
Serverless pour Apache Spark respecte toutes les exigences de résidence des données, de CMEK, de VPC-SC et autres exigences de sécurité auxquelles Dataproc est conforme.
Fonctionnalités des charges de travail par lot
Vous pouvez exécuter les types de charges de travail par lot Serverless pour Apache Spark suivants :
- PySpark
- Spark SQL
- Spark R
- Spark (Java ou Scala)
Vous pouvez spécifier des propriétés Spark lorsque vous envoyez une charge de travail par lot Serverless pour Apache Spark.