Origine batch BigQuery

Questa pagina fornisce indicazioni sulla configurazione del plug-in dell'origine batch di BigQuery in Cloud Data Fusion.

Il plug-in di origine BigQuery consente di connettere e caricare i dati dalle tabelle BigQuery. I dati di una tabella BigQuery vengono esportati in una posizione temporanea in Cloud Storage, per poi essere letti nella pipeline da lì.

Prima di iniziare

Cloud Data Fusion in genere dispone di due account di servizio:

Prima di utilizzare il plug-in dell'origine batch di BigQuery, concedi i ruoli o le autorizzazioni seguenti a ogni account di servizio.

Agente di servizio API Cloud Data Fusion

Questo account di servizio dispone già di tutte le autorizzazioni richieste e non è necessario aggiungerne altre. Come riferimento, ha le seguenti autorizzazioni:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

Se utilizzi un account di servizio spazio dei nomi oltre all'account di servizio predefinito in fase di progettazione, aggiungi all'account le autorizzazioni dell'elenco precedente.

Account di servizio Compute Engine

Nel tuo progetto Google Cloud, concedi i seguenti ruoli o autorizzazioni IAM all'account di servizio Compute Engine:

  • Utente job BigQuery (roles/bigquery.jobUser). Questo ruolo predefinito contiene l'autorizzazione bigquery.jobs.create richiesta.
  • Editor dati BigQuery (roles/bigquery.dataEditor). Questo ruolo predefinito contiene le seguenti autorizzazioni obbligatorie:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

Questi ruoli e autorizzazioni possono essere assegnati anche nella tabella o nel set di dati BigQuery, a seconda del caso d'uso.

  • Writer bucket legacy di Storage (roles/storage.legacyBucketWriter). Questo ruolo predefinito contiene le seguenti autorizzazioni obbligatorie:

    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

Questo ruolo e queste autorizzazioni possono essere assegnati anche nel bucket Cloud Storage, a seconda del caso d'uso.

Configura il plug-in

  1. Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.
  2. Verifica che l'opzione pipeline di dati - Batch sia selezionata (non In tempo reale).
  3. Nel menu Origine, fai clic su BigQuery. Il nodo BigQuery viene visualizzato nella pipeline.
  4. Per configurare l'origine, vai al nodo BigQuery e fai clic su Proprietà.
  5. Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.

    1. Inserisci un'etichetta per il nodo BigQuery, ad esempio BigQuery tables.
    2. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione riutilizzabile esistente.

      Nuova connessione

      Per aggiungere una connessione una tantum a BigQuery, segui questi passaggi:

      1. Nel campo ID progetto, lascia il valore impostato per il rilevamento automatico.
      2. Se il set di dati BigQuery si trova in un progetto diverso, inserisci l'ID nel campo ID progetto set di dati.
      3. Nel campo Tipo di account di servizio, scegli una delle seguenti opzioni e inserisci il contenuto nel campo successivo:

        • Percorso del file
        • JSON

      Connessione riutilizzabile

      Per riutilizzare una connessione esistente, segui questi passaggi:

      1. Attiva Utilizza connessione.
      2. Fai clic su Browse connections (Sfoglia connessioni).
      3. Fai clic sul nome della connessione, ad esempio Valore predefinito BigQuery.

      4. (Facoltativo) Se non esiste una connessione e vuoi creare una nuova connessione riutilizzabile, fai clic su Aggiungi connessione e fai riferimento ai passaggi nella scheda Nuova connessione di questa pagina.

    3. Nel campo Nome riferimento, inserisci un nome da utilizzare per la derivazione.

    4. (Facoltativo) Se il set di dati è già disponibile nell'istanza, fai clic su Sfoglia e seleziona i dati da leggere.

    5. Nel campo Set di dati, inserisci il nome del set di dati che contiene la tabella.

    6. Nel campo Tabella, inserisci il nome della tabella.

    7. Per testare la connettività, fai clic su Ottieni schema.

    8. (Facoltativo) Nel campo Data di inizio della partizione, inserisci la stringa della data di inizio inclusa, ad esempio 2021-01-11.

    9. (Facoltativo) Nel campo Data di fine della partizione, inserisci la stringa della data di fine inclusa, ad esempio 2024-01-11.

    10. (Facoltativo) Nel campo Filtro, inserisci una clausola WHERE di BigQuery.

    11. (Facoltativo) Nel campo Nome bucket temporaneo, inserisci un nome per il bucket Cloud Storage.

    12. (Facoltativo) Nel campo Nome chiave di crittografia, inserisci il nome della chiave di crittografia Cloud Key Management Service (Cloud KMS). Per maggiori informazioni, consulta Ottenere il nome della risorsa per la chiave.

    13. (Facoltativo) Attiva Attiva l'esecuzione di query. Se le attivi:

      • Nel campo Progetto di creazione della tabella temporanea, inserisci il nome del progetto in cui viene creata la tabella temporanea.
      • Nel campo Set di dati per la creazione di tabelle temporanee, inserisci il nome del set di dati in cui viene creata la tabella temporanea.
    14. (Facoltativo) Fai clic su Convalida e risolvi gli eventuali errori trovati.

    15. Fai clic su Close (Chiudi). Le proprietà vengono salvate e puoi continuare a creare la tua pipeline di dati nell'interfaccia web di Cloud Data Fusion.

Proprietà

Proprietà Macro attivata Proprietà obbligatoria Descrizione
Etichetta No Il nome del nodo nella pipeline di dati.
Usa connessione No No Cerca una connessione riutilizzabile all'origine. Per scoprire di più su come aggiungere, importare e modificare le connessioni visualizzate quando sfogli le connessioni, vedi Gestire le connessioni.
Connessione Se l'opzione Utilizza connessione è attivata, in questo campo viene visualizzato il nome della connessione riutilizzabile selezionata.
ID progetto No Utilizzato solo quando l'opzione Utilizza connessione è disattivata. Un identificatore univoco globale per il progetto in cui viene eseguito il job BigQuery.
L'impostazione predefinita è auto-detect.
ID progetto set di dati No Utilizzato solo quando l'opzione Utilizza connessione è disattivata. Se il set di dati si trova in un progetto diverso da quello in cui viene eseguito il job BigQuery, questo valore è l'identificatore univoco globale per il progetto con il set di dati BigQuery. Se non viene fornito alcun valore, il valore predefinito del campo sarà ID progetto. Il ruolo Visualizzatore dati BigQuery deve essere concesso all'account di servizio specificato per leggere i dati BigQuery del progetto.
Tipo di account di servizio No Seleziona una delle seguenti opzioni:
  • File path (Percorso del file): il percorso in cui si trova l'account di servizio.
  • JSON: contenuti JSON dell'account di servizio.
Service account file path (Percorso del file dell'account di servizio) No Utilizzato solo quando il valore del tipo di account di servizio è Percorso file. Il percorso nel file system locale della chiave dell'account di servizio utilizzata per l'autorizzazione. Se i job vengono eseguiti su cluster Dataproc, imposta il valore sul rilevamento automatico. Se i job vengono eseguiti su altri tipi di cluster, il file deve essere presente su ogni nodo del cluster.
Il valore predefinito è auto-detect.
JSON dell'account di servizio No Utilizzato solo quando il valore del tipo di account di servizio è JSON. I contenuti del file JSON dell'account di servizio.
Nome di riferimento No Nome che identifica in modo univoco questa origine per altri servizi, come derivazione e metadati di annotazione.
Set di dati Il set di dati a cui appartiene la tabella. Un set di dati è contenuto all'interno di un progetto specifico. I set di dati sono container di primo livello che organizzano e controllano l'accesso a tabelle e viste.
Tabella La tabella da cui leggere. Una tabella contiene singoli record organizzati in righe. Ogni record è composto da colonne (dette anche campi). Ogni tabella è definita da uno schema che descrive i nomi delle colonne, i tipi di dati e altre informazioni.
Data di inizio della partizione No Data di inizio della partizione inclusiva, specificata come yyyy-mm-dd. Se non viene fornito alcun valore, verranno lette tutte le partizioni fino alla data di fine della partizione.
Data di fine della partizione No Data di fine della partizione esclusiva, specificata come yyyy-mm-dd. Se non viene fornito alcun valore, vengono lette tutte le partizioni a partire dalla data di inizio della partizione.
Filtro No Una query SQL che filtra in base alle condizioni specificate. Ad esempio, questa query restituisce tutte le righe della tabella Roster in cui la colonna SchoolID ha il valore SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52;. Questa è uguale alla clausola WHERE in BigQuery.
Nome bucket temporaneo No Bucket Cloud Storage per l'archiviazione temporanea dei dati. Viene creato automaticamente se non esiste. I dati temporanei vengono eliminati dopo essere stati letti. Se non viene specificato un nome, viene creato un bucket univoco che viene quindi eliminato al termine dell'esecuzione.
Nome chiave di crittografia No Chiave che cripta i dati scritti in qualsiasi bucket creato dal plug-in. Se il bucket esiste, questo valore viene ignorato. Per saperne di più, consulta CMEK.
Attiva l'esecuzione di query sulle viste No Se consentire le viste logiche e materializzate di BigQuery. Poiché le viste BigQuery non sono abilitate per impostazione predefinita, eseguire query potrebbe comportare un sovraccarico delle prestazioni.
Il valore predefinito è No.
Progetto di creazione di tabelle temporanee No Utilizzato solo quando l'opzione Abilita l'esecuzione di query è attiva. Il nome del progetto in cui deve essere creata la tabella temporanea. Il valore predefinito è lo stesso progetto in cui si trova la tabella.
Set di dati per la creazione di tabelle temporanee No Il set di dati nel progetto specificato in cui deve essere creata la tabella temporanea. Il valore predefinito è lo stesso set di dati in cui si trova la tabella.
Schema di output Schema della tabella da leggere. Puoi recuperarlo facendo clic su Ottieni schema.

Mappature dei tipi di dati

La seguente tabella è un elenco dei tipi di dati BigQuery con i tipi CDAP corrispondenti.

Tipo di dati BigQuery Tipo di dati schema CDAP
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING string, datetime (formato ISO 8601)
STRUCT record
TIME time (microsecondi)
TIMESTAMP timestamp (microsecondi)
JSON unsupported

Passaggi successivi