Questa pagina descrive come esportare le informazioni relative ai job memorizzate in Batch in una tabella BigQuery utilizzando i flussi di lavoro. In particolare, scopri come eseguire il flusso di lavoro di esportazione dei job di esempio e come visualizzare le informazioni sul job risultanti in BigQuery.
L'esportazione delle informazioni di un job è utile quando vuoi conservarle dopo che un job è stato eliminato automaticamente o manualmente o analizzarle al di fuori di Batch. In alternativa, se vuoi esportare solo le informazioni relative alle modifiche dello stato di attività e job in BigQuery, consulta Monitorare i job utilizzando le notifiche.
Per scoprire come esportare le informazioni sul job archiviate in altri per i servizi Google Cloud, consulta la documentazione di esportazione per i relativi servizi. Ad esempio, consulta le seguenti pagine:
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta la guida introduttiva all'utilizzo di Batch e attivalo completando i prerequisiti per progetti e utenti.
-
Enable the BigQuery and Workflows APIs.
(Facoltativo) Identifica un set di dati o una tabella BigQuery esistente nel tuo progetto in cui vuoi memorizzare le informazioni sul job. Una tabella esistente deve avere uno schema corrispondente.
In caso contrario, puoi utilizzare il flusso di lavoro dei job di esportazione per creare un nuovo set di dati o una nuova tabella.
-
Prepara un account di servizio per il flusso di lavoro dei job di esportazione nel seguente modo:
- Crea un nuovo account di servizio o identificare un account di servizio esistente.
-
Per assicurarti che l'account di servizio disponga delle autorizzazioni necessarie per eseguire il flusso di lavoro dei job di esportazione, chiedi all'amministratore di concedere all'account di servizio i seguenti ruoli IAM nel progetto:
-
Scrivi log:
Logs Writer (
roles/logging.logWriter
) -
Crea e modifica set di dati e tabelle BigQuery:
Amministratore BigQuery (
roles/bigquery.admin
) -
Visualizza ed elimina i job batch:
Batch Job Editor (
roles/batch.jobsEditor
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di fornire l'account di servizio le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
-
Scrivi log:
Logs Writer (
-
Per ottenere le autorizzazioni necessarie per creare, eseguire il deployment e il flusso di lavoro di esportazione job, chiedi all'amministratore di concederti seguenti ruoli IAM sul progetto:
-
Visualizza i job:
Batch Job Viewer (
roles/batch.jobsViewer
) -
Visualizza gli account di servizio:
Visualizza account di servizio (
roles/iam.serviceAccountViewer
) -
Visualizza set di dati e tabelle BigQuery:
Visualizzatore dati BigQuery (
roles/bigquery.dataViewer
) -
Crea, esegui il deployment e l'esecuzione di flussi di lavoro:
Editor flussi di lavoro (
roles/workflows.editor
)
-
Visualizza i job:
Batch Job Viewer (
-
Assicurati che gli utenti del tuo progetto possano visualizzare le informazioni sul job esportate.
Per garantire che un utente abbia i requisiti autorizzazioni per esportare le informazioni sul job, chiedi all'amministratore di concedere a un utente Ruolo IAM Visualizzatore dati BigQuery (
roles/bigquery.dataViewer
) nella tabella, nel set di dati o nel progetto.
Esportare le informazioni sul job
Questa sezione spiega come esportare le informazioni sul job utilizzando la proprietà
export-jobs, che proviene dalla
Esempio di codice export-to-bigquery
.
Il flusso di lavoro export-job esporta le informazioni relative ai job del progetto
si trovano nella regione specificata e soddisfano i criteri di filtro specificati.
Il flusso di lavoro export-jobs esporta le informazioni sui job in una tabella specificata in un set di dati specificato, che vengono create automaticamente dal flusso di lavoro se non esistono già nel progetto. Per impostazione predefinita, il flusso di lavoro di esportazione dei job elimina anche i job esportati da Batch, ma facoltativamente puoi modificare il flusso di lavoro di esportazione dei job in modo che i job non vengano eliminati.
Per ogni flusso di lavoro dei job di esportazione che vuoi utilizzare, segui questi passaggi:
- Configura la definizione del flusso di lavoro.
- Crea ed esegui il deployment del flusso di lavoro.
- Esegui il flusso di lavoro. Ripeti questo passaggio ogni volta esportare i job specificati.
Configura la definizione del flusso di lavoro
Scarica il file
export-to-bigquery-delete-batch-jobs.yaml
da GitHub.Apri il file
export-to-bigquery-delete-batch-jobs.yaml
in un editor di testo. Apporta quindi le seguenti modifiche:Sostituisci
sys.get_env("GOOGLE_CLOUD_PROJECT_ID")
con il tuo ID progetto formattata come stringa, ad esempio"my-project-id"
.Sostituisci
sys.get_env("GOOGLE_CLOUD_LOCATION")
con la regione che contiene i job da esportare, formattata come stringa, ad esempio"us-central1"
.(Facoltativo) Modifica i criteri di filtro che specificano i job da esportare.
Per impostazione predefinita, il flusso di lavoro export-jobs specifica i criteri di filtro
"(status.state:SUCCEEDED OR status.state:FAILED) AND create_time<=\"2023-05-01T00:00:00Z\""
. Questo criterio di filtro predefinito consente di esportare le informazioni solo per i job nello statoSUCCEEDED
oFAILED
e creati prima o dal2023-05-01T00:00:00Z
RFC 3339 timestamp.(Facoltativo) Sostituisci
default_dataset_id
con un altro nome per che deve essere utilizzato o creato dal flusso di lavoro di esportazione.(Facoltativo) Sostituisci
default_table_id
con un altro nome della tabella che dovrà essere creato o utilizzato dal flusso di lavoro di esportazione.Se non vuoi che i job esportati vengano eliminati dal flusso di lavoro, procedi nel seguente modo:
Rimuovi le seguenti righe:
- 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}
Rimuovi
+ " and deleted"
.
Salva il file. Tieni aperto il file.
Crea ed esegui il deployment del flusso di lavoro
Nella console Google Cloud, vai alla pagina Workflows:
Nella pagina Flussi di lavoro, fai clic su
Crea.Nel campo Nome flusso di lavoro, inserisci un nome per il flusso di lavoro, ad esempio
export-batch-jobs-us-central1
.Nell'elenco Account di servizio, seleziona l'account di servizio preparato.
Fai clic su Avanti.
Nell'editor del flusso di lavoro, sostituisci il flusso di lavoro di esempio con i contenuti il file
export-to-bigquery-delete-batch-jobs.yaml
. Dopodiché puoi chiudere il file.Fai clic su Esegui il deployment. Viene visualizzata la pagina Dettagli flusso di lavoro.
Esegui il flusso di lavoro
Nella pagina Dettagli flusso di lavoro, fai clic su
Esegui. La pagina Esegui flusso di lavoro si apre.Nella pagina Esegui flusso di lavoro che si apre, fai clic su Esegui.
Nella pagina Dettagli esecuzione che si apre, attendi il completamento dell'esecuzione del flusso di lavoro. Ad esempio, il tempo di esecuzione per esportare ed eliminare alcuni job è in genere di pochi secondi, ma l'esecuzione potrebbe richiedere più tempo se stai esportando ed eliminando molti job.
Al termine dell'esecuzione del flusso di lavoro, nel riquadro Output viene visualizzato che consentono di analizzare i dati e visualizzare i risultati.
Visualizzare le informazioni sul job esportato
Questa sezione illustra come visualizzare i dati della tabella creati dal flusso di lavoro export-jobs. Ad esempio, puoi utilizzare i seguenti passaggi per verificare che il flusso di lavoro sia stato eseguito correttamente e sfogliare i dati della tabella. Per ulteriori informazioni come visualizzare e utilizzare le informazioni sui job esportate, ad esempio scrivere query, consulta Gestire i dati della tabella nel documentazione di BigQuery.
Nella console Google Cloud, vai alla pagina BigQuery:
Nel riquadro Explorer, apri la tabella contenente le informazioni sul job esportato:
- Nel campo Cerca risorse BigQuery, inserisci il nome
della tabella dal flusso di lavoro dei job di esportazione. Ad esempio, il valore predefinito
il nome della tabella è
default_table_id
. - Fai clic sul nome della tabella. Viene visualizzata la pagina dei dettagli della tabella.
Nella pagina dei dettagli della tabella, fai clic sulla scheda Dettagli.
Nella scheda Dettagli, controlla il timestamp Ultima modifica e il Numero di righe:
Nella pagina dei dettagli della tabella, fai clic sulla scheda Anteprima.
- Nel campo Cerca risorse BigQuery, inserisci il nome
della tabella dal flusso di lavoro dei job di esportazione. Ad esempio, il valore predefinito
il nome della tabella è
Passaggi successivi
- Scopri di più sui flussi di lavoro.
- Scopri di più su BigQuery.
- Scopri di più su Batch: