Parametri di runtime nei trasferimenti dell'archiviazione BLOB
Quando configuri un trasferimento di dati in Cloud Storage, Azure Blob Storage Amazon Simple Storage Service (Amazon S3), puoi parametrizzare l'URI (o percorso dei dati) e la destinazione tabella. La parametrizzazione ti consente di caricare i dati dai bucket organizzati per data. Questi parametri sono chiamati parametri di runtime per distinguere dai parametri di ricerca.
Quando utilizzi parametri di runtime in un trasferimento, puoi:
- Specifica come eseguire il partizionamento della tabella di destinazione
- Recupera i file che corrispondono a una data specifica
Parametri di runtime disponibili
Quando configuri Cloud Storage, trasferimento Amazon S3, puoi specificare come partizionare di destinazione utilizzando i parametri di runtime.
Parametro | Tipo di modello | Valore |
---|---|---|
run_time |
Timestamp formattato | Nel fuso orario UTC, in base alla programmazione. Per i trasferimenti programmati regolarmente, il valore run_time rappresenta il momento di esecuzione previsto. Ad esempio, se il trasferimento è impostato su "ogni 24 ore", la differenza di run_time tra due query consecutive sarà esattamente di 24 ore, anche se il tempo di esecuzione effettivo potrebbe variare leggermente.Vedi TransferRun.runTime |
run_date |
Stringa data | La data del parametro run_time nel seguente formato: %Y%m%d ; ad esempio 20180101. Questo formato è compatibile con le tabelle partizionate in fase di importazione. |
Sistema di modelli
Trasferimenti di Cloud Storage, Blob Storage e Amazon S3 supportare i parametri di runtime nel nome della tabella di destinazione utilizzando un modello a riga di comando.
Sintassi dei modelli dei parametri
La sintassi dei modelli supporta la creazione di modelli di stringhe di base e la compensazione temporale. I parametri sono a cui viene fatto riferimento nei seguenti formati:
{run_date}
{run_time[+\-offset]|"time_format"}
Parametro | Purpose |
---|---|
run_date |
Questo parametro è sostituito dalla data nel formato YYYYMMDD . |
run_time |
Questo parametro supporta le seguenti proprietà:
|
- .
- Non sono consentiti spazi tra run_time, offset e formato ora.
- Per includere parentesi graffe letterali nella stringa, puoi utilizzare il carattere di escape
'\{' and '\}'
. - Per includere virgolette letterali o una barra verticale nel formato time_format, ad esempio
"YYYY|MM|DD"
, puoi eseguirne l'escape nella stringa di formato:'\"'
o'\|'
.
Esempi di modelli di parametri
Questi esempi mostrano la specifica di nomi di tabelle di destinazione con diversi formati di ora e che compensa il tempo di esecuzione.run_time (UTC) | Parametro basato su modelli | Nome tabella di destinazione di output |
---|---|---|
15-02-2018 00:00:00 | mytable |
mytable |
15-02-2018 00:00:00 | mytable_{run_time|"%Y%m%d"} |
mytable_20180215 |
15-02-2018 00:00:00 | mytable_{run_time+25h|"%Y%m%d"} |
mytable_20180216 |
15-02-2018 00:00:00 | mytable_{run_time-1h|"%Y%m%d"} |
mytable_20180214 |
15-02-2018 00:00:00 | mytable_{run_time+1.5h|"%Y%m%d%H"}
o mytable_{run_time+90m|"%Y%m%d%H"} |
mytable_2018021501 |
15-02-2018 00:00:00 | {run_time+97s|"%Y%m%d"}_mytable_{run_time+97s|"%H%M%S"} |
20180215_mytable_000137 |
Opzioni di partizionamento
In BigQuery esistono due tipi di tabelle partizionate:
- Tabelle partizionate per data di importazione. Per Cloud Storage, archiviazione BLOB e Per i trasferimenti tramite Amazon S3, il tempo di importazione è il tempo di esecuzione del trasferimento.
- Tabelle partizionate in base a una colonna. La
il tipo di colonna deve essere un
TIMESTAMP
oppureDATE
colonna.
Se la tabella di destinazione è partizionata in base a una colonna, devi di partizionamento, quando crei la tabella di destinazione . Scopri di più sulla creazione di tabelle partizionate in base a colonne Creazione e utilizzo di tabelle partizionate.
Esempi di partizionamento
- Tabella senza partizionamento
- Tabella di destinazione:
mytable
- Tabella di destinazione:
- Tabella partizionata per data di importazione
- .
- Tabella di destinazione:
mytable$YYYYMMDD
- Tieni presente che non è possibile specificare i minuti.
- Tabella di destinazione:
- Tabella partizionata per colonne
- .
- Tabella di destinazione:
mytable
- Specifica la colonna di partizionamento come
TIMESTAMP
oDATE
quando crei lo schema della tabella.
- Tabella di destinazione:
Note sull'utilizzo dei parametri
- Se esegui il partizionamento dei dati in base al fuso orario locale, devi Calcolare manualmente lo scarto orario rispetto al fuso orario UTC utilizzando il meccanismo di compensazione nella sintassi dei modelli.
- I minuti non possono essere specificati nei parametri.
- Utilizzo di caratteri jolly per l'URI o il percorso dei dati in combinazione con i parametri nel nome della tabella di destinazione è consentito.
Esempi di parametri di runtime
I seguenti esempi mostrano come combinare il carattere jolly e
per i casi d'uso comuni. Supponiamo che il nome della tabella sia mytable
e
il valore run_time
è 2018-02-15 00:00:00
(UTC) per tutti gli esempi.
Trasferisci i dati in una tabella non partizionata
Questo caso d'uso si applica al caricamento di nuovi file da un ambiente Cloud Storage, Archiviazione BLOB, o bucket Amazon S3 in un ambiente non partizionato tabella. Questo esempio utilizza un carattere jolly nell'URI o nel percorso dei dati e utilizza un parametro aggiorna il trasferimento per recuperare nuovi file.
Origine dati | URI di origine o percorso dei dati | Nome tabella di destinazione |
---|---|---|
Cloud Storage | gs://bucket/*.csv |
mytable |
Amazon S3 | s3://bucket/*.csv |
mytable |
Archiviazione blob | *.csv |
mytable |
Carica uno snapshot di tutti i dati in una tabella partizionata per data di importazione
In questo caso, tutti i dati nell'URI o nel percorso dei dati specificato vengono trasferiti a un partizionata per data odierna. In un trasferimento di aggiornamento, raccoglie i file aggiunti dall'ultimo caricamento e li aggiunge a un della partizione di testo.
Origine dati | URI di origine o percorso dei dati | Nome tabella di destinazione con parametri | Nome tabella di destinazione valutata |
---|---|---|---|
Cloud Storage | gs://bucket/*.csv |
mytable${run_time|"%Y%m%d"} |
mytable$20180215 |
Amazon S3 | s3://bucket/*.csv |
mytable${run_time|"%Y%m%d"} |
mytable$20180215 |
Archiviazione blob | *.csv |
mytable${run_time|"%Y%m%d"} |
mytable$20180215 |
Questo caso d'uso trasferisce i dati di oggi in una tabella partizionata in base alla data odierna. Questo esempio si applica anche a un trasferimento di aggiornamento che recupera i file appena aggiunti che corrispondono a una determinata data e carica i dati nella partizione corrispondente.
Origine dati | URI o percorso dati con parametri | Nome tabella di destinazione con parametri | URI o percorso dati valutato | Nome tabella di destinazione valutata |
---|---|---|---|---|
Cloud Storage | gs://bucket/events-{run_time|"%Y%m%d"}/*.csv |
mytable${run_time|"%Y%m%d"} |
gs://bucket/events-20180215/*.csv |
mytable$20180215 |
Amazon S3 | s3://bucket/events-{run_time|"%Y%m%d"}/*.csv |
mytable${run_time|"%Y%m%d"} |
s3://bucket/events-20180215/*.csv |
mytable$20180215 |
Archiviazione blob | events-{run_time|"%Y%m%d"}/*.csv |
mytable${run_time|"%Y%m%d"} |
events-20180215/*.csv |
mytable$20180215 |
Passaggi successivi
- Scopri di più sulla configurazione di un trasferimento di Archiviazione BLOB di Azure.
- Scopri di più su BigQuery Data Transfer Service.