L'I/O gestito di Dataflow per BigQuery ti consente di trasformare e arricchire i dati nelle pipeline di streaming e batch. Integra BigQuery sia come origine che come destinazione per i job Dataflow, semplificando le interazioni con l'API BigQuery. Puoi elaborare set di dati su larga scala per diversi casi d'uso, dall'analisi in tempo reale al data warehousing, utilizzando la creazione dinamica di tabelle e le destinazioni in BigQuery.
Vantaggi dell'I/O gestito
Managed I/O offre i seguenti vantaggi e funzionalità per BigQuery:
- Creazione di tabelle dinamiche
- Destinazioni dinamiche
- Per le letture, il connettore utilizza l'API BigQuery Storage di lettura.
Per le scritture, il connettore utilizza i seguenti metodi BigQuery:
- Se l'origine non è delimitata e Dataflow utilizza l'elaborazione di streaming esattamente una volta, il connettore esegue scritture in BigQuery utilizzando l'API BigQuery Storage Write con la semantica di distribuzione esattamente una volta.
- Se l'origine non è delimitata e Dataflow utilizza l'elaborazione di streaming almeno una volta, il connettore esegue scritture in BigQuery utilizzando l'API BigQuery Storage Write con semantica di invio almeno una volta.
- Se l'origine è delimitata, il connettore utilizza caricamenti di file BigQuery.
Requisiti
I seguenti SDK supportano I/O gestito per BigQuery:
- Apache Beam SDK per Java versione 2.61.0 o successive
- SDK Apache Beam per Python versione 2.61.0 o successive
Configurazione
L'I/O gestito per BigQuery supporta i seguenti parametri di configurazione:
BIGQUERY Leggi
| Configurazione | Tipo | Descrizione |
|---|---|---|
| kms_key |
str
|
Utilizza questa chiave Cloud KMS per criptare i tuoi dati |
| query |
str
|
La query SQL da eseguire per leggere dalla tabella BigQuery. |
| row_restriction |
str
|
Leggi solo le righe che corrispondono a questo filtro, che deve essere compatibile con Google SQL standard. Questa operazione non è supportata durante la lettura tramite query. |
| i campi |
list[str]
|
Leggi solo i campi (colonne) specificati di una tabella BigQuery. I campi potrebbero non essere restituiti nell'ordine specificato. Se non viene specificato alcun valore, vengono restituiti tutti i campi. Esempio: "col1, col2, col3" |
| tabella |
str
|
Il nome completo della tabella BigQuery da cui leggere. Formato: [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY Scrittura
| Configurazione | Tipo | Descrizione |
|---|---|---|
| table |
str
|
La tabella BigQuery in cui scrivere. Formato: [${PROJECT}:]${DATASET}.${TABLE} |
| drop |
list[str]
|
Un elenco di nomi di campi da eliminare dal record di input prima della scrittura. Si esclude a vicenda con "keep" e "only". |
| keep |
list[str]
|
Un elenco di nomi di campi da conservare nel record di input. Tutti gli altri campi vengono eliminati prima della scrittura. Si esclude a vicenda con "drop" e "only". |
| kms_key |
str
|
Utilizza questa chiave Cloud KMS per criptare i tuoi dati |
| solo |
str
|
Il nome di un singolo campo del record da scrivere. Si esclude a vicenda con "keep" e "drop". |
| triggering_frequency_seconds |
int64
|
Determina la frequenza con cui "commit" dei progressi in BigQuery. Il valore predefinito è ogni 5 secondi. |
Passaggi successivi
Per ulteriori informazioni ed esempi di codice, consulta i seguenti argomenti: