Resultado del controlador de trabajos de Dataproc

Cuando envías un trabajo de Dataproc, Dataproc recopila automáticamente el resultado del trabajo y lo pone a tu disposición. Esto significa que puedes revisar con rapidez el resultado del trabajo sin tener que mantener una conexión con el clúster mientras se ejecutan tus trabajos o puedes revisar archivos de registro complicados.

Opciones de salida del trabajo de Spark

El controlador del trabajo de Dataproc es un selector para muchos tipos de trabajo. Cuando se inician trabajos de Spark, se ejecutan como un wrapper en el ejecutable spark-submit subyacente, que inicia el controlador de Spark. El controlador de Spark ejecuta el trabajo en el clúster de Dataproc en el modo client o cluster de Spark:

  • Modo client: El controlador de Spark ejecuta el trabajo en el proceso spark-submit y los registros de Spark se envían al controlador de trabajo de Dataproc.

  • Modo cluster: El controlador de Spark ejecuta el trabajo en un contenedor de YARN. Los registros del controlador de Spark no están disponibles para el controlador de trabajo de Dataproc y solo contienen registros spark-submit (por ejemplo, “Envío de la aplicación enviada xxx”). Los registros del ejecutor y del resultado del controlador de Spark se encuentran en los registros del contenedor de YARN.

En las siguientes tablas, se enumeran las propiedades de Dataproc y Spark que afectan el destino del controlador de trabajos de Dataproc y los resultados del trabajo de Spark. Las propiedades de Dataproc y Spark enumeradas se pueden configurar con la marca --properties cuando se crea un clúster, y se aplicarán a todos los trabajos de Spark que se ejecuten en el clúster. Las propiedades de Spark también se pueden configurar con la marca --properties (sin el prefijo "spark:") cuando se envía un trabajo y se aplicarán solo al trabajo.

Propiedad Valor Default Descripción
dataproc:dataproc.logging.stackdriver.job.driver.enable True o False falso Cuando es true, el resultado del controlador del trabajo se encuentra en Logging, asociado con el recurso de trabajo. Cuando es false, el resultado del controlador del trabajo no está en Logging.
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable True o False falso Cuando es true, los registros del contenedor YARN de trabajo están asociados al recurso de trabajo. Cuando es false, los registros del contenedor YARN del trabajo están asociados con el recurso del clúster.
spark:spark.submit.deployMode cliente o clúster client Controla el modo client o cluster de Spark.

Resultado del controlador de trabajos de Dataproc

En las siguientes tablas, se indica el efecto de diferentes configuraciones de propiedades en el destino del resultado del controlador de trabajo de Dataproc.

dataproc:
dataproc.logging.stackdriver.job.driver.enable
Salida
false (predeterminado)
  • Se transmite al cliente.
  • En Cloud Storage, en el driverOutputResourceUri generado por Dataproc
  • No en Logging
verdadero
  • Se transmite al cliente.
  • En Cloud Storage, en el driverOutputResourceUri generado por Dataproc
  • En Logging: dataproc.job.driver en el recurso de trabajo

Salida del controlador de Spark

En las siguientes tablas, se indica el efecto de diferentes configuraciones de propiedades en el destino del resultado del controlador Spark.

spark:
spark.submit.deployMode
dataproc:
dataproc.logging.stackdriver.job.driver.enable
Resultado del controlador
client false (predeterminado)
  • Se transmite al cliente.
  • En Cloud Storage, en el driverOutputResourceUri generado por Dataproc
  • No en Logging
client verdadero
  • Se transmite al cliente.
  • En Cloud Storage, en el driverOutputResourceUri generado por Dataproc
  • En Logging: dataproc.job.driver en el recurso de trabajo
clúster false (predeterminado)
  • No transmitido al cliente
  • No está en Cloud Storage
  • En Logging, yarn-userlogs en el recurso de clúster
clúster verdadero
  • No transmitido al cliente
  • No está en Cloud Storage
  • En Logging: dataproc.job.yarn.container en el recurso de trabajo

Resultado del ejecutor de Spark

En las siguientes tablas, se indica el efecto que tienen las diferentes configuraciones de propiedad en el destino del resultado del ejecutor de Spark.

dataproc:
dataproc.logging.stackdriver.job.yarn.container.enable
Resultado del ejecutor
false (predeterminado) En Logging, yarn-userlogs en el recurso del clúster
verdadero En Logging, dataproc.job.yarn.container en el recurso de trabajo

Ver el resultado del trabajo

Puedes acceder al resultado del controlador del trabajo de Dataproc con Cloud Console, la CLI de gcloud o Cloud Storage.

Console

Para ver el resultado del trabajo, ve a la sección Trabajos de tu proyecto en Dataproc y haz clic en el ID del trabajo.

Si el trabajo se está ejecutando, el resultado del trabajo se actualiza de forma periódica con contenido nuevo.

Comando de gcloud

Cuando envías un trabajo con el comando gcloud dataproc jobs Submit, el resultado del trabajo se muestra en la consola. Puedes volver a unirlos en otro momento, en una computadora diferente o en una ventana nueva si pasas el ID de tu trabajo al comando gcloud dataproc jobs wait. El ID del trabajo es un GUID, como 5c1754a5-34f7-4553-b667-8a1199cb9cab. A continuación, se muestra un ejemplo.

gcloud dataproc jobs wait 5c1754a5-34f7-4553-b667-8a1199cb9cab \
    --project my-project-id --region my-cluster-region
Waiting for job output...
... INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.2-hadoop2
... 16:47:45 INFO client.RMProxy: Connecting to ResourceManager at my-test-cluster-m/
...

Cloud Storage

El resultado del trabajo se almacena en Cloud Storage, en el bucket de etapa de pruebas o en el bucket que especificaste cuando creaste el clúster. Se proporciona un vínculo al resultado del trabajo en Cloud Storage en el campo Job.driverOutputResourceUri que se muestra en los siguientes casos:

  • Una solicitud a la API de jobs.get
  • un comando job-id de gcloud dataproc jobs describe.
    $ gcloud dataproc jobs describe spark-pi
    ...
    driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput
    ...