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 la valeur "defaultFS" en tant que bucket Cloud Storage. Par défaut, Dataproc crée également un bucket de préproduction Cloud Storage et un bucket temporaire Cloud Storage dans votre projet, ou réutilise les buckets de préproduction et les buckets temporaires créés par Dataproc à partir des requêtes de création de cluster précédentes.

  • 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. Il reçoit également le résultat de la commande gcloud dataproc clusters diagnose de la gcloud CLI.

  • 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 ni de bucket temporaire lorsque vous créez un cluster, Dataproc définit un emplacement Cloud Storage aux États-Unis, en ASIA ou dans l'UE 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 sont partagés entre les clusters de la même région.

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 les données de configuration et les fichiers de dépendances nécessaires à plusieurs clusters, n'a pas de valeur TTL. Toutefois, vous pouvez appliquer une règle de cycle de vie à vos fichiers de dépendance (fichiers avec une extension de nom de fichier ".jar" située dans le dossier du bucket de préproduction) pour planifier la suppression de vos fichiers de dépendance lorsqu'ils ne sont plus 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 la page 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: Il n'est actuellement pas possible de spécifier un bucket temporaire à l'aide de la console Google Cloud.

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 la console Google Cloud pour répertorier le nom des buckets de préproduction et des buckets temporaires d'un cluster.

Console

  • \Afficher les détails du cluster, y compris le nom du bucket de préproduction du cluster, sur la page Clusters Dataproc dans la console Google Cloud.
  • Sur la page du navigateur Cloud Storage de la console Google Cloud, 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 ...