Lorsque vous activez le cache du cluster Dataproc, le cluster met en cache les données Cloud Storage auxquelles vos tâches Spark accèdent fréquemment.
Avantages
- Amélioration des performances:la mise en cache peut améliorer les performances des tâches en réduisant la quantité de temps passé à récupérer des données depuis le stockage.
- Coûts de stockage réduits:étant donné que les données "chaudes" sont mises en cache sur un disque local, moins d'appels d'API sont effectués dans le stockage pour récupérer des données.
Limites et exigences
- Le cache ne s'applique qu'aux jobs Spark Dataproc.
- Seules les données Cloud Storage sont mises en cache.
- La mise en cache ne s'applique qu'aux clusters qui répondent aux exigences suivantes :
- Le cluster comporte un nœud maître et
n
nœuds de calcul (Les clusters à haute disponibilité et à nœud unique ne sont pas compatibles.) - Cette fonctionnalité est disponible dans Dataproc sur Compute Engine dans les versions d'image
2.0.72+ or 2.1.20+
. - Chaque nœud de cluster doit comporter disques SSD locaux associé au NVME (Non-Volatile Memory Express) (les disques persistants ne sont pas compatibles). Les données sont mises en cache sur les SSD locaux NVME uniquement.
- Le cluster utilise le compte de service de VM par défaut pour l'authentification. Comptes de service de VM personnalisés ne sont pas acceptés.
- Le cluster comporte un nœud maître et
Activer la mise en cache du cluster
Vous pouvez activer le cache de cluster lorsque vous créez un cluster Dataproc à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API Dataproc.
console Google Cloud
- Ouvrez la page Dataproc Créer un cluster sur Compute Engine dans la console Google Cloud.
- Le panneau Configurer le cluster est sélectionné. Dans Section Amélioration des performances Spark, sélectionnez Activez la mise en cache Google Cloud Storage.
- Après avoir confirmé et spécifié les détails du cluster dans les panneaux de création de cluster, cliquez sur Créer.
CLI gcloud
Exécutez la commande gcloud dataproc clusters create
en local dans une fenêtre de terminal ou dans
Cloud Shell
à l'aide de dataproc:dataproc.cluster.caching.enabled=true
propriété de cluster.
Exemple :
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties dataproc:dataproc.cluster.caching.enabled=true \ --num-master-local-ssds=2 \ --master-local-ssd-interface=NVME \ --num-worker-local-ssds=2 \ --worker-local-ssd-interface=NVME \ other args ...
API REST
Définissez SoftwareConfig.properties pour inclure la propriété de cluster "dataproc:dataproc.cluster.caching.enabled": "true"
dans le cadre d'une requête clusters.create.