Bucket de préproduction et bucket temporaire Dataproc

Lorsque vous créez un cluster, HDFS est utilisé comme système de fichiers par défaut. Vous pouvez ignorer ce comportement en définissant defaultFS en tant que bucket Cloud Storage. Par Dataproc crée également un environnement de préproduction Cloud Storage un bucket Cloud Storage temporaire dans votre projet ou réutilise des Buckets de préproduction et temporaires créés par Dataproc à partir du cluster précédent les demandes de création.

  • Bucket de préproduction : il permet de préparer les dépendances des tâches du cluster, le résultats du pilote de tâches et les fichiers de configuration du cluster. Reçoit également les résultats de la gcloud CLI gcloud dataproc clusters diagnostic .

  • Bucket temporaire : il permet de stocker des données éphémères associées au cluster et aux tâches, telles que les fichiers d'historique Spark et MapReduce.

Si vous ne spécifiez pas de bucket de préproduction ou temporaire lorsque vous créez un cluster, Dataproc définit un emplacement Cloud Storage aux États-Unis, en Asie, ou EU pour les buckets de préproduction et les buckets temporaires de votre cluster en fonction de la zone Compute Engine dans laquelle votre cluster est déployé. puis crée et gère ces buckets au niveau du projet et par emplacement. Les buckets de préproduction et les buckets temporaires créés par Dataproc partagés entre les clusters de la même région et sont créés avec un Conservation des suppressions réversibles dans Cloud Storage est définie sur 0 seconde.

Le bucket temporaire contient des données éphémères et a une valeur TTL de 90 jours. Le bucket de préproduction, qui peut contenir des données de configuration et les fichiers de dépendances requis par plusieurs clusters, ne comporte pas de valeur TTL. Cependant, vous pouvez appliquer une règle de cycle de vie vos fichiers de dépendances (fichiers avec l'extension ".jar" situés dans le dossier du bucket de préproduction) pour planifier la suppression de vos fichiers de dépendances nécessaires à vos clusters.

Créer vos propres buckets de préproduction et temporaires

Au lieu de compter sur la création d'un bucket de préproduction et d'un bucket temporaire par défaut, vous pouvez spécifier deux buckets Cloud Storage existants que Dataproc utilisera comme bucket de préproduction et comme bucket temporaire pour votre cluster.

Commande gcloud

Pour spécifier le bucket de préproduction et/ou le bucket temporaire de votre cluster, exécutez la commande gcloud dataproc clusters create avec les options --bucket et/ou --temp-bucket en local dans une fenêtre de terminal ou dans Cloud Shell.

gcloud dataproc clusters create cluster-name \
    --region=region \
    --bucket=bucket-name \
    --temp-bucket=bucket-name \
    other args ...

API REST

Pour spécifier le bucket de préproduction et le bucket temporaire du cluster, utilisez les champs ClusterConfig.configBucket et ClusterConfig.tempBucket dans la requête clusters.create.

Console

Dans la console Google Cloud, ouvrez Dataproc Créer un cluster . Sélectionnez le panneau "Personnaliser le cluster", puis utilisez le champ "Stockage de fichiers" pour spécifier ou sélectionner le bucket de préproduction du cluster.

Remarque: Actuellement, spécifier un bucket temporaire à l'aide de la console Google Cloud n'est pas pris en charge.

Dataproc utilise une structure de dossiers définie pour les buckets Cloud Storage associés à des clusters. Dataproc permet également d'associer plusieurs clusters à un bucket Cloud Storage. La structure de dossiers utilisée pour enregistrer le résultat du pilote de tâches dans Cloud Storage est la suivante :

cloud-storage-bucket-name
  - google-cloud-dataproc-metainfo
    - list of cluster IDs
        - list of job IDs
          - list of output logs for a job

Vous pouvez utiliser l'outil de ligne de commande gcloud, l'API Dataproc ou console Google Cloud pour répertorier le nom des buckets de préproduction et des buckets temporaires d'un cluster.

Console

  • Affichez les détails du cluster, y compris le nom du bucket de préproduction du cluster, sur la Clusters Dataproc de la console Google Cloud.
  • Dans la console Google Cloud Navigateur Cloud Storage , filtrez les résultats contenant "dataproc-temp-".

Commande gcloud

Exécutez la commande gcloud dataproc clusters describe en local dans une fenêtre de terminal ou dans Cloud Shell. Le bucket de préproduction et le bucket temporaire associés à votre cluster sont répertoriés dans les résultats.

gcloud dataproc clusters describe cluster-name \
    --region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
    configBucket: dataproc-...
    ...
    tempBucket: dataproc-temp...

API REST

Appelez clusters.get pour répertorier les détails du cluster, y compris le nom de son bucket de préproduction et le nom de son bucket temporaire.

{
 "projectId": "vigilant-sunup-163401",
 "clusterName": "cluster-name",
 "config": {
  "configBucket": "dataproc-...",
...
  "tempBucket": "dataproc-temp-...",
}

defaultFS

Vous pouvez définir core:fs.defaultFS sur un emplacement de bucket dans Cloud Storage (gs://defaultFS-bucket-name) pour définir Cloud Storage comme le système de fichiers par défaut. Cela définit également core:fs.gs.reported.permissions, l'autorisation signalée renvoyée par le connecteur Cloud Storage pour tous les fichiers, à 777.

Si Cloud Storage n'est pas défini comme système de fichiers par défaut, HDFS est utilisé et la propriété core:fs.gs.reported.permissions renvoie 700, la valeur par défaut.

gcloud dataproc clusters create cluster-name \
    --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \
    --region=region \
    --bucket=staging-bucket-name \
    --temp-bucket=temp-bucket-name \
    other args ...