Exportar informações do job

Nesta página, descrevemos como exportar as informações dos seus jobs armazenadas no Batch para uma tabela do BigQuery usando o Workflows. Especificamente, aprenda a executar o fluxo de trabalho export-jobs de amostra e como ver as informações do job resultante no BigQuery.

Exportar as informações de um job é útil quando você quer reter as informações depois que um job é excluído automaticamente ou manualmente ou analisar as informações fora do Batch. Como alternativa, se você quiser exportar apenas informações de mudança de estado de tarefas e jobs para o BigQuery, consulte Monitorar jobs usando notificações.

Para saber como exportar informações de jobs armazenadas em outros serviços doGoogle Cloud , consulte a documentação de exportação desse serviço. Por exemplo, consulte as seguintes páginas:

Antes de começar

  1. Se você nunca usou o Batch, leia Começar a usar o Batch e ative o serviço concluindo os pré-requisitos para projetos e usuários.
  2. Enable the BigQuery and Workflows APIs.

    Enable the APIs

  3. Opcional: identifique um conjunto de dados ou uma tabela do BigQuery no seu projeto em que você quer armazenar as informações do job. Uma tabela precisa ter um esquema correspondente.

    Caso contrário, use o fluxo de trabalho "export-jobs" para criar um novo conjunto de dados ou tabela.

  4. Prepare uma conta de serviço para o fluxo de trabalho "export-jobs" fazendo o seguinte:

    1. Crie uma conta de serviço ou identifique uma conta de serviço atual.
    2. Para garantir que a conta de serviço tenha as permissões necessárias para executar o fluxo de trabalho "export-jobs", peça ao administrador para conceder a ela os seguintes papéis do IAM no projeto:

      Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

      O administrador também pode conceder à conta de serviço as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.

  5. Para receber as permissões necessárias para criar, implantar e executar o fluxo de trabalho "export-jobs", peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

  6. Verifique se os usuários do seu projeto podem acessar as informações do job exportado.

    Para garantir que um usuário tenha as permissões necessárias para exportar informações de jobs, peça ao administrador para conceder a ele o papel Visualizador de dados do BigQuery (roles/bigquery.dataViewer) do IAM na tabela, no conjunto de dados ou no projeto.

Exportar informações do job

Esta seção explica como exportar informações de jobs usando o fluxo de trabalho export-jobs, que faz parte do exemplo de código export-to-bigquery. O fluxo de trabalho "export-jobs" exporta as informações dos jobs do seu projeto que estão na região especificada e atendem aos critérios de filtro especificados.

O fluxo de trabalho "export-jobs" exporta informações de jobs para uma tabela especificada em um conjunto de dados especificado, que são criados automaticamente pelo fluxo de trabalho se ainda não existirem no seu projeto. Por padrão, o fluxo de trabalho "export-jobs" também exclui os jobs exportados do Batch, mas você pode editar o fluxo de trabalho para não excluir os jobs.

Para cada fluxo de trabalho de exportação de jobs que você quer usar, faça o seguinte:

  1. Configure a definição do fluxo de trabalho.
  2. Crie e implante o fluxo de trabalho.
  3. Execute o fluxo de trabalho. Repita essa etapa sempre que quiser exportar os jobs especificados.

Configurar a definição do fluxo de trabalho

  1. Faça o download do arquivo export-to-bigquery-delete-batch-jobs.yaml no GitHub.

  2. Abra o arquivo export-to-bigquery-delete-batch-jobs.yaml em um editor de texto. Em seguida, faça as seguintes edições:

    1. Substitua sys.get_env("GOOGLE_CLOUD_PROJECT_ID") pelo ID do projeto formatado como uma string, por exemplo, "my-project-id".

    2. Substitua sys.get_env("GOOGLE_CLOUD_LOCATION") pela região que contém os jobs que você quer exportar, formatada como uma string. Por exemplo, "us-central1".

    3. Opcional: edite os critérios de filtro que especificam quais jobs exportar.

      Por padrão, o fluxo de trabalho export-jobs especifica os critérios de filtro "(status.state:SUCCEEDED OR status.state:FAILED OR status.state:CANCELLED) AND create_time<=\"2023-05-01T00:00:00Z\"". Esse critério de filtro padrão exporta informações apenas para jobs que estão no estado SUCCEEDED, FAILED ou CANCELLED e foram criados antes ou até o carimbo de data/hora 2023-05-01T00:00:00Z RFC 3339.

    4. Opcional: substitua default_dataset_id por um nome diferente para o conjunto de dados que você quer que o fluxo de trabalho export-jobs use ou crie.

    5. Opcional: substitua default_table_id por um nome diferente da tabela que você quer que o fluxo de trabalho de exportação de jobs use ou crie.

    6. Se você não quiser que os jobs exportados sejam excluídos pelo fluxo de trabalho, faça o seguinte:

      1. Remova as seguintes linhas:

                - log_delete_step:
                    call: sys.log
                    args:
                      text: ${"Deleting Batch job " + j.name}
                      severity: NOTICE
                - delete_job:
                    call: googleapis.batch.v1.projects.locations.jobs.delete
                    args:
                      name: ${j.name}
        
      2. Remova + " and deleted".

    7. Salve o arquivo. Mantenha o arquivo aberto.

Criar e implantar o fluxo de trabalho

  1. No console Google Cloud , acesse a página Fluxos de trabalho:

    Acessar fluxos de trabalho

  2. Na página Fluxos de trabalho, clique em Criar.

  3. No campo Nome do fluxo de trabalho, insira um nome para o fluxo de trabalho, por exemplo, export-batch-jobs-us-central1.

  4. Na lista Conta de serviço, selecione a conta de serviço que você preparou.

  5. Clique em Próxima.

  6. No editor de fluxo de trabalho, substitua o fluxo de trabalho de exemplo pelo conteúdo do arquivo export-to-bigquery-delete-batch-jobs.yaml. Em seguida, feche o arquivo.

  7. Clique em Implantar. A página Detalhes do fluxo de trabalho é aberta.

Executar o fluxo de trabalho

  1. Na página Detalhes do fluxo de trabalho, clique em Executar. A página Executar fluxo de trabalho é aberta.

  2. Na página Executar fluxo de trabalho que aparece, clique em Executar.

  3. Na página Detalhes da execução que é aberta, aguarde a conclusão da execução do fluxo de trabalho. Por exemplo, o tempo de execução para exportar e excluir alguns jobs geralmente é de alguns segundos, mas pode levar mais tempo se você estiver exportando e excluindo muitos jobs.

    Quando o fluxo de trabalho terminar de ser executado, o painel Saída vai mostrar os resultados.

Ver as informações do job exportado

Nesta seção, explicamos como ver os dados da tabela criados pelo fluxo de trabalho export-jobs. Por exemplo, siga estas etapas para verificar se o fluxo de trabalho foi executado corretamente e navegar pelos dados da tabela. Para mais informações sobre como ver e usar as informações de jobs exportadas, como escrever consultas, consulte Gerenciar dados de tabelas na documentação do BigQuery.

  1. No Google Cloud console, acesse a página BigQuery.

    Acessar o BigQuery

  2. No painel Explorer, abra a tabela com as informações do job exportado:

    1. No campo Pesquisar recursos do BigQuery, insira o nome da tabela do fluxo de trabalho de jobs de exportação. Por exemplo, o nome da tabela padrão é default_table_id.
    2. Clique no nome da tabela. A página de detalhes da tabela é aberta.
    3. Na página de detalhes da tabela, clique na guia Detalhes.

      Na guia Detalhes, observe o carimbo de data/hora Última modificação e o Número de linhas.

    4. Na página de detalhes da tabela, clique na guia Visualizar.

A seguir