Lorsque vous activez la mise en cache d'un cluster Dataproc, celui-ci 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 le temps passé à récupérer les données dans 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 les données.
Limites et exigences
- La mise en 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 les versions d'image Dataproc sur Compute Engine
2.0.72+ or 2.1.20+
. - Chaque nœud de cluster doit disposer de disques SSD locaux associés à l'interface NVME (Non-Volatile Memory Express). Les disques persistants ne sont pas compatibles. Les données ne sont mises en cache que sur les SSD locaux NVME.
- Le cluster utilise le compte de service de VM par défaut pour l'authentification. Les comptes de service de VM personnalisés ne sont pas compatibles.
- Le cluster comporte un nœud maître et
Activer la mise en cache du cluster
Vous pouvez activer la mise en cache des clusters 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 la section Améliorations des performances Spark, sélectionnez Activer 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 du cluster, cliquez sur Créer.
gcloud CLI
Exécutez la commande gcloud dataproc clusters create en local dans une fenêtre de terminal ou dans Cloud Shell à l'aide de la propriété de cluster dataproc:dataproc.cluster.caching.enabled=true
.
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 une requête clusters.create.