Esta página descreve como exportar as informações dos jobs armazenados no Batch para uma tabela do BigQuery usando o Workflows. Especificamente, aprenda a executar o fluxo de trabalho de jobs de exportação de amostra e como visualizar as informações do job resultante no BigQuery.
A exportação das informações de um job é útil quando você quer manter 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 Google Cloud serviços, consulte a documentação de exportação desse serviço. Por exemplo, consulte as seguintes páginas:
Antes de começar
- Se você nunca usou o Batch, consulte Introdução ao Batch e ative o Batch concluindo os pré-requisitos para projetos e usuários.
Ative as APIs BigQuery e Workflows.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.Opcional: identifique um conjunto de dados ou 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, você pode usar o fluxo de trabalho de jobs de exportação para criar um novo conjunto de dados ou tabela.
-
Prepare uma conta de serviço para o fluxo de trabalho de jobs de exportação fazendo o seguinte:
- Crie uma nova conta de serviço ou identifique uma conta de serviço existente.
-
Para garantir que a conta de serviço tenha as permissões necessárias para executar o fluxo de trabalho de jobs de exportação, peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço no projeto:
-
Gravar registros:
gravador de registros (
roles/logging.logWriter) -
Criar e editar conjuntos de dados e tabelas do BigQuery:
administrador do BigQuery (
roles/bigquery.admin) -
Visualizar e excluir jobs do Batch:
editor de jobs do Batch (
roles/batch.jobsEditor)
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 de outros papéis predefinidos.
-
Gravar registros:
gravador de registros (
-
Para ter as permissões necessárias para criar, implantar e executar o fluxo de trabalho de jobs de exportação, peça ao administrador para conceder os seguintes papéis do IAM no projeto:
-
Visualizar jobs:
leitor de jobs do Batch (
roles/batch.jobsViewer) -
Visualizar contas de serviço:
Visualizar contas de serviço (
roles/iam.serviceAccountViewer) -
Visualizar conjuntos de dados e tabelas do BigQuery:
leitor de dados do BigQuery (
roles/bigquery.dataViewer) -
Criar, implantar e executar fluxos de trabalho:
editor do Workflows (
roles/workflows.editor)
-
Visualizar jobs:
leitor de jobs do Batch (
-
Verifique se os usuários do seu projeto podem visualizar 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 o papel do IAM de leitor de dados do BigQuery (
roles/bigquery.dataViewer) a um usuário 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 de jobs de exportação, que é do
export-to-bigquery exemplo de código.
O fluxo de trabalho de jobs de exportação 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 de jobs de exportação 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 de jobs de exportação também exclui os jobs exportados do Batch, mas você pode editar o fluxo de trabalho de jobs de exportação para não excluir os jobs.
Para cada fluxo de trabalho de jobs de exportação que você quer usar, faça o seguinte:
- Configure a definição do fluxo de trabalho.
- Crie e implante o fluxo de trabalho.
- Execute o fluxo de trabalho. Repita esta etapa sempre que quiser exportar os jobs especificados.
Configurar a definição do fluxo de trabalho
Faça o download do
export-to-bigquery-delete-batch-jobs.yamlarquivo do GitHub.Abra o arquivo
export-to-bigquery-delete-batch-jobs.yamlem um editor de texto. Em seguida, faça as seguintes edições:Substitua
sys.get_env("GOOGLE_CLOUD_PROJECT_ID")pelo ID do projeto formatado como uma string, por exemplo,"my-project-id".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".Opcional: edite os critérios de filtro que especificam quais jobs exportar.
Por padrão, o fluxo de trabalho de jobs de exportação 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\"". Esses critérios de filtro padrão exportam informações apenas para jobs que estão no estadoSUCCEEDED,FAILED, ouCANCELLEDe foram criados antes ou pelo2023-05-01T00:00:00ZRFC 3339 carimbo de data/hora.Opcional: substitua
default_dataset_idpor um nome diferente para o conjunto de dados que você quer que o fluxo de trabalho de jobs de exportação use ou crie.Opcional: substitua
default_table_idpor um nome diferente da tabela que você quer que o fluxo de trabalho de jobs de exportação use ou crie.Se você não quiser que os jobs exportados sejam excluídos pelo fluxo de trabalho, faça o seguinte:
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}Remova
+ " and deleted".
Salve o arquivo. Mantenha o arquivo aberto.
Criar e implantar o fluxo de trabalho
Noconsole, acesse a página Fluxos de trabalho : Google Cloud
Na página Fluxos de trabalho, clique em Criar.
No campo Nome do fluxo de trabalho , insira um nome para o fluxo de trabalho, por exemplo,
export-batch-jobs-us-central1.Na lista Conta de serviço, selecione a conta de serviço que você preparou.
Clique em Próxima.
No editor de fluxo de trabalho, substitua o fluxo de trabalho de amostra pelo conteúdo do arquivo
export-to-bigquery-delete-batch-jobs.yaml. Em seguida, você pode fechar o arquivo.Clique em Implantar. A página Detalhes do fluxo de trabalho será aberta.
Executar o fluxo de trabalho
Na página Detalhes do fluxo de trabalho, clique em Executar. A página Executar fluxo de trabalho será aberta.
Na página Executar fluxo de trabalho que é aberta, clique em Executar.
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 a execução 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.
Visualizar as informações do job exportado
Esta seção apresenta como visualizar os dados da tabela criados pelo fluxo de trabalho de jobs de exportação. Por exemplo, siga as etapas abaixo para verificar se o fluxo de trabalho foi executado e navegar pelos dados da tabela. Para mais informações sobre como visualizar e usar as informações do job exportado, como escrever consultas, consulte Gerenciar dados da tabela na documentação do BigQuery.
Noconsole, acesse a página BigQuery : Google Cloud
No painel Explorer, abra a tabela das informações do job exportado:
- 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. - Clique no nome da tabela. A página de detalhes da tabela será aberta.
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.
Na página de detalhes da tabela, clique na guia Visualização.
- 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 é
A seguir
- Saiba mais sobre fluxos de trabalho.
- Saiba mais sobre BigQuery.
- Saiba mais sobre o Batch: