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 processospark-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 registrosspark-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.
Propriedades de saída de jobs relacionadas do Dataproc e do Spark
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: |
Saída |
---|---|
false (padrão) |
|
true |
|
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: |
dataproc: |
Saída do driver |
---|---|---|
cliente | false (padrão) |
|
cliente | true |
|
cluster | false (padrão) |
|
cluster | true |
|
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: |
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.
![](https://cloud.google.com/static/dataproc/images/job-output.png?authuser=4&hl=pt-br)
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 ...