Saída do driver do job do Dataproc

Quando você envia um job do Dataproc, ele coleta automaticamente a saída do job e a disponibiliza. Isso significa que é possível analisar rapidamente a saída do job sem precisar manter uma conexão com o cluster enquanto os jobs são executados ou procurar arquivos de registro complicados.

Opções de saída do job do Spark

O driver do job do Dataproc é uma tela de início para muitos tipos de jobs. Ao iniciar jobs do Spark, ele é executado como um wrapper no executável spark-submit subjacente, que inicia o driver do Spark. O driver do Spark executa o job no cluster do Dataproc no modo client ou cluster do Spark:

  • Modo client: o driver do Spark executa o job no processo spark-submit, e os registros do Spark são enviados para o driver do job do Dataproc.

  • Modo cluster: o driver do Spark executa o job em um contêiner do YARN. Os registros do driver do Spark não estão disponíveis para o driver do job do Dataproc e contêm apenas registros spark-submit (por exemplo, "Enviado aplicativo xxx"). Os registros do executor e de saída do driver do Spark estão contidos nos registros de contêiner do YARN.

As tabelas a seguir listam as propriedades do Dataproc e do Spark, que afetam o destino do driver do job do Dataproc e da saída do job do Spark. As propriedades do Dataproc e do Spark listadas podem ser definidas com a sinalização --properties quando um cluster é criado e serão aplicadas a todos os jobs do Spark em execução no cluster. As propriedades do Spark também podem ser definidas com a sinalização --properties (sem o prefixo "spark:") quando um job é enviado e se aplicam apenas ao job.

Propriedade Valor Padrão Descrição
dataproc:dataproc.logging.stackdriver.job.driver.enable verdadeiro ou falso false Quando true, a saída do driver do job está no Logging, associada ao recurso do job. Quando false, a saída do driver do job não está no Logging.
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable verdadeiro ou falso false Quando true, os registros de contêiner do YARN do job são associados ao recurso do job. Quando false, os registros de contêiner do YARN do job são associados ao recurso do cluster.
spark:spark.submit.deployMode cliente ou cluster cliente Controla o modo Spark client ou cluster.

Saída do driver do job do Dataproc

As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino da saída do driver do job do Dataproc.

dataproc:
dataproc.logging.stackdriver.job.driver.enable
Saída
false (padrão)
  • Transmitido para o cliente
  • No Cloud Storage no driverOutputResourceUri gerado pelo Dataproc
  • Não no Logging
true
  • Transmitido para o cliente
  • No Cloud Storage no driverOutputResourceUri gerado pelo Dataproc
  • No Logging: dataproc.job.driver no recurso do job

Saída do driver do Spark

As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino da saída do driver do Spark.

spark:
spark.submit.deployMode
dataproc:
dataproc.logging.stackdriver.job.driver.enable
Saída do driver
cliente false (padrão)
  • Transmitido para o cliente
  • No Cloud Storage no driverOutputResourceUri gerado pelo Dataproc
  • Não no Logging
cliente true
  • Transmitido para o cliente
  • No Cloud Storage no driverOutputResourceUri gerado pelo Dataproc
  • No Logging: dataproc.job.driver no recurso do job
cluster false (padrão)
  • Não transmitida ao cliente
  • Fora do Cloud Storage
  • No Logging yarn-userlogs, no recurso do cluster
cluster true
  • Não transmitida ao cliente
  • Fora do Cloud Storage
  • No Logging: dataproc.job.yarn.container no recurso do job

Saída do executor do Spark

As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino da saída do executor do Spark.

dataproc:
dataproc.logging.stackdriver.job.yarn.container.enable
Saída do executor
false (padrão) No Logging: yarn-userlogs no recurso do cluster
true No Logging dataproc.job.yarn.container, no recurso do job

Ver resposta do job

É possível acessar os resultados do driver do job do Dataproc usando o Console do Cloud, a CLI gcloud ou o Cloud Storage.

Console

Para ver a saída do job, acesse a seção Jobs do Dataproc do projeto e clique no ID do job para ver a saída do job.

Se o job estiver em execução, a saída do job será atualizada periodicamente com novo conteúdo.

Comando gcloud

Quando você envia um job com o comando gcloud dataproc jobs send, a saída do job é exibida no console. É possível "retomar" a saída posteriormente, em um computador diferente ou em uma nova janela transmitindo o ID do job para o comando gcloud dataproc jobs wait. O código do job é um GUID, como 5c1754a5-34f7-4553-b667-8a1199cb9cab. Veja um exemplo:

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

A saída do job é armazenada no Cloud Storage no bucket de preparo ou no bucket especificado durante a criação do cluster. Um link para a saída do job no Cloud Storage é fornecido no campo Job.driverOutputResourceUri retornado por:

  • uma solicitação de API jobs.get.
  • um comando gcloud dataproc jobs describe job-id
    $ gcloud dataproc jobs describe spark-pi
    ...
    driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput
    ...