Esegui trasformazioni in BigQuery

Questa pagina descrive come eseguire trasformazioni in BigQuery anziché Spark in Cloud Data Fusion.

Per ulteriori informazioni, consulta Panoramica di Transformation Pushdown.

Prima di iniziare

La trasformazione Pushdown è disponibile nella versione 6.5.0 e successive. Se le tue la pipeline viene eseguita in un ambiente precedente, puoi eseguire l'upgrade dell'istanza alla versione più recente completamente gestita.

Abilita il pushdown della trasformazione sulla tua pipeline

Console

Per attivare il pushdown delle trasformazioni in una pipeline di cui è stato eseguito il deployment:

  1. Vai all'istanza:

    1. Nella console Google Cloud, vai alla pagina di Cloud Data Fusion.

    2. Per aprire l'istanza in Cloud Data Fusion Studio: Fai clic su Istanze e poi su Visualizza istanza.

      Vai a Istanze

  2. Fai clic su Menu > Elenco.

    Si apre la scheda della pipeline di cui è stato eseguito il deployment.

  3. Fai clic sulla pipeline di cui vuoi visualizzare il deployment per aprirla in Pipeline Studio.

  4. Fai clic su Configura > Trasferimento delle trasformazioni.

    Abilita push-down della trasformazione.

  5. Fai clic su Attiva la sottomissione delle trasformazioni.

  6. Nel campo Set di dati, inserisci il nome di un set di dati BigQuery.

    (Facoltativo) Per utilizzare una macro, fai clic su M. Per ulteriori informazioni, vedi Set di dati.

  7. (Facoltativo) Configura le opzioni, se necessario.

  8. Fai clic su Salva.

Configurazioni facoltative

.
Proprietà Supporta macro Versioni di Cloud Data Fusion supportate Descrizione
Usa connessione No 6.7.0 e versioni successive Indica se utilizzare una connessione esistente.
Connessione 6.7.0 e versioni successive Il nome della connessione. Questa connessione fornisce informazioni sul progetto e sull'account di servizio.
(Facoltativo) Utilizza la funzione della macro ${conn(connection_name)}.
ID progetto del set di dati 6.5.0 Se il set di dati si trova in un progetto diverso da quello in cui Esegui il job BigQuery, inserisci l'ID progetto del set di dati. Se non viene fornito alcun valore. Per impostazione predefinita, viene utilizzato l'ID progetto in cui il job viene eseguito.
ID progetto 6.5.0 L'ID del progetto Google Cloud.
Tipo di account di servizio 6.5.0 Seleziona una delle seguenti opzioni:
  • Percorso file: il percorso del file per l'account di servizio.
  • JSON: i contenuti JSON dell'account di servizio.
Il valore predefinito è JSON.
Percorso file dell'account di servizio 6.5.0 Il percorso sul file system locale della chiave dell'account di servizio utilizzata per ottenere l'autorizzazione. È impostata su auto-detect durante l'esecuzione su un cluster Dataproc. Durante l'esecuzione su altri cluster, il file deve essere presente su tutti i nodi del cluster. L'impostazione predefinita è auto-detect.
JSON dell'account di servizio 6.5.0 I contenuti del file JSON dell'account di servizio.
Nome bucket temporaneo 6.5.0 Il bucket Cloud Storage in cui sono archiviati i dati temporanei. Viene creata automaticamente se non esiste, ma non è eliminati automaticamente. I dati di Cloud Storage vengono eliminati una volta caricato in BigQuery. Se questo valore non viene fornito, viene un bucket univoco viene creato e poi eliminato dopo l'esecuzione della pipeline finiture in cui sono finite. L'account di servizio deve disporre dell'autorizzazione per creare bucket nel progetto configurato.
Località 6.5.0 Località in cui viene creato il set di dati BigQuery. Questo valore viene ignorato se il set di dati o il bucket temporaneo esiste già. Il valore predefinito è la regione multipla US.
Nome chiave di crittografia 6.5.1/0.18.1 Lo chiave di crittografia gestita dal cliente (CMEK) che cripta i dati in qualsiasi bucket, set di dati o tabella creato dal plug-in. Se il bucket, il set di dati o la tabella esistente, questo valore viene ignorato.
Conserva le tabelle BigQuery al termine 6.5.0 Indica se conservare tutte le tabelle temporanee BigQuery create durante l'esecuzione della pipeline per il debug per la convalida. Il valore predefinito è No.
TTL tabella temporanea (in ore) 6.5.0 Imposta il TTL per le tabelle temporanee BigQuery, in nell'orario lavorativo locale del TAM. Questo è utile per la sicurezza nel caso in cui la pipeline venga viene annullata e il processo di pulizia viene interrotto (ad esempio, il cluster di esecuzione viene arrestato bruscamente). Impostando questo valore su 0 disabilita il TTL della tabella. L'impostazione predefinita è 72 (3 giorni).
Priorità job 6.5.0 La priorità utilizzata per eseguire i job BigQuery. Seleziona una delle seguenti opzioni:
  1. Batch: un job batch viene messo in coda e avviato come non appena le risorse inattive sono disponibili, in genere entro minuti. Se il job non viene avviato entro tre ore, la priorità passa a interattiva.
  2. Interattivo: viene eseguito un job interattivo il prima possibile e conta ai fini del limite di frequenza in parallelo e limite di frequenza giornaliero.
Il valore predefinito è Batch.
Fasi per forzare il push-down 6.7.0 Fasi supportate per l'esecuzione sempre in BigQuery. Ogni nome della fase deve essere su una riga separata.
Fasi per saltare il push-down 6.7.0 Fasi supportate per non essere mai eseguite in BigQuery. Ciascuna il nome della fase deve essere su una riga separata.
Usa l'API BigQuery Storage Read 6.7.0 Indica se utilizzare l'API BigQuery Storage Read per l'estrazione dei record da BigQuery durante l'esecuzione della pipeline. Questa opzione possono migliorare le prestazioni del pushdown della trasformazione, ma comporta costi aggiuntivi. Per questo motivo è necessario installare Scala 2.12 nella dell'ambiente di esecuzione.

Monitora le variazioni delle prestazioni nei log

I log di runtime della pipeline includono messaggi che mostrano le query SQL vengono eseguite in BigQuery. Puoi monitorare le fasi della pipeline tramite push in BigQuery.

L'esempio seguente mostra le voci di log quando inizia l'esecuzione della pipeline. La i log indicano che è stato eseguito il push-down delle operazioni JOIN nella pipeline BigQuery per l'esecuzione:

  INFO  [Driver:i.c.p.g.b.s.BigQuerySQLEngine@190] - Validating join for stage 'Users' can be executed on BigQuery: true
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@131] - Starting push for dataset 'UserProfile'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@131] - Starting push for dataset 'UserDetails'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@292] - Starting join for dataset 'Users'
  INFO  [Driver:i.c.p.g.b.s.BigQuerySQLEngine@190] - Validating join for stage 'UserPurchases' can be executed on BigQuery: true
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@131] - Starting push for dataset 'Purchases'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@292] - Starting join for dataset 'UserPurchases'
  INFO  [Driver:i.c.p.g.b.s.BigQuerySQLEngine@190] - Validating join for stage 'MostPopularNames' can be executed on BigQuery: true
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@131] - Starting push for dataset 'FirstNameCounts'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@292] - Starting join for dataset 'MostPopularNames'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@193] - Starting pull for dataset 'MostPopularNames'

L'esempio seguente mostra i nomi delle tabelle che verranno assegnati a ciascuno i set di dati coinvolti nell'esecuzione del push-down:

  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@145] - Executing Push operation for dataset Purchases stored in table <TABLE_ID>
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@145] - Executing Push operation for dataset UserDetails stored in table <TABLE_ID>
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@145] - Executing Push operation for dataset FirstNameCounts stored in table <TABLE_ID>
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@145] - Executing Push operation for dataset UserProfile stored in table <TABLE_ID>

Man mano che l'esecuzione continua, i log mostrano il completamento delle fasi di push e e infine l'esecuzione delle operazioni JOIN. Ad esempio:

  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@133] - Completed push for dataset 'UserProfile'
  DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@133] - Completed push for dataset 'UserDetails'
  DEBUG [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@235] - Executing join operation for dataset Users
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQueryJoinDataset@118] - Creating table `<TABLE_ID>` using job: <JOB_ID> with SQL statement: SELECT `UserDetails`.id AS `id` , `UserDetails`.first_name AS `first_name` , `UserDetails`.last_name AS `last_name` , `UserDetails`.email AS `email` , `UserProfile`.phone AS `phone` , `UserProfile`.profession AS `profession` , `UserProfile`.age AS `age` , `UserProfile`.address AS `address` , `UserProfile`.score AS `score` FROM `your_project.your_dataset.<DATASET_ID>` AS `UserProfile` LEFT JOIN `your_project.your_dataset.<DATASET_ID>` AS `UserDetails` ON `UserProfile`.id = `UserDetails`.id
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQueryJoinDataset@151] - Created BigQuery table `<TABLE_ID>
  INFO  [batch-sql-engine-adapter:i.c.p.g.b.s.BigQuerySQLEngine@245] - Executed join operation for dataset Users

Al termine di tutte le fasi, un messaggio indica che l'operazione Pull è stata completata sono state completate. Ciò indica che la procedura di esportazione di BigQuery è stata attivata e che i record inizieranno a essere letti nella pipeline dopo l'avvio di questo job di esportazione. Ad esempio:

DEBUG [batch-sql-engine-adapter:i.c.c.e.s.b.BatchSQLEngineAdapter@196] - Completed pull for dataset 'MostPopularNames'

Se l'esecuzione della pipeline rileva errori, questi vengono descritti nei log.

Per informazioni dettagliate sull'esecuzione delle operazioni JOIN di BigQuery, come l'utilizzo delle risorse, il tempo di esecuzione e le cause degli errori, puoi visualizzare i dati del job BigQuery utilizzando l'ID job, visualizzato nei log del job.

Esamina le metriche della pipeline

Per ulteriori informazioni sulle metriche fornite da Cloud Data Fusion la parte della pipeline eseguita in BigQuery, vedi Metriche della pipeline push-down BigQuery.

Passaggi successivi