Etapa de pruebas de Dataproc y depósitos temporales

Cuando creas un clúster, HDFS se usa como el sistema de archivos predeterminado. Puedes anular este comportamiento; para ello, configura defaultFS como un bucket de Cloud Storage. De forma predeterminada, Dataproc también crea una etapa de pruebas de Cloud Storage y un bucket temporal de Cloud Storage en tu proyecto o vuelve a usar los depósitos temporales y de etapa de pruebas existentes creados por Dataproc de solicitudes anteriores de creación de clústeres.

  • Bucket de staging: se usa para almacenar en etapa intermedia las dependencias de trabajos de clústeres, los resultados del controlador de trabajos y los archivos de configuración de clústeres. También recibe resultados del comando gcloud dataproc clusters diagnose de la CLI de gcloud.

  • Bucket temporal: se usa para almacenar datos de trabajos y clústeres efímeros, como los archivos de historial de Spark y MapReduce.

Si no especificas un bucket temporal o de etapa de pruebas, Dataproc establece una Ubicación de Cloud Storage en EE.UU., ASIA o UE para los buckets temporales y de etapa de pruebas de tu clúster según la zona de Compute Engine en la que se implementa tu clúster y, luego, crea y administra estos buckets por ubicación en el proyecto. Los buckets temporales y de etapa de pruebas que crea Dataproc se comparten entre los clústeres de la misma región. De forma predeterminada, el bucket temporal tiene un TTL de 90 días.

En lugar de depender de la creación de un bucket temporal y de staging predeterminado, puedes especificar los buckets de Cloud Storage existentes que Dataproc usará como bucket temporal y de etapa de pruebas del clúster.

Comando de gcloud

Ejecuta el comando gcloud dataproc clusters create con las marcas --bucket o --temp-bucket de forma local en una ventana de la terminal o en Cloud Shell para especificar la etapa de pruebas o el bucket temporal de tu clúster.

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

API de REST

Usa los campos ClusterConfig.configBucket y ClusterConfig.tempBucket en una solicitud clusters.create para especificar los depósitos temporales y de etapa de pruebas de tu clúster.

Console

En Cloud Console, abre la página Create a cluster (Crear un clúster) de Dataproc. Selecciona el panel Personalizar clúster y, luego, usa el campo Almacenamiento de archivos para especificar o seleccionar el bucket de etapa de pruebas del clúster.

Nota: Actualmente, no se puede especificar un bucket temporal mediante Cloud Console.

Dataproc usa una estructura de carpetas definida para los depósitos de Cloud Storage adjuntos a los clústeres. Dataproc también admite adjuntar más de un clúster a un bucket de Cloud Storage. Se usa la siguiente estructura de carpetas para guardar el resultado del controlador del trabajo en Cloud Storage:

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

Puedes usar la herramienta de línea de comandos de gcloud, la API de Dataproc o Google Cloud Console para enumerar el nombre de los buckets temporales y de etapa de pruebas de un clúster.

Comando de gcloud

Ejecuta el comando gcloud dataproc clusters describe de forma local en una ventana de la terminal o en Cloud Shell. Los depósitos de estapas de pruebas y temporales asociados con tu clúster se enumeran en el resultado.

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

API de REST

Llama a clusters.get para ver una lista de los detalles del clúster, incluido el nombre de los buckets temporales y de etapa de pruebas del clúster.

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

Console

Visualiza los detalles del clúster, incluido el nombre del depósito de etapa de pruebas del clúster, en la página Clústeres de Dataproc en Cloud Console.

Nota: Por el momento, no se admite la visualización del bucket temporal en la consola.

defaultFS

Puedes configurar core:fs.defaultFS en una ubicación de bucket en Cloud Storage (gs://defaultFS-bucket-name) para configurar Cloud Storage como el sistema de archivos predeterminado. Esto también establece core:fs.gs.reported.permissions, el permiso informado que muestra el conector de Cloud Storage para todos los archivos, en 777. Si Cloud Storage no está configurado como el sistema de archivos predeterminado, se usará HDFS y la propiedad core:fs.gs.reported.permissions mostrará 700, el valor predeterminado.

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 ...