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 a necessidade de manter uma conexão com o cluster enquanto os jobs são executados ou de conferir arquivos de registro complexos.
Registros do Spark
Há dois tipos de registros do Spark: registros do driver e do executor.
Os registros do driver do Spark contêm a saída do job. Os registros do executor do Spark contêm jobs executáveis
ou saída da tela de início, como spark-submit
"Submit application xxx" mensagem, e
pode ser útil para depurar falhas em jobs.
O driver de job do Dataproc, que é diferente do driver do Spark,
é uma tela de início para muitos tipos de job. Ao iniciar jobs do Spark, ele é executado como
no executável spark-submit
, que inicia a instância do Spark
motorista. O driver do Spark executa o job no cluster do Dataproc no Spark
Modo client
ou cluster
:
Modo
client
: o driver do Spark executa o job no processospark-submit
. e os registros do Spark são enviados ao driver do job do Dataproc.Modo
cluster
: o driver do Spark executa o job em um contêiner YARN. Os registros do driver do Spark não estão disponíveis para o driver de job do Dataproc.
Visão geral das propriedades dos jobs do Dataproc e do Spark
Propriedade | Valor | Padrão | Descrição |
---|---|---|---|
dataproc:dataproc.logging.stackdriver.job.driver.enable |
verdadeiro ou falso | falso | Precisa ser definido no momento da criação do cluster. 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.Observação: as seguintes configurações de propriedade do cluster também são necessárias para ativar os registros do driver do job no Logging e são definidas por padrão quando um cluster é criado: dataproc:dataproc.logging.stackdriver.enable=true
e dataproc:jobs.file-backed-output.enable=true
|
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable |
verdadeiro ou falso | falso | Precisa ser definido no momento da criação do cluster.
Quando true , os registros do contêiner YARN do job são associados
ao recurso do job. Quando false , os registros do contêiner YARN do job
são associados ao recurso do cluster. |
spark:spark.submit.deployMode |
cliente ou cluster | cliente | Controla o modo client ou cluster do Spark. |
Jobs do Spark enviados usando a API Dataproc jobs
As tabelas desta seção listam o efeito de diferentes configurações de propriedade no
destino da saída do driver do job do Dataproc quando os jobs são enviados
pela API jobs
do Dataproc, que inclui envio de jobs pelo
Console do Google Cloud, CLI gcloud e bibliotecas de cliente do Cloud.
As propriedades do Dataproc e do Spark listadas
podem ser definidas com a flag --properties
quando um cluster é criado e serão aplicadas
a todos os jobs do Spark executados no cluster. As propriedades do Spark também podem ser definidas com a
flag --properties
(sem o prefixo "spark:") quando um job é
enviado para a API jobs
do Dataproc e serão aplicadas apenas ao job.
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 job driver do Dataproc.
dataproc: |
Saída |
---|---|
false (padrão) |
|
verdadeiro |
|
Registros do driver do Spark
As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino dos registros do driver do Spark.
spark: |
dataproc: |
dataproc: |
Saída do driver |
---|---|---|---|
cliente | false (padrão) | verdadeiro ou falso |
|
cliente | verdadeiro | verdadeiro ou falso |
|
cluster | false (padrão) | falso |
|
cluster | verdadeiro | verdadeiro |
|
Registros do executor do Spark
As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino dos registros do executor do Spark.
dataproc: |
Registro do executor |
---|---|
false (padrão) | No Logging: yarn-userlogs no recurso do cluster |
verdadeiro | No Logging dataproc.job.yarn.container , no recurso do job |
Jobs do Spark enviados sem usar a API jobs
do Dataproc
Esta seção lista o efeito de diferentes configurações de propriedade no destino dos registros de jobs do Spark quando eles são enviados sem usar a API jobs
do Dataproc, por exemplo, ao enviar um job diretamente em um nó do cluster usando spark-submit
ou ao usar um notebook Jupyter ou Zeppelin. Esses jobs não têm IDs ou drivers de jobs do Dataproc.
Registros do driver do Spark
As tabelas a seguir listam o efeito de diferentes configurações de propriedade no destino dos registros do driver do Spark para trabalhos não enviados pela API jobs
do Dataproc.
spark: |
Saída do driver |
---|---|
cliente |
|
cluster |
|
Registros do executor do Spark
Quando os jobs do Spark não são enviados pela API Dataproc jobs
, o executor
os registros estão no Logging yarn-userlogs
no recurso do cluster.
Conferir a saída do job
É possível acessar a saída do job do Dataproc no console do Google Cloud a CLI gcloud, o Cloud Storage ou o Logging.
Console
Para acessar a saída do job, acesse a página do Dataproc Vagas de emprego e clique no ID do job para ver a saída dele.
Se o job estiver em execução, a saída dele será atualizada periodicamente com conteúdo novo.
Comando gcloud
Quando você envia um job com o
gcloud dataproc jobs submit
a saída do job será exibida no console. Você pode "voltar a participar"
saída posteriormente, em um computador diferente ou em
uma nova janela passando o ID do seu job para o
gcloud dataproc jobs aguarde
kubectl. O código do job é um GUID, como 5c1754a5-34f7-4553-b667-8a1199cb9cab
. Aqui está 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 em o bucket de preparo ou no bucket que você especificou ao criar o cluster. Um link para o resultado do job no Cloud Storage é fornecido Job.driverOutputResourceUri campo 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 ...