Riferimento per lo strumento a riga di comando bq
Questo documento descrive la sintassi, i comandi, i flag e gli argomenti relativi a bq
,
lo strumento a riga di comando di BigQuery.
È destinato agli utenti che hanno familiarità con BigQuery, ma vogliono sapere come utilizzare un determinato comando dello strumento a riga di comando bq
.
Per informazioni generali su come utilizzare lo strumento a riga di comando bq
, consulta
Utilizzo dello strumento a riga di comando bq
.
Synopsis
Lo strumento a riga di comando bq
utilizza il seguente formato:
bq COMMAND [FLAGS] [ARGUMENTS]
Alcuni flag possono essere utilizzati con più comandi dello strumento a riga di comando bq
; questi flag sono descritti nella sezione Flag globali.
Altri flag sono specifici per i comandi e possono essere utilizzati solo con un particolare comando dello strumento a riga di comando bq
. I flag specifici del comando sono descritti nelle sezioni dei comandi.
Flag booleani
Alcuni flag dello strumento a riga di comando bq
sono booleani; puoi impostare il valore del flag su
true
o false
.
Lo strumento a riga di comando bq
accetta i seguenti formati per impostare i flag booleani.
Valore | Formatta | Esempio |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
Questo documento utilizza il formato --FLAGNAME=VALUE
per i flag booleani.
Tutti i flag booleani sono facoltativi; se non è presente un flag booleano, BigQuery utilizza il valore predefinito del flag.
Specificare i valori per i flag
Quando specifichi un valore per un flag, il segno di uguale (=
) è facoltativo. Ad esempio, i seguenti due comandi sono equivalenti:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
Questo documento utilizza il segno di uguale per maggiore chiarezza.
Guida online
Nello strumento a riga di comando bq
è disponibile la documentazione indicata di seguito:
Descrizione | Formato del comando della guida | Esempio |
---|---|---|
Elenco di tutti i comandi con esempi | bq help |
bq help |
Descrizione delle segnalazioni globali | bq --help |
bq --help |
Descrizione di un determinato comando | bq help COMMAND |
bq help mk |
Specifica della risorsa
Il formato per specificare una risorsa dipende dal contesto; in alcuni casi il separatore tra il progetto e il set di dati è il simbolo dei due punti (:
) e, in alcuni casi, il punto (.
). La tabella seguente descrive come specificare una tabella BigQuery in contesti diversi.
Contesto | Formatta | Esempio |
---|---|---|
bq strumento a riga di comando |
PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Query SQL standard | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Query SQL precedente | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Se non specifichi un progetto, BigQuery utilizza il progetto corrente. Ad esempio, se il progetto attuale è myProject
, BigQuery interpreta myDataset.myTable
come myProject:myDataset.myTable
(o myProject.myDataset.myTable
).
Alcuni identificatori di risorsa devono essere racchiusi tra virgolette utilizzando la barra (`
).
Se l'identificatore di risorsa inizia con una lettera o un trattino basso e contiene solo caratteri costituiti da lettere, numeri e trattini bassi, non è necessario citarli. Tuttavia, se l'identificatore della risorsa contiene altri tipi di caratteri o parole chiave riservate, devi racchiudere l'identificatore (o la sua parte con caratteri speciali o parole chiave riservate) tra segni di graduazione. Per scoprire di più, consulta la sezione Identificatori.
Bandiere globali
Puoi utilizzare i seguenti flag con qualsiasi comando bq
, se applicabile:
--api=ENDPOINT
- Specifica l'endpoint API da chiamare. Il valore predefinito è
https://www.googleapis.com
. --api_version=VERSION
- Specifica la versione dell'API da utilizzare. Il valore predefinito è
v2
. --apilog=FILE
Registra tutte le richieste API e le risposte al file specificato da
FILE
. I valori possibili sono i seguenti:- il percorso di un file; il file viene registrato nel file specificato
stdout
: log all'output standardstderr
: log agli errori standardfalse
: le richieste e le risposte dell'API non vengono registrate (impostazione predefinita)
--bigqueryrc=PATH
Specifica il percorso del file di configurazione dello strumento a riga di comando
bq
. Se non specifichi il flag--bigqueryrc
, il comando utilizza la variabile di ambienteBIGQUERYRC
. Se la variabile di ambiente non è impostata, viene utilizzato$HOME/.bigqueryrc
. Se il file non esiste, viene utilizzato~/.bigqueryrc
. Per ulteriori informazioni, consulta Impostazione dei valori predefiniti per i flag della riga di comando.--ca_certificates_file=PATH
Specifica la posizione del file CA Authority Service (CA).
--dataset_id=DATASET_ID
Specifica il set di dati predefinito da utilizzare con il comando. Questo flag viene ignorato quando non applicabile. Puoi specificare l'argomento
DATASET_ID
utilizzando il formatoPROJECT:DATASET
oDATASET
. Se la partePROJECT
non è presente, viene utilizzato il progetto predefinito. Puoi sostituire l'impostazione del progetto predefinita specificando il flag--project_id
.--debug_mode={true|false}
Se è impostato su
true
, mostra i callback sulle eccezioni Python. Il valore predefinito èfalse
.--disable_ssl_validation={true|false}
Se è impostato su
true
, viene attivata la convalida dei certificati HTTPS. Il valore predefinito èfalse
.--discovery_file=PATH
Specifica il file JSON da leggere per il rilevamento.
--enable_gdrive={true|false}
Se è impostata su
false
, viene richiesto un nuovo token OAuth senza Drive. Il valore predefinito ètrue
; richiede un nuovo token OAuth con ambito Drive.--fingerprint_job_id={true|false}
Per utilizzare un ID job derivato da un'impronta digitale della configurazione del job, imposta su
true
. In questo modo si evita che lo stesso job venga eseguito più volte per errore. Il valore predefinito èfalse
.--format=FORMAT
Specifica il formato dell'output del comando. Utilizza uno dei seguenti valori:
pretty
: output della tabella formattatosparse
: output della tabella più sempliceprettyjson
: formato JSON facile da leggerejson
: JSON compatto al massimocsv
: formato csv con intestazione
pretty
,sparse
eprettyjson
sono pensati per essere leggibili dalle persone.json
ecsv
sono destinati a essere utilizzati da un altro programma. Senone
è specificato, il comando non produce alcun output. Se il flag--format
non è presente, viene scelto un formato di output appropriato in base al comando.--headless={true|false}
Per eseguire la sessione
bq
senza interazione da parte dell'utente, impostala sutrue
. Ad esempio,debug_mode
non si rompe nel debugger e la frequenza della stampa informativa viene ridotta. Il valore predefinito èfalse
.--httplib2_debuglevel=DEBUG_LEVEL
Specifica se mostrare le informazioni di debug HTTP. Se
DEBUG_LEVEL
è maggiore di0
, il comando registra le richieste e le risposte del server HTTP nello stderr, oltre ai messaggi di errore. SeDEBUG_LEVEL
non è > 0 o se il flag--httplib2_debuglevel
non viene utilizzato, vengono forniti solo i messaggi di errore.Ad esempio:
--httplib2_debuglevel=1
--job_id=JOB_ID
Specifica un identificatore del job per un nuovo job. Questo flag si applica solo ai comandi che creano job:
cp
,extract
,load
equery
. Se non usi il flag--job_id
, i comandi generano un identificatore job univoco. Per ulteriori informazioni, consulta la pagina relativa all'esecuzione di job in modo programmatico.--job_property=KEY:VALUE
Una coppia chiave-valore da includere nel campo delle proprietà della configurazione del job. Ripeti questo flag per specificare proprietà aggiuntive.
--location=LOCATION
Una stringa corrispondente a un'area geografica o a più aree geografiche. Il flag di posizione è obbligatorio per il comando
bq cancel
e per il comandobq show
quando viene utilizzato il flag--jobs
per mostrare le informazioni sui job. Il flag della località è facoltativo per i seguenti comandi:Tutti gli altri comandi ignorano il flag
--location
.--max_rows_per_request=MAX_ROWS
Un numero intero che specifica il numero massimo di righe da restituire per lettura.
--project_id=PROJECT
Specifica il progetto da utilizzare per i comandi.
--proxy_address=PROXY
Specifica il nome o l'indirizzo IP dell'host proxy da utilizzare per la connessione a Google Cloud.
--proxy_password=PASSWORD
Specifica la password da utilizzare per l'autenticazione con l'host proxy.
--proxy_port=PORT
Specifica il numero di porta da utilizzare per la connessione all'host proxy.
--proxy_username=USERNAME
Specifica il nome utente da utilizzare durante l'autenticazione con l'host proxy.
--quiet={true|false}
o-q={true|false}
Per eliminare gli aggiornamenti di stato mentre i job sono in esecuzione, imposta su
true
. Il valore predefinito èfalse
.--synchronous_mode={true|false}
o-sync={true|false}
Per creare il job e tornare immediatamente, con lo stato di completamento riuscito come codice di errore, impostato su
false
. Se è impostato sutrue
, il comando attende il completamento del job prima di tornare e restituisce lo stato di completamento del job come codice di errore. Il valore predefinito ètrue
.--trace=token:TOKEN
Specifica un token di monitoraggio da includere nelle richieste API.
Flag globali deprecati
I seguenti flag globali per la configurazione dell'autorizzazione dello strumento a riga di comando bq
sono obsoleti. Per configurare l'autorizzazione per lo strumento a riga di comando bq
, consulta Autorizzazione degli strumenti dell'interfaccia a riga di comando di Google Cloud.
--application_default_credential_file
Per maggiori informazioni, consulta
Autenticazione come account
di servizio.
Il valore predefinito è ''
.
--credential_file
Il nome file utilizzato per archiviare il token OAuth. Il valore predefinito è $HOME/.bigquery.v2.token
.
--service_account
Specifica l'indirizzo email di un account di servizio da utilizzare per l'autorizzazione. Ad esempio:
1234567890@developer.gserviceaccount.com
--service_account_credential_file
Il file utilizzato come archivio delle credenziali per gli account di servizio. Questo flag deve essere impostato se utilizzi un account di servizio.
--service_account_private_key_file
Il file contenente la chiave privata dell'account di servizio. Questo flag è obbligatorio se viene specificato il flag --service_account
. Il valore predefinito è ''
.
--service_account_private_key_password
La password della chiave privata. La password deve corrispondere a quella che hai impostato sulla chiave al momento della creazione.
Il valore predefinito è notasecret
.
--use_gce_service_account={true|false}
Per utilizzare le credenziali dell'account di servizio anziché le credenziali archiviate durante l'esecuzione su un'istanza di Compute Engine, imposta true
. Il valore predefinito è false
; vengono utilizzate le credenziali archiviate.
Per saperne di più, consulta quanto segue:
Creazione e abilitazione degli account di servizio per le istanze.
Il seguente flag globale per specificare bq
flag della riga di comando da un file
è deprecato. Per specificare i flag da un file, utilizza il flag --bigqueryrc
.
--flagfile=PATH
Se specificate, le definizioni di flag del file fornito vengono inserite nello strumento a riga di comando bq
. Il valore predefinito è ''
.
Per maggiori informazioni, consulta la pagina Impostare i valori predefiniti per i flag della riga di comando.
Comandi
Le sezioni seguenti descrivono i comandi dello strumento a riga di comando bq
, insieme ai relativi flag e argomenti specifici.
bq add-iam-policy-binding
Usa il comando bq add-iam-policy-binding
per recuperare il criterio Identity and Access Management (IAM) per una tabella o una visualizzazione e aggiungere un'associazione al criterio, in un solo passaggio.
Questo comando è un'alternativa al seguente processo in tre passaggi:
- Utilizzare il comando
bq get-iam-policy
per recuperare il file dei criteri (in formato JSON). - Modificare il file dei criteri.
- Utilizzare il comando
bq set-iam-policy
per aggiornare il criterio con una nuova associazione.
Synopsis
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Esempio
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Flag e argomenti
Il comando bq add-iam-policy-binding
utilizza i seguenti flag e argomenti:
--member=MEMBER_TYPE:MEMBER
Obbligatorio. Utilizza il flag
--member
per specificare la parte membro dell'associazione dei criteri IAM. Il flag--member
è obbligatorio insieme al flag--role
. Una combinazione di flag--member
e--role
equivale a un'associazione.Il valore
MEMBER_TYPE
specifica il tipo di membro nell'associazione dei criteri IAM. Utilizza uno dei seguenti valori:user
serviceAccount
group
domain
Il valore
MEMBER
specifica l'indirizzo email o il dominio del membro nell'associazione dei criteri IAM.--role=ROLE
Obbligatorio. Specifica la parte del ruolo dell'associazione dei criteri IAM. Il flag
--role
è obbligatorio insieme al flag--member
. Una combinazione di flag--member
e--role
equivale a un'associazione.--table={true|false}
Per restituire un errore se l'argomento
RESOURCE
non è un identificatore della tabella o della vista, imposta il flag--table
sutrue
. Il valore predefinito èfalse
. Questo flag è supportato per la coerenza con altri comandi.- RESOURCE
La tabella o la vista a cui vuoi aggiungere il criterio.
Per ulteriori informazioni, consulta la documentazione di riferimento dei criteri IAM.
bq cancel
Usa il comando bq cancel
per annullare i job di BigQuery.
Synopsis
bq [--synchronous_mode=false] cancel JOB_ID
Esempi
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Flag e argomenti
Il comando bq cancel
utilizza i seguenti flag e argomenti:
--synchronous_mode=false
- Se non vuoi attendere il completamento del comando
bq cancel
,imposta il flag globale--synchronous_mode
sufalse
. Il valore predefinito ètrue
. JOB_ID
- Il job che vuoi annullare.
Per ulteriori informazioni sull'utilizzo del comando bq cancel
, consulta
Gestione dei job.
bq cp
Utilizza il comando bq cp
per le seguenti attività:
- Crea una copia di una tabella, di un clone della tabella o di uno istantanea della tabella.
- Crea un clone della tabella.
- Creare uno snapshot di tabella.
Synopsis
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Esempio
bq cp myDataset.myTable myDataset.myTableCopy
Flag e argomenti
Il comando bq cp
utilizza i seguenti flag e argomenti:
--append_table={true|false}
o-a={true|false}
- Per aggiungere una tabella a una tabella esistente, imposta su
true
. Il valore predefinito èfalse
. --clone={true|false}
- Per creare un clone di una tabella, impostalo su
true
. La tabella di origine può essere una tabella standard, un clone di una tabella o un'istantanea della tabella. La tabella di destinazione è un clone della tabella. Il valore predefinito èfalse
; se non è specificato--clone=true
né--snapshot=true
, la tabella di destinazione corrisponde allo stesso tipo della tabella di origine. --destination_kms_key=KEY
Specifica un ID risorsa della chiave Cloud KMS per la crittografia dei dati della tabella di destinazione.
Ad esempio:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDS
Il numero di secondi fino alla scadenza di uno snapshot della tabella. Se non viene inclusa, la scadenza dello snapshot della tabella viene impostata sulla scadenza predefinita del set di dati contenente il nuovo snapshot della tabella. Utilizzala con il flag
--snapshot
.--force={true|false}
o-f={true|false}
Per sovrascrivere la tabella di destinazione, se esistente, senza richiesta, impostala su
true
. Il valore predefinito èfalse
; se la tabella di destinazione esiste, il comando chiede conferma prima di sovrascrivere.--no_clobber={true|false}
o-n={true|false}
Per non consentire la sovrascrittura della tabella di destinazione, se esistente, imposta questa opzione su
true
. Il valore predefinito èfalse
; se la tabella di destinazione esiste, viene sovrascritta.--restore={true|false}
Questo flag è obsoleto. Per creare una tabella scrivibile da uno snapshot della tabella, utilizza il comando
bq cp
o il comandobq cp --clone
.--snapshot={true|false}
Per creare un'istantanea della tabella della tabella specificata nell'argomento
SOURCE_TABLE
, impostala sutrue
. La tabella di origine può essere una tabella standard, un clone di una tabella o un altro snapshot della tabella. Il valore predefinito èfalse
; se non è specificato né--clone=true
né--snapshot=true
, la tabella di destinazione corrisponde allo stesso tipo della tabella di origine. Richiede il flag--no_clobber
.SOURCE_TABLE
La tabella da copiare.
DESTINATION_TABLE
La tabella in cui vuoi copiare.
Per scoprire di più sull'utilizzo del comando cp
, consulta quanto segue:
- Copiare una tabella
- Creare cloni delle tabelle
- Crea snapshot delle tabelle
- Ripristinare gli snapshot delle tabelle
bq extract
Usa il comando bq extract
per esportare i dati della tabella in Cloud Storage.
Synopsis
bq extract [FLAGS] RESOURCE DESTINATION
Esempi
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
Flag e argomenti
Il comando bq extract
utilizza i seguenti flag e argomenti:
--compression=COMPRESSION_TYPE
Specifica il tipo di compressione da utilizzare per i file esportati. I valori possibili sono i seguenti:
GZIP
DEFLATE
SNAPPY
NONE
Il valore predefinito è
NONE
.Per informazioni sui formati supportati per ogni tipo di compressione, consulta la pagina relativa all'esportazione di formati e tipi di compressione.
--destination_format=FORMAT
Specifica il formato dei dati esportati. I valori possibili sono i seguenti:
CSV
NEWLINE_DELIMITED_JSON
AVRO
PARQUET
Il valore predefinito è
CSV
.--field_delimiter=DELIMITER
Per le esportazioni CSV, specifica il carattere che contrassegna il limite tra le colonne nel file di output. Il delimitatore può essere qualsiasi carattere a byte singolo ISO-8859-1. Puoi utilizzare
\t
otab
per specificare i delimitatori di scheda.--print_header={true|false}
Per eliminare le righe di intestazione della stampa per i formati che hanno intestazioni, impostale su
false
. Il valore predefinito ètrue
; sono incluse le righe di intestazione.- RESOURCE
La tabella da cui stai esportando.
- DESTINATION
La posizione di archiviazione che riceve i dati esportati.
Per ulteriori informazioni sull'utilizzo del comando bq extract
, consulta
Esportazione dei dati della tabella.
bq get-iam-policy
Usa il comando bq get-iam-policy
per recuperare il criterio IAM per una risorsa e stamparlo su stdout
. La risorsa può essere una tabella o una visualizzazione. Il criterio è in formato JSON.
Synopsis
bq get-iam-policy [FLAGS] RESOURCE
Esempio
bq get-iam-policy myDataset.myTable
Flag e argomenti
Il comando bq get-iam-policy
utilizza i seguenti flag e argomenti:
--table={true|false}
o--t={true|false}
- Per restituire un errore se
RESOURCE
non è un identificatore della tabella o della vista, imposta il flag--table
sutrue
. Il valore predefinito èfalse
. Questo flag è supportato per la coerenza con altri comandi. RESOURCE
- La tabella o la vista di cui vuoi ottenere il criterio.
Per maggiori informazioni sul comando bq get-iam-policy
, consulta
Controllare l'accesso alle risorse con IAM.
bq head
Utilizza il comando bq head
per visualizzare le righe e le colonne specificate di una tabella.
Per impostazione predefinita, vengono visualizzate tutte le colonne delle prime 100 righe.
Synopsis
bq head [FLAGS] [TABLE]
Esempio
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Flag e argomenti
Il comando bq head
utilizza i seguenti flag e argomenti:
--job=JOB or -j=JOB
- Per leggere i risultati di un job di query, specifica questo flag con un ID job valido.
--max_rows=MAX or -n=MAX
- Un numero intero che indica il numero massimo di righe da stampare quando vengono visualizzati i dati della tabella. Il valore predefinito è
100
. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- Un elenco separato da virgole che specifica un sottoinsieme di campi (inclusi campi nidificati e ripetuti) da restituire durante la visualizzazione dei dati della tabella. Se questo flag non è specificato, vengono restituite tutte le colonne.
--start_row=START_ROW or -s=START_ROW
- Un numero intero che specifica il numero di righe da saltare prima di mostrare i dati della tabella. Il valore predefinito è
0
; i dati della tabella iniziano dalla prima riga. --table={true|false}
o-t={true|false}
- Per restituire un errore se l'argomento del comando non è una tabella o una visualizzazione, imposta
true
. Il valore predefinito èfalse
. Questo flag è supportato per la coerenza con altri comandi. TABLE
- La tabella di cui vuoi recuperare i dati.
Per ulteriori informazioni sull'utilizzo del comando bq head
, consulta
Gestione dei dati delle tabelle.
bq help
Utilizza il comando bq help
per visualizzare la documentazione dello strumento a riga di comando bq
all'interno dello strumento.
Synopsis
bq help [COMMAND]
Flag e argomenti
Il comando bq help
utilizza i seguenti flag e argomenti:
COMMAND
- Specifica un determinato comando dello strumento a riga di comando
bq
per cui vuoi ricevere assistenza online.
bq insert
Usa il comando bq insert
per inserire righe di dati in formato JSON delimitati da nuove righe in una tabella da un file utilizzando l'inserimento di flussi di dati. I tipi di dati vengono convertiti in modo che corrispondano ai tipi di colonna della tabella di destinazione. Questo comando è destinato solo ai test. Per trasmettere flussi di dati in BigQuery, utilizza il metodo API insertAll
.
Synopsis
bq insert [FLAGS] TABLE FILE
Esempi
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Flag e argomenti
Il comando bq insert
utilizza i seguenti flag e argomenti:
--ignore_unknown_values={true|false}
o-i={true|false}
- Se impostato su
true
, BigQuery ignora qualsiasi coppia chiave-valore che non corrisponde allo schema della tabella e inserisce la riga con i dati che non corrispondono allo schema. Se è impostata sufalse
, le righe con dati che non corrispondono allo schema della tabella non vengono inserite. Il valore predefinito èfalse
. --skip_invalid_rows={true|false}
o-s={true|false}
- Se impostato su
true
, BigQuery tenta di inserire eventuali righe valide, anche se sono presenti righe non valide. Se impostato sufalse
, il comando non riesce se sono presenti righe non valide. Il valore predefinito èfalse
. --template_suffix=SUFFIX or -x=SUFFIX
- Se specificato, considera la tabella di destinazione TABLE come modello di base e inserisci le righe in una tabella di istanza denominata
{destination}{templateSuffix}
. BigQuery crea la tabella delle istanze utilizzando lo schema del modello di base. TABLE
- La tabella in cui vuoi inserire i dati.
FILE
- Il file contenente i dati che vuoi inserire.
Per ulteriori informazioni sull'utilizzo del comando bq insert
, consulta
Streaming di dati in BigQuery.
bq load
Usa il comando bq load
per caricare i dati in una tabella.
Synopsis
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Esempio
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Flag e argomenti
Il comando bq load
utilizza i seguenti flag e argomenti:
--allow_jagged_rows={true|false}
- Per consentire la mancanza delle colonne facoltative nei dati CSV, imposta questo valore su
true
. --preserve_ascii_control_characters={true|false}
- Per consentire i caratteri ASCII di controllo incorporati nei dati CSV, imposta il criterio su
true
. --allow_quoted_newlines={true|false}
- Per consentire i nuovi preventivi nei dati CSV, imposta su
true
. --autodetect={true|false}
- Per attivare il rilevamento automatico dello schema per i dati CSV e JSON, imposta il criterio su
true
. Il valore predefinito èfalse
. Se--autodetect
èfalse
e non viene specificato alcuno schema utilizzando il flag--schema
ed esiste la tabella di destinazione, viene utilizzato lo schema della tabella di destinazione. --clustering_fields=COLUMNS
- Un elenco separato da virgole di massimo quattro nomi di colonna che specificano i campi da utilizzare per il clustering delle tabelle.
--destination_kms_key=KEY
- Specifica un ID risorsa della chiave Cloud KMS per la crittografia dei dati della tabella di destinazione.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
- La codifica dei caratteri utilizzata nei dati. Utilizza uno dei seguenti valori:
ISO-8859-1
(noto anche come Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
- Specifica il carattere che contrassegna il confine tra le colonne nei dati.
Il delimitatore può essere qualsiasi carattere a byte singolo ISO-8859-1. Puoi utilizzare
\t
otab
per specificare i delimitatori di scheda. --ignore_unknown_values={true|false}
- Se impostata su
true
, per i file CSV e JSON le righe con valori di colonna aggiuntivi che non corrispondono allo schema della tabella vengono ignorate e non vengono caricate. Analogamente, per i file Avro, Parquet e ORC, i campi dello schema di file che non esistono nello schema della tabella vengono ignorati e non vengono caricati. --json_extension=JSON_TYPE
Specifica il tipo di file JSON da caricare. Si applica solo ai file JSON. I valori possibili sono i seguenti:
GEOJSON
: file GeoJSON delimitato da nuova riga
Per utilizzare questo flag, è necessario che il flag
--source_format
sia impostato suNEWLINE_DELIMITED_JSON
.Per ulteriori informazioni, consulta la pagina relativa al caricamento di file GeoJSON delimitati da nuove righe.
--max_bad_records=MAX
Un numero intero che specifica il numero massimo di record non consentiti consentito prima dell'esito negativo dell'intero job. Il valore predefinito è
0
. Vengono restituiti al massimo cinque errori di qualsiasi tipo, indipendentemente dal valore--max_bad_records
. Questo flag si applica solo al caricamento di dati CSV, JSON e Fogli.--null_marker=STRING
Una stringa personalizzata facoltativa che rappresenta un valore
NULL
nei dati CSV.--projection_fields=PROPERTY_NAMES
Se imposti
--source_format
suDATASTORE_BACKUP
, questo flag indica quali proprietà dell'entità caricare da un'esportazione di Datastore. Specifica i nomi delle proprietà in un elenco separato da virgole. I nomi delle proprietà sono sensibili alle maiuscole e devono fare riferimento alle proprietà di primo livello. Puoi anche utilizzare questo flag con le esportazioni di Firestore.--quote=CHARACTER
Specifica una citazione tra i campi circostanti nei dati CSV. L'argomento
CHARACTER
può essere un qualsiasi carattere da un byte. Il valore predefinito è una citazione doppia ("
). Per specificare che non c'è nessuna citazione, utilizza una stringa vuota""
.--replace={true|false}
Per cancellare eventuali dati e schema esistenti durante il caricamento di nuovi dati, imposta
true
. Viene rimossa anche qualsiasi chiave Cloud KMS, a meno che non specifichi il flag--destination_kms_key
. Il valore predefinito èfalse
.--schema={SCHEMA_FILE|SCHEMA
}Specifica il percorso di un file di schema JSON locale o un elenco di definizioni di colonne separate da virgole nel modulo
FIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Non utilizzare un'estensione se utilizzi un file di schema.Ad esempio:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Se non sono specificati schemi e
--autodetect
èfalse
e la tabella di destinazione esiste, viene utilizzato lo schema della tabella di destinazione.--schema_update_option=OPTION
Quando aggiungi dati a una tabella (in un job di caricamento o in un job di query) o quando sovrascrivi una partizione della tabella, specifica come aggiornare lo schema della tabella di destinazione. Utilizza uno dei seguenti valori:
ALLOW_FIELD_ADDITION
: consenti l'aggiunta di nuovi campiALLOW_FIELD_RELAXATION
: consenti di alleggerire i campiREQUIRED
perNULLABLE
Ripeti questo flag per specificare più opzioni di aggiornamento dello schema.
--skip_leading_rows=NUMBER_OF_ROWS
Un numero intero che specifica il numero di righe da saltare all'inizio del file di origine. Il valore predefinito è
0
.--source_format=FORMAT
Il formato dei dati di origine. Utilizza uno dei seguenti valori:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(utilizza questo valore per Filestore)PARQUET
ORC
--time_partitioning_expiration=SECONDS
Un numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAME
Specifica il campo che determina come creare una partizione basata sul tempo. Se il partizionamento basato sul tempo è abilitato senza questo valore, la tabella viene partizionata in base al tempo di caricamento.
--time_partitioning_type=INTERVAL
Abilita il partizionamento basato sul tempo in una tabella e imposta il tipo di partizione. Utilizza uno dei seguenti valori:
DAY
HOUR
MONTH
YEAR
Il tipo di partizione predefinito per il partizionamento basato sul tempo è
DAY
.--use_avro_logical_types={true|false}
Se il flag
--source_format
è impostato suAVRO
, impostalo sutrue
per convertire i tipi logici nei tipi corrispondenti (ad esempioTIMESTAMP
) anziché utilizzare solo i tipi non elaborati (ad esempioINTEGER
).--decimal_target_types=DECIMAL_TYPE
Determina come convertire un tipo logico
Decimal
. Equivalente aJobConfigurationLoad.decimalTargetTypes
. Ripeti questo flag per specificare più tipi di target.--parquet_enum_as_string={true|false}
Se il flag
--source_format
è impostato suPARQUET
e vuoi che BigQuery deduca i tipi logici di ParquetENUM
come valoriSTRING
, imposta questo flag sutrue
. Il valore predefinito èfalse
.--parquet_enable_list_inference={true|false}
Se il flag
--source_format
è impostato suPARQUET
, questo flag indica se usare l'inferenza dello schema per i tipi logici di ParquetLIST
.--reference_file_schema_uri=URI
Specifica il percorso di un file di riferimento con lo schema di tabella previsto per la creazione di tabelle esterne. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri
. Questo flag è abilitato per i formati Avro, ORC e PARQUET.DESTINATION_TABLE
La tabella in cui vuoi caricare i dati.
SOURCE_DATA
L'URI Cloud Storage del file contenente i dati da caricare.
SCHEMA
Lo schema per la tabella di destinazione.
Per ulteriori informazioni sul caricamento dei dati da Cloud Storage con il comando bq load
, consulta quanto segue:
- Caricamento dati Avro
- Caricamento dei dati CSV
- Caricamento dati JSON
- Caricamento dati ORC
- Caricamento dati Parquet
- Caricamento dei dati dalle esportazioni di Datastore
- Caricamento dei dati dalle esportazioni di Firestore
Per ulteriori informazioni sul caricamento dei dati da una sorgente locale utilizzando il comando bq load
, consulta quanto segue:
bq ls
Usa il comando bq ls
per elencare gli oggetti in una raccolta.
Synopsis
bq ls [FLAGS] [RESOURCE]
Esempio
bq ls myDataset
Flag e argomenti
Il comando bq ls
utilizza i seguenti flag e argomenti:
--all={true|false}
o-a={true|false}
- Per mostrare tutti i risultati, imposta
true
. Mostra i job di tutti gli utenti o di tutti i set di dati, inclusi quelli nascosti. Questo flag non è necessario quando si elencano le configurazioni di trasferimento o le esecuzioni del trasferimento. Il valore predefinito èfalse
. --capacity_commitment={true|false}
Per elencare gli impegni di capacità, imposta su
true
e utilizza il flag--location
per specificare la località. Per maggiori informazioni, consulta Visualizzare gli impegni acquistati.Ad esempio:
bq ls --capacity_commitment=true --location='us'
--datasets={true|false}
o-d={true|false}
Per elencare i set di dati, imposta
true
. Il valore predefinito èfalse
.--filter="FILTER"
Filtra le risorse elencate in modo che corrispondano all'argomento
FILTER
.Per i set di dati,
FILTER
è costituito da una o più triple separate da spazi nel formatolabels.KEY:VALUE
. Se viene fornita più di una tripla, il comando restituisce solo i set di dati corrispondenti a tutte le triple (ovvero, il comando utilizza l'operatore logicoAND
, nonOR
). Se vuoi specificare più di una tripla, racchiudi il valoreFILTER
tra virgolette.Per filtrare in base alle etichette del set di dati, utilizza le chiavi e i valori che hai applicato ai set di dati.
Ad esempio:
--filter "labels.department:marketing labels.team:sales"
Per le configurazioni di trasferimento, utilizza
dataSourceIds
come chiave e una delle seguenti origini dati come valore:
amazon_s3
- Trasferimento dati Amazon S3dcm_dt
- Trasferimento dei dati di Campaign Managergoogle_cloud_storage
- Trasferimento dei dati di Cloud Storagecross_region_copy
- Testo del set di datidfp_dt
- Trasferimento dei dati di Google Ad Manageradwords
- Trasferimento dei dati di Google Adsmerchant_center
- Trasferimento dei dati di Google Merchant Centerplay
- Trasferimento dei dati di Google Playdoubleclick_search
- Trasferimento dei dati di Search Ads 360youtube_channel
- Trasferimento dei dati dei canali YouTubeyoutube_content_owner
- Trasferimento dei dati del proprietario dei contenuti di YouTuberedshift
- Migrazione di Amazon Redshifton_premises
- Migrazione di Teradata
Ad esempio:
--filter labels.dataSourceIds:dcm_dt
Per le esecuzioni del trasferimento, utilizza states
come chiave e uno dei seguenti stati di trasferimento come valore:
+ SUCCEEDED
+ FAILED
+ PENDING
+ RUNNING
+ CANCELLED
For example:
<pre>
--filter labels.states:FAILED
</pre>
Per i job, il flag di filtro non è supportato.
--jobs={true|false}
o-j={true|false}
- Per elencare i job, imposta su
true
. Il valore predefinito èfalse
. Per impostazione predefinita, il limite è di 100.000 risultati. --max_creation_time=MAX_CREATION_TIME_MS
- Un numero intero che rappresenta un timestamp in millisecondi. Se specificato con il flag
--jobs
, questo flag elenca solo i job creati prima del timestamp. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- Un numero intero che indica il numero massimo di risultati. Il valore predefinito è 50 e il valore massimo è 1000. Se hai più di 1000 job, puoi utilizzare il flag
page_token
per elencare tutti i job utilizzando l'impaginazione. - -
min_creation_time=MIN_CREATION_TIME_MS
- Un numero intero che rappresenta un timestamp in millisecondi. Se specificato con il flag
--jobs
, questo include soltanto i job creati dopo il timestamp. --message_type=messageTypes:MESSAGE_TYPE
Per elencare solo i messaggi di log di esecuzione di un determinato tipo, specifica
messageTypes:MESSAGE_TYPE
. I valori possibili sono i seguenti:INFO
WARNING
ERROR
--models={true|false}
o-m={true|false}
Per elencare i modelli BigQuery ML, imposta questo criterio su
true
. Il valore predefinito èfalse
.--page_token=TOKEN
o-k=TOKEN
Elenca gli elementi a partire dal token della pagina specificato.
--projects={true|false}
o-p={true|false}
Per visualizzare tutti i progetti, imposta
true
. Il valore predefinito èfalse
.--reservation={true|false}
Per elencare tutte le prenotazioni per un determinato progetto e una località, imposta
true
. Il valore predefinito èfalse
. Da utilizzare con i flag--project_id
e--location
.Ad esempio:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}
Per elencare tutte le assegnazioni di prenotazione per un determinato progetto e una località, imposta
true
. Il valore predefinito èfalse
. Da utilizzare con i flag--project_id
e--location
.--routines={true|false}
Per elencare tutte le routine nel set di dati specificato, imposta
true
. Il valore predefinito èfalse
. Le routine includono funzioni definite dall'utente permanenti, funzioni di tabella (anteprima) e stored procedure.--row_access_policies
Se specificato, elenca tutti i criteri di accesso a livello di riga su una tabella. I criteri di accesso a livello di riga vengono utilizzati per la sicurezza a livello di riga. Devi fornire il nome della tabella nel formato
dataset.table
.--run_attempt=RUN_ATTEMPT
Utilizza il flag
--transfer_run
. Per elencare tutti i tentativi di esecuzione per l'esecuzione di trasferimento specificata, imposta suRUN_ATTEMPT_UNSPECIFIED
. Per elencare solo l'ultimo tentativo di esecuzione, impostaLATEST
. Il valore predefinito èLATEST
.--transfer_config={true|false}
Per elencare le configurazioni di trasferimento nel progetto e nella località specificati, imposta il criterio su
true
. Utilizza il flag--transfer_location
e--project_id
. Il valore predefinito èfalse
.--transfer_location=LOCATION
Elencare le configurazioni di trasferimento nella località specificata. Puoi impostare il percorso di trasferimento quando viene creato il trasferimento.
--transfer_log={true|false}
Utilizza il flag
--transfer_run
. Per elencare i messaggi di log di trasferimento per l'esecuzione specificata per il trasferimento, imposta sutrue
. Il valore predefinito èfalse
.--transfer_run={true|false}
Elenca le esecuzioni del trasferimento per la configurazione specificata.
Ad esempio:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE
La raccolta di cui vuoi elencare gli oggetti. La risorsa può essere una configurazione di set di dati, progetto, prenotazione o trasferimento.
Per scoprire di più sull'utilizzo del comando bq ls
, consulta quanto segue:
- Gestione dei job
- Elencare i set di dati in un progetto
- Creare e utilizzare le tabelle
- Elencare le visualizzazioni in un set di dati
- Utilizzare i trasferimenti
- Elencare gli snapshot delle tabelle in un set di dati
bq mk
Usa il comando bq mk
per creare una risorsa BigQuery.
Synopsis
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Flag e argomenti
Il comando bq mk
utilizza un flag type che specifica il tipo di risorsa da creare e ulteriori flag che dipendono dal tipo di risorsa.
TYPE_FLAG
:imposta uno dei seguenti flag su true
.
La tua selezione specifica il tipo di risorsa da creare.
--capacity_commitment
: acquista un impegno di capacità.--connection
: crea una connessione.--dataset
o-d
: crea un set di dati.--materialized_view
: crea una vista materializzata.--reservation
: crea una prenotazione.--reservation_assignment
. Assegna una cartella, un progetto o un'organizzazione a una prenotazione.--table
o-t
: crea una tabella.--transfer_config
: crea una configurazione di trasferimento.--transfer_run
: crea un'esecuzione del trasferimento per un intervallo di tempo.--view
: crea una vista.
Il comando bq mk
supporta il seguente flag per tutti i tipi di risorse:
--force={true|false}
o-f={true|false}
- Per ignorare gli errori se esiste già una risorsa con lo stesso nome, impostala su
true
. Se la risorsa esiste già, il codice di uscita è 0, ma l'impostazione di questo flag sutrue
non comporta la sovrascrittura della risorsa da parte del comandobq mk
. Il valore predefinito èfalse
.
Il comando bq mk
supporta ulteriori flag, a seconda del tipo di risorsa che stai creando, come descritto nelle sezioni seguenti.
bq mk --capacity_commitment
Per acquistare un impegno di capacità, imposta --capacity_commitment
su true
e utilizza i seguenti flag:
--location=LOCATION
- Indica la località dell'impegno.
--plan=PLAN_TYPE
- Specifica il
tipo di piano di impegno.
Imposta una delle seguenti opzioni:
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
- Specifica il
tipo di piano di rinnovo.
Applicabile e obbligatorio solo per un piano di impegno di
ANNUAL
. Una delle seguenti opzioni:FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
- Specifica il progetto che amministra gli slot.
--slots=NUMBER_OF_SLOTS
- Specifica il numero di slot da acquistare.
Per maggiori informazioni, consulta la pagina Acquistare slot.
bq mk --connection
Crea una connessione. Sono supportati i seguenti flag:
--connection_type=CONNECTION_TYPE
- Il tipo di connessione, ad esempio
CLOUD_SQL
per le connessioni Cloud SQL. --properties=PROPERTIES
- Parametri specifici della connessione in formato JSON. È necessario specificare
instanceId
,database
etype
. --connection_credential=CONNECTION_CREDENTIAL
- Le credenziali della connessione in formato JSON. È necessario specificare
username
epassword
. --project_id=PROJECT_ID
- Specifica l'ID del progetto a cui appartiene la connessione.
--location=LOCATION
- Specifica la località in cui verrà archiviata la connessione.
--display_name=DISPLAY_NAME
- Specifica un nome facoltativo per la connessione.
--description=DESCRIPTION
- Specifica una descrizione facoltativa della connessione.
--iam_role_id=ROLE_ID
Per BigQuery Omni su AWS, specifica un ruolo IAM che consente di accedere alla risorsa.
Utilizza il formato seguente:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"
, dove:- AWS_ACCOUNT_ID è il numero ID dell'utente AWS IAM della connessione.
- POLICY_NAME è il nome del criterio.
Esempio:
"arn:aws:iam::0123456789AB:policy/s3-read-role"
--tenant_id=TENANT_ID
Per BigQuery Omni su Azure, specifica l'ID tenant della directory Azure, che contiene l'account Azure Storage.
CONNECTION_ID
Specifica un ID connessione facoltativo per la connessione. Se non viene fornito un ID connessione, viene generato automaticamente un ID univoco. L'ID connessione può contenere lettere, numeri e trattini bassi.
Per scoprire di più, consulta la sezione Creare connessioni.
bq mk --dataset
Crea un set di dati. Sono supportati i seguenti flag:
--default_kms_key=KEY
- Specifica l'ID risorsa della chiave Cloud KMS predefinito per criptare i dati della tabella in un set di dati se non viene fornita una chiave esplicita durante la creazione o la query della tabella.
--default_partition_expiration=SECONDS
- Un numero intero che specifica la scadenza predefinita, in secondi, per tutte le partizioni delle tabelle partizionate appena create nel set di dati. L'ora di scadenza di una partizione è impostata sulla data UTC della partizione più il valore intero.
Se questa proprietà è impostata, il relativo valore sostituisce la scadenza predefinita della tabella predefinita a livello di set di dati, se esistente. Se fornisci il flag
--time_partitioning_expiration
quando crei o aggiorni una tabella partizionata, la scadenza delle partizioni a livello di tabella ha la precedenza su quella predefinita a livello di set di dati. --default_table_expiration=SECONDS
- Un numero intero che specifica la durata predefinita, in secondi, per le tabelle appena create in un set di dati. La scadenza è impostata sull'ora UTC corrente più questo valore.
--description=DESCRIPTION
- Specifica la descrizione del set di dati.
--label=KEY:VALUE
- Specifica un'etichetta per il set di dati. Ripeti il flag per specificare più etichette.
--location=LOCATION
o--data_location=LOCATION
- Specifica la località del set di dati. Preferenza:
--location
il flag--data_location
è un flag legacy. --max_time_travel_hours=HOURS
In anteprima. Specifica la durata in ore della finestra di spostamento temporale per il set di dati. Il valore
--max_time_travel_hours
deve essere un numero intero compreso tra 48 (2 giorni) e 168 (7 giorni). Se questo flag non è specificato, il valore predefinito è 168 ore.Per ulteriori informazioni sulla finestra temporale, consulta Configurazione della finestra temporale.
--storage_billing_model=BILLING_MODEL
In anteprima. Specifica il modello di fatturazione dello spazio di archiviazione per il set di dati. Imposta questo valore del flag su
LOGICAL
per utilizzare i byte logici per la fatturazione dell'archiviazione oppure suPHYSICAL
per utilizzare i byte fisici.LOGICAL
è il valore predefinito se questo flag non è specificato.Per maggiori informazioni, consulta Modelli di fatturazione per l'archiviazione dei set di dati.
Per ulteriori informazioni, consulta la sezione Creazione di set di dati.
bq mk --materialized_view
Crea una vista materializzata. Sono supportati i seguenti flag:
--enable_refresh={true|false}
- Per disattivare l'aggiornamento automatico per una vista materializzata, imposta il criterio su
false
. L'impostazione predefinita per la creazione di una vista materializzata ètrue
. --refresh_interval_ms=MILLISECONDS
- Specifica il numero di millisecondi per l'intervallo di aggiornamento di una vista materializzata. Se questo flag non è specificato, l'intervallo di aggiornamento predefinito per una vista materializzata per cui è stato attivato l'aggiornamento è 1800.000 millisecondi, ovvero 30 minuti.
Per scoprire di più, consulta Creare e utilizzare le viste materializzate.
bq mk --reservation
Crea una prenotazione con slot dedicati. Sono supportati i seguenti flag:
--concurrency=CONCURRENCY
- In anteprima. Specifica il numero target di query che vengono eseguite contemporaneamente. Il valore predefinito è 0, il che significa che la contemporaneità viene calcolata automaticamente in base alle dimensioni della prenotazione. Per saperne di più, consulta Utilizzare le code di query.
--ignore_idle_slots={true|false}
- Per limitare i job in esecuzione in questa prenotazione solo per gli slot assegnati alla prenotazione, imposta questa opzione su
true
. Il valore predefinito èfalse
; i job in questa prenotazione possono utilizzare slot inattivi di altre prenotazioni o slot non assegnati a una prenotazione. Per maggiori informazioni, consulta Slot inattivi. --location=LOCATION
- Specifica la località della prenotazione.
--project_id=PROJECT_ID
- Specifica il progetto proprietario della prenotazione.
--slots=NUMBER_OF_SLOTS
- Specifica il numero di slot da assegnare a questa prenotazione.
Per maggiori informazioni, consulta la pagina Creare una prenotazione con slot dedicati.
bq mk --reservation_assignment
Assegna un progetto, una cartella o un'organizzazione a una prenotazione. Sono supportati i seguenti flag:
--assignee_id=ASSIGNEE_ID
- Specifica l'ID della cartella, dell'organizzazione o del progetto.
--assignee_type=ASSIGNEE_TYPE
- Specifica il tipo di entità da assegnare alla prenotazione. Uno dei seguenti:
FOLDER
ORGANIZATION
PROJECT
--job_type=JOB_TYPE
- Specifica il tipo di job da assegnare alla prenotazione. Una delle seguenti opzioni:
QUERY
PIPELINE
ML_EXTERNAL
BACKGROUND
--location=LOCATION
- Specifica la località della prenotazione.
--project_id=PROJECT_ID
- Specifica il progetto proprietario della prenotazione.
--reservation_id=RESERVATION_ID
- Specifica l'ID della prenotazione.
Per ulteriori informazioni, consulta la pagina Lavorare con le assegnazioni di prenotazione.
bq mk --table
Crea una tabella. Sono supportati i seguenti flag:
--clustering_fields=COLUMNS
- Un elenco separato da virgole di massimo quattro nomi di colonna che specificano i campi da utilizzare per il clustering delle tabelle. Se specificata con il partizionamento, la tabella viene prima partizionata, quindi ciascuna viene raggruppata utilizzando le colonne fornite.
--description=DESCRIPTION
- Specifica la descrizione della tabella.
--destination_kms_key=KEY
- Specifica un ID risorsa della chiave Cloud KMS per la crittografia dei dati della tabella di destinazione.
--expiration=SECONDS
- Specifica la durata della tabella. Se
SECONDS
è0
, la tabella non scade. Se non specifichi il flag--expiration
, BigQuery crea la tabella con la durata predefinita della tabella del set di dati. --external_table_definition=STRING
Specifica la definizione della tabella per creare una tabella esterna.
Per le tabelle esterne Cloud Storage e Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION}
- Il valore può essere un percorso a un file contenente una definizione di tabella (
PATH_TO_FILE
) o una definizione di tabella incorporata (DEFINITION
).
- Il formato del campo
DEFINITION
èSCHEMA@FORMAT=URI
. Il formato del valore
SCHEMA
è un elenco separato da virgole di definizioni di colonne nel moduloFIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Puoi omettere il valoreSCHEMA
se il formato dei dati è autodescrittivo (come Avro) o se utilizzi il rilevamento automatico dello schema.Il valore
FORMAT
specifica il formato dei dati; uno dei seguenti:AVRO
CSV
DATASTORE_BACKUP
(utilizza questo valore per Filestore)ICEBERG
NEWLINE_DELIMITED_JSON
ORC
PARQUET
Non specificare un'estensione se specifichi un file di definizione della tabella.
Ad esempio:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Per le tabelle esterne di Cloud Bigtable e per le tabelle BigLake basate su AWS e Azure:
--external_table_definition=PATH_TO_FILE
- Il valore deve essere un percorso a un file contenente una definizione di tabella.
Per le tabelle BigLake basate su Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME
:Il valore
FORMAT
specifica il formato dei dati; uno dei seguenti:AVRO
CSV
NEWLINE_DELIMITED_JSON
ICEBERG
ORC
PARQUET
BUCKET_PATH
è il percorso di uno o più file in Cloud Storage che contengono i dati della tabella BigLake. Puoi specificareBUCKET_PATH
nei seguenti formati:- Per un singolo file:
gs://bucket_name/[folder_name/]file_name
. - Per più file in un unico bucket:
gs://bucket_name/[folder_name/]*
. Per più file in più bucket:
['gs://mybucket1/*', 'gs://mybucket2/folder5/*']
.Puoi utilizzare i caratteri jolly per limitare i file inclusi nella tabella BigLake. Ad esempio, se il bucket contiene diversi tipi di dati, puoi fare in modo che la tabella utilizzi solo i file PARQUET specificando
gs://bucket_name/*.parquet
. Per ulteriori informazioni sull'utilizzo dei caratteri jolly, consulta l'articolo sui caratteri jolly.
- Per un singolo file:
Il valore
REGION
specifica l'area geografica o più aree geografiche che contiene la connessione.Il valore
CONNECTION_NAME
specifica il nome della connessione alla risorsa cloud da utilizzare con questa tabella esterna. La connessione determina quale account di servizio viene utilizzato per leggere i dati da Cloud Storage.
Per le tabelle degli oggetti:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME
:BUCKET_PATH
è il percorso del bucket Cloud Storage che contiene gli oggetti rappresentati dalla tabella degli oggetti nel formatogs://bucket_name/[folder_name/]*
.Puoi specificare più bucket fornendo più percorsi, ad esempiogs://mybucket1/*,gs://mybucket2/folder5/*
.Puoi utilizzare i caratteri jolly per limitare gli oggetti inclusi nella tabella degli oggetti. Ad esempio, se il bucket contiene diversi tipi di dati non strutturati, puoi creare la tabella degli oggetti solo sugli oggetti PDF specificando
gs://bucket_name/*.pdf
. Per ulteriori informazioni sull'utilizzo dei caratteri jolly, consulta l'articolo sui caratteri jolly.Il valore
REGION
specifica l'area geografica o più aree geografiche che contiene la connessione.Il valore
CONNECTION_NAME
specifica il nome della connessione alla risorsa cloud da utilizzare con questa tabella esterna. La connessione determina quale account di servizio viene utilizzato per leggere i dati da Cloud Storage.
-
--reference_file_schema_uri=URI
Specifica il percorso di un file di riferimento con lo schema di tabella previsto per la creazione di tabelle esterne. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri
. Questo flag è abilitato per i formati Avro, ORC e PARQUET.--label=KEY:VALUE
Specifica un'etichetta per la tabella. Ripeti questo flag per specificare più etichette.
--max_staleness=INTERVAL
Specifica se i metadati memorizzati nella cache vengono utilizzati dalle operazioni nella tabella e come devono essere aggiornati i metadati memorizzati nella cache affinché l'operazione possa utilizzarli.
Applicabile per le tabelle BigLake e le tabelle degli oggetti. In anteprima.
Per disattivare la memorizzazione dei metadati nella cache, specifica 0. Questa è l'impostazione predefinita.
Per abilitare la memorizzazione dei metadati nella cache, specifica un valore di intervallo compreso tra 30 minuti e 7 giorni, utilizzando il formato
Y-M D H:M:S
descritto nella documentazione relativa al tipo di datiINTERVAL
. Ad esempio, specifica0-0 0 4:0:0
per un intervallo di 4 ore. Con questo valore, le operazioni eseguite nella tabella utilizzano metadati memorizzati nella cache se sono state aggiornate nelle ultime 4 ore. Se i metadati memorizzati nella cache sono precedenti, l'operazione ricorre al recupero dei metadati da Cloud Storage.--metadata_cache_mode=STRING
Specifica se la cache dei metadati per la tabella viene aggiornata automaticamente o manualmente.
Imposta
AUTOMATIC
per l'aggiornamento della cache dei metadati a un intervallo definito dal sistema, generalmente compreso tra 30 e 60 minuti.Imposta
MANUAL
se vuoi aggiornare la cache dei metadati in base a una pianificazione da te stabilita. In questo caso, puoi chiamare la procedura di sistema diBQ.REFRESH_EXTERNAL_METADATA_CACHE
per aggiornare la cache.Devi impostare
--metadata_cache_mode
se--max_staleness
è impostato.--object_metadata=STRING
Imposta il valore di questo flag su
SIMPLE
durante la creazione di una tabella di oggetti.Obbligatorio solo quando si crea una tabella di oggetti. In anteprima.
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Specifica le opzioni per una partizione di un intervallo intero, come segue:
column_name
è la colonna utilizzata per creare le partizioni di intervalli interi.start
è l'inizio del partizionamento degli intervalli, incluso.end
è la fine del partizionamento degli intervalli, esclusiva.interval
è la larghezza di ogni intervallo all'interno della partizione.
Ad esempio:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}
Per richiedere un filtro di partizione per le query sulla tabella fornita, imposta questo criterio su
true
. Questo flag si applica solo alle tabelle partizionate. Il valore predefinito èfalse
.--schema={SCHEMA_FILE|SCHEMA
}Specifica il percorso di un file di schema JSON locale o un elenco di definizioni di colonne separate da virgole nel modulo
FIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Non utilizzare un'estensione se utilizzi un file di schema.Esempi:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDS
Un numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAME
Specifica il campo utilizzato per determinare come creare una partizione basata sul tempo. Se il partizionamento basato sul tempo è abilitato senza questo valore, la tabella viene partizionata in base al tempo di caricamento.
--time_partitioning_type=INTERVAL
Abilita il partizionamento basato sul tempo in una tabella e imposta il tipo di partizione. Utilizza uno dei seguenti valori:
DAY
HOUR
MONTH
YEAR
--use_avro_logical_types={true|false}
Se la parte
FORMAT
del flag--external_table_definition
è impostata suAVRO
, questo flag specifica se convertire i tipi logici nei tipi corrispondenti (ad esempioTIMESTAMP
) anziché utilizzare solo i tipi non elaborati (ad esempioINTEGER
).--parquet_enable_list_inference={true|false}
Se la parte
FORMAT
del flag--external_table_definition
è impostata suPARQUET
, questo flag specifica se utilizzare l'inferenza dello schema per i tipi logici di ParquetLIST
.--parquet_enum_as_string={true|false}
Se la parte
FORMAT
del flag--external_table_definition
è impostata suPARQUET
, questo flag specifica se dedurre i tipi logici di ParquetENUM
come valoriSTRING
.
Per scoprire di più, consulta la sezione Creare e utilizzare le tabelle.
bq mk --transfer_config
Crea una configurazione di trasferimento. Sono supportati i seguenti flag:
--data_source=DATA_SOURCE
- Specifica l'origine dati. Obbligatorio durante la creazione di una configurazione di trasferimento. Utilizza uno dei seguenti valori:
amazon_s3
- Trasferimento dati Amazon S3dcm_dt
- Trasferimento dei dati di Campaign Managergoogle_cloud_storage
- Trasferimento dei dati di Cloud Storagecross_region_copy
- Testo del set di datidfp_dt
- Trasferimento dei dati di Google Ad Manageradwords
- Trasferimento dei dati di Google Adsmerchant_center
- Trasferimento dei dati di Google Merchant Centerplay
- Trasferimento dei dati di Google Playdoubleclick_search
- Trasferimento dei dati di Search Ads 360youtube_channel
- Trasferimento dei dati dei canali YouTubeyoutube_content_owner
- Trasferimento dei dati del proprietario dei contenuti di YouTuberedshift
- Migrazione di Amazon Redshifton_premises
- Migrazione di Teradata
--display_name=DISPLAY_NAME
- Specifica il nome visualizzato per la configurazione del trasferimento.
--params={"PARAMETER":"VALUE"}
o-p={"PARAMETER":"VALUE"}
- Specifica i parametri per la configurazione di trasferimento in formato JSON. I parametri variano a seconda dell'origine dati.
--refresh_window_days=DAYS
- Un numero intero che specifica la finestra di aggiornamento per la configurazione di trasferimento in giorni. Il valore predefinito è
0
. --service_account_name=SERVICE_ACCOUNT
- Specifica un account di servizio da utilizzare come credenziale per la configurazione del trasferimento.
--target_dataset=DATASET
- Specifica il set di dati di destinazione per la configurazione di trasferimento.
Per informazioni sull'utilizzo del comando bq mk
con BigQuery Data Transfer Service, consulta quanto segue:
- Configurare un trasferimento Amazon S3
- Configurare un trasferimento a Campaign Manager
- Configurare un trasferimento Cloud Storage
- Configurare un trasferimento Google Ad Manager
- Configurare un trasferimento Google Ads
- Configurare un trasferimento di Google Merchant Center (beta)
- Configurare un trasferimento di Google Play
- Configurare un trasferimento a Search Ads 360 (beta)
- Configurare il trasferimento di un canale YouTube
- Configurare il trasferimento di un proprietario dei contenuti di YouTube
- Eseguire la migrazione di dati da Amazon Redshift
- Eseguire la migrazione dei dati da Teradata
bq mk --transfer_run
Crea un'esecuzione di trasferimento di dati all'ora o all'intervallo di tempo specificati utilizzando la configurazione di trasferimento di dati specificata.
Synopsis
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
Sono supportati i seguenti flag:
--run_time=RUN_TIME
- Un timestamp che specifica l'ora per pianificare l'esecuzione del trasferimento dei dati.
--start_time=START_TIME
- Un timestamp che specifica l'ora di inizio per un intervallo di esecuzioni di trasferimenti di dati.
--end_time=END_TIME
- Un timestamp che specifica l'ora di fine per un intervallo di esecuzioni di trasferimenti di dati.
Il formato dei timestamp è RFC3339 UTC "Zulu".
L'argomento CONFIG
specifica una configurazione di trasferimento dati preesistente.
Esempi
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
Crea una vista. Sono supportati i seguenti flag:
--description=DESCRIPTION
- Specifica la descrizione della vista.
--expiration=SECONDS
- Specifica la durata per la vista. Se
SECONDS
è0
, la visualizzazione non scade. Se non specifichi il flag--expiration
, BigQuery crea la vista con la durata predefinita della tabella del set di dati. --label=KEY:VALUE
- Specifica un'etichetta per la vista. Ripeti il flag per specificare più etichette.
--use_legacy_sql={true|false}
- Imposta il criterio
false
per utilizzare una query SQL standard di Google per creare una vista. Il valore predefinito ètrue
e utilizza la versione precedente di SQL. --view_udf_resource=FILE
- Specifica l'URI Cloud Storage o il percorso di un file di codice locale che viene caricato e valutato immediatamente come risorsa di funzione definita dall'utente utilizzata dalla query SQL di una vista. Ripeti il flag per specificare più file.
Per ulteriori informazioni, consulta Creazione delle viste.
bq mkdef
Usa il comando bq mkdef
per creare una definizione della tabella in formato JSON per i dati archiviati in Cloud Storage o Drive.
Synopsis
bq mkdef [FLAGS] URI [ > FILE ]
Flag e argomenti
Il comando bq mkdef
utilizza i seguenti flag e argomenti:
--autodetect={true|false}
- Specifica se utilizzare il rilevamento automatico dello schema per i dati CSV e JSON. Il valore predefinito è
false
. --connection_id=CONNECTION_ID
- L'ID di una risorsa di connessione da utilizzare per l'autenticazione.
--ignore_unknown_values={true|false}
o-i={true|false}
- Specifica se ignorare i valori presenti in una riga che non sono presenti nello schema. Il valore predefinito è
false
. --max_staleness=INTERVAL
Specifica se i metadati memorizzati nella cache vengono utilizzati dalle operazioni nella tabella e come devono essere aggiornati i metadati memorizzati nella cache affinché l'operazione possa utilizzarli.
Applicabile per le tabelle BigLake e le tabelle degli oggetti. In anteprima.
Per disattivare la memorizzazione dei metadati nella cache, specifica 0. Questa è l'impostazione predefinita.
Per abilitare la memorizzazione dei metadati nella cache, specifica un valore di intervallo compreso tra 30 minuti e 7 giorni, utilizzando il formato
Y-M D H:M:S
descritto nella documentazione relativa al tipo di datiINTERVAL
. Ad esempio, specifica0-0 0 4:0:0
per un intervallo di 4 ore. Con questo valore, le operazioni eseguite nella tabella utilizzano metadati memorizzati nella cache se sono state aggiornate nelle ultime 4 ore. Se i metadati memorizzati nella cache sono precedenti, l'operazione utilizza di nuovo il recupero dei metadati da Cloud Storage.--metadata_cache_mode=STRING
Specifica se la cache dei metadati per la tabella viene aggiornata automaticamente o manualmente.
Imposta
AUTOMATIC
per l'aggiornamento della cache dei metadati a un intervallo definito dal sistema, generalmente compreso tra 30 e 60 minuti.Imposta
MANUAL
se vuoi aggiornare la cache dei metadati in base a una pianificazione da te stabilita. In questo caso, puoi chiamare la procedura di sistema diBQ.REFRESH_EXTERNAL_METADATA_CACHE
per aggiornare la cache.Devi impostare
--metadata_cache_mode
se--max_staleness
è impostato.--parquet_enable_list_inference={true|false}
Se
source_format
è impostato suPARQUET
, questo flag specifica se utilizzare l'inferenza dello schema per i tipi logici di ParquetLIST
. Il valore predefinito èfalse
.--parquet_enum_as_string={true|false}
Se
source_format
è impostato suPARQUET
, questo flag specifica se deduce i tipi logici di ParquetENUM
come valori diSTRING
. Il valore predefinito èfalse
.--source_format=FORMAT
Specifica il formato dei dati di origine. Utilizza uno dei seguenti valori:
AVRO
CSV
DATASTORE_BACKUP
(utilizza questo valore per Filestore)GOOGLE_SHEETS
NEWLINE_DELIMITED_JSON
ORC
PARQUET
Il valore predefinito è
CSV
.--use_avro_logical_types={true|false}
Se il flag
--source_format
è impostato suAVRO
, questo flag specifica se convertire i tipi logici nei tipi corrispondenti (ad esempioTIMESTAMP
) anziché utilizzare solo i tipi non elaborati (ad esempioINTEGER
). Il valore predefinito èfalse
.
Per ulteriori informazioni sull'utilizzo del comando bq mkdef
, consulta
Creazione di un file di definizione della tabella per un'origine dati esterna.
bq partition
Utilizza il comando bq partition
per convertire un gruppo di tabelle con vincoli di unità di tempo, ad esempio tabelle che terminano con YYYYMMDD
per il partizionamento delle date in tabelle partizionate.
Synopsis
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Flag e argomenti
Il comando bq partition
utilizza i seguenti flag e argomenti:
--no_clobber={true|false}
o-n={true|false}
- Per non consentire di sovrascrivere una partizione esistente,
imposta il criterio su
true
. Il valore predefinito èfalse
; se la partizione esiste, viene sovrascritta. --time_partitioning_expiration=SECONDS
- Un numero intero che specifica (in secondi) quando è necessario eliminare una partizione basata sul tempo. La scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è scaduta.
--time_partitioning_type=INTERVAL
Specifica il tipo di partizione. La seguente tabella fornisce i possibili valori per il flag
INTERVAL
e il formato previsto per time-unit-suffix per ciascuno di essi:INTERVAL
Suffisso HOUR
YYYYMMDDHH
DAY
YYYYMMDD
MONTH
YYYYMM
YEAR
YYYY
SOURCE_TABLE_BASE_NAME
Il nome di base del gruppo di tabelle con suffissi delle unità di tempo.
PARTITION_TABLE
Il nome della tabella partizionata di destinazione.
Per saperne di più sull'utilizzo del comando bq partition
, consulta
Conversione delle tabelle con shard in base alla data in tabelle partizionate per data di importazione.
bq query
Usa il comando bq query
per creare un job di query che esegue la query SQL specificata.
Synopsis
bq query [FLAGS] 'QUERY'
Flag e argomenti
Il comando bq query
utilizza i seguenti flag e argomenti:
--allow_large_results={true|false}
- Per abilitare le dimensioni delle tabelle di destinazione di grandi dimensioni per le query SQL precedenti, impostale su
true
. Il valore predefinito èfalse
. --append_table={true|false}
- Per aggiungere dati a una tabella di destinazione, imposta il valore su
true
. Il valore predefinito èfalse
. --batch={true|false}
- Per eseguire la query in modalità batch, imposta
true
. Il valore predefinito èfalse
. --clustering_fields=COLUMNS
- Un elenco separato da virgole di un massimo di quattro nomi di colonna che specificano i campi da utilizzare per raggruppare la tabella di destinazione in una query. Se specificata con il partizionamento, la tabella viene prima partizionata e poi tutte le partizioni vengono cluster utilizzando le colonne fornite.
--destination_kms_key=KEY
- Specifica un ID risorsa della chiave Cloud KMS per la crittografia dei dati della tabella di destinazione.
--destination_schema={PATH_TO_FILE|SCHEMA}
Il percorso di un file di schema JSON locale o di un elenco di definizioni di colonne separate da virgole nel formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE e così via.
Le modifiche allo schema vengono eseguite in un'operazione separata dall'esecuzione delle query. Se scrivi i risultati della query in una tabella specificando il flag
--destination_table
e in seguito la query solleva un'eccezione, è possibile che le eventuali modifiche allo schema vengano ignorate. In questo caso, controlla lo schema della tabella di destinazione e, se necessario, aggiornalo manualmente.--destination_table=TABLE
Se specificati, i risultati della query vengono salvati in
TABLE
. SpecificaTABLE
nel seguente formato:PROJECT
:DATASET
.TABLE
. SePROJECT
non è specificato, viene usato il progetto corrente. Se il flag--destination_table
non è specificato, i risultati della query vengono salvati in una tabella temporanea.Esempi:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}
Se specificata, la query viene convalidata ma non eseguita.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
Specifica il nome e la definizione della tabella per una query esterna sulla tabella. La definizione della tabella può essere un percorso di un file di schema JSON locale o una definizione della tabella in linea. Il formato per fornire la definizione della tabella in linea è
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
. Il formato del valoreSCHEMA
è un elenco separato da virgole di definizioni di colonna nel moduloFIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Se utilizzi un file di definizione della tabella, non assegnargli un'estensione.Ad esempio:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Ripeti questo flag per eseguire query su più tabelle.
--flatten_results={true|false}
Per non suddividere i campi nidificati e ripetuti nei risultati per le query SQL precedenti, imposta
false
. Il valore predefinito ètrue
.--label=KEY:VALUE
Specifica un'etichetta per il job di query. Ripeti questo flag per specificare più etichette.
--max_rows=MAX_ROWS
o-n=MAX_ROWS
Un numero intero che specifica il numero di righe da restituire nei risultati della query. Il valore predefinito è
100
.--maximum_bytes_billed=MAX_BYTES
Un numero intero che limita i byte fatturati per la query. Se la query supera il limite, la query ha esito negativo (senza comportare un addebito). Se questo flag non è specificato, i byte fatturati sono impostati sul valore predefinito del progetto.
--min_completion_ratio=RATIO
[Sperimentale] Un numero compreso tra 0 e 1,0 che specifica la frazione minima di dati che devono essere analizzati prima che venga restituita una query. Se il flag non è specificato, viene utilizzato il valore predefinito del server
1.0
.--parameter={PATH_TO_FILE|PARAMETER}
Un file JSON contenente un elenco di parametri di ricerca o un parametro di ricerca nel formato
NAME:TYPE:VALUE
. Un nome vuoto crea un parametro di posizione. SeTYPE
viene omesso, viene usato il tipoSTRING
.NULL
specifica un valore nullo. Ripeti questo flag per specificare più parametri.Ad esempio:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
Utilizza il flag
--destination_table
. Specifica le opzioni per il partizionamento a intervallo intero nella tabella di destinazione. Il valore è un elenco separato da virgole del modulocolumn_name,start,end,interval
, dovecolumn_name
è la colonna utilizzata per creare le partizioni di intervalli interi.start
è l'inizio del partizionamento degli intervalli, incluso.end
è la fine del partizionamento degli intervalli, esclusiva.interval
è la larghezza di ogni intervallo all'interno della partizione.
Ad esempio:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}
Per sovrascrivere la tabella di destinazione con i risultati della query, imposta
true
. Tutti i dati e lo schema esistenti vengono cancellati. Viene rimossa anche qualsiasi chiave Cloud KMS, a meno che non specifichi il flag--destination_kms_key
. Il valore predefinito èfalse
.--require_cache={true|false}
Se specificato, esegui la query solo se è possibile recuperare i risultati dalla cache.
--require_partition_filter={true|false}
Se specificato, è necessario un filtro di partizione per le query sulla tabella fornita. Questo flag può essere utilizzato solo con una tabella partizionata.
--rpc={true|false}
Per utilizzare l'API di query in stile RPC anziché il metodo
jobs.insert
dell'API REST, imposta il criterio sutrue
. Il valore predefinito èfalse
.--schedule="SCHEDULE"
Imposta una query come query pianificata ricorrente. È necessaria una pianificazione per stabilire la frequenza di esecuzione della query.
Esempi:
--schedule="every 24 hours"
--schedule="every 3 hours"
Per una descrizione della sintassi di pianificazione, consulta Formattare la pianificazione.
--schema_update_option=OPTION
Quando aggiungi dati a una tabella in un job di caricamento o in un job di query, o quando sovrascrivi una partizione della tabella, viene specificato come aggiornare lo schema della tabella di destinazione. Utilizza uno dei seguenti valori:
ALLOW_FIELD_ADDITION
: consenti l'aggiunta di nuovi campi.ALLOW_FIELD_RELAXATION
: consenti di alleggerire i campiREQUIRED
perNULLABLE
.
Ripeti questo flag per specificare più opzioni di aggiornamento dello schema.
--start_row=ROW_NUMBER
o-s=ROW_NUMBER
Un numero intero che specifica la prima riga da restituire nel risultato della query. Il valore predefinito è
0
.--target_dataset=DATASET
Se specificato con
--schedule
, aggiorna il set di dati di destinazione per una query pianificata. La query deve essere DDL o DML.--time_partitioning_expiration=SECONDS
Utilizza il flag
--destination_table
. Un numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.--time_partitioning_field=COLUMN_NAME
Utilizza il flag
--destination_table
. Specifica la colonna di partizionamento per il partizionamento basato sul tempo. Se il partizionamento basato sul tempo è abilitato senza questo valore, la tabella viene partizionata in base all'ora di importazione.--time_partitioning_type=INTERVAL
Utilizza il flag
--destination_table
. Specifica il tipo di partizione per la tabella di destinazione. Utilizza uno dei seguenti valori:DAY
HOUR
MONTH
YEAR
--udf_resource=FILE
Questo flag si applica solo alle query SQL legacy. Specifica l'URI Cloud Storage o il percorso di un file locale contenente una risorsa funzione definita dall'utente che deve essere utilizzata da una query SQL legacy. Ripeti il flag per specificare più file.
--use_cache={true|false}
Per non consentire i risultati della query di memorizzazione nella cache, imposta
false
. Il valore predefinito ètrue
.--use_legacy_sql={true|false}
Per eseguire una query SQL Google Standard, imposta
false
. Il valore predefinito ètrue
; il comando utilizza SQL precedente.QUERY
La query che vuoi eseguire.
Per maggiori informazioni sull'utilizzo del comando bq query
, consulta
Esecuzione di query interattive e batch.
bq remove-iam-policy-binding
Usa il comando bq remove-iam-policy-binding
per recuperare il criterio IAM per una risorsa e rimuovere un'associazione dal criterio, in un solo passaggio.
La risorsa può essere una tabella o una visualizzazione.
Questo comando è un'alternativa al seguente processo in tre passaggi:
- Utilizzare il comando
bq get-iam-policy
per recuperare il file dei criteri (in formato JSON). - Modificare il file dei criteri.
- Utilizzare il comando
bq set-iam-policy
per aggiornare il criterio senza l'associazione.
Synopsis
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Flag e argomenti
Il comando bq remove-iam-policy-binding
utilizza i seguenti flag e argomenti:
--member=MEMBER_TYPE:MEMBER
Obbligatorio. Utilizza il flag
--member
per specificare la parte membro dell'associazione dei criteri IAM. Il flag--member
è obbligatorio insieme al flag--role
. Una combinazione di flag--member
e--role
equivale a un'associazione.Il valore
MEMBER_TYPE
specifica il tipo di membro nell'associazione dei criteri IAM. Utilizza uno dei seguenti valori:user
serviceAccount
group
domain
Il valore
MEMBER
specifica l'indirizzo email o il dominio del membro nell'associazione dei criteri IAM.--role=ROLE
Obbligatorio. Specifica la parte del ruolo dell'associazione dei criteri IAM. Il flag
--role
è obbligatorio insieme al flag--member
. Una combinazione di flag--member
e--role
equivale a un'associazione.--table={true|false}
o-t={true|false}
Facoltativo. Per rimuovere un'associazione dal criterio IAM di una tabella o di una visualizzazione, imposta su
true
. Il valore predefinito èfalse
.
RESOURCE
è la tabella o la vista di cui vuoi rimuovere l'associazione di criteri.
Per ulteriori informazioni, consulta la documentazione di riferimento dei criteri IAM.
bq rm
Usa il comando bq rm
per eliminare una risorsa BigQuery.
Synopsis
bq rm [FLAGS] RESOURCE
Flag e argomenti
Il comando bq rm
utilizza i seguenti flag e argomenti:
--capacity_commitment={false|true}
- Per eliminare un impegno di capacità, imposta il valore
true
, specifica la località dell'impegno da rimuovere utilizzando il flag--location
e sostituisciRESOURCE
con l'ID dell'impegno da rimuovere. --dataset={true|false}
o-d={true|false}
- Per eliminare un set di dati, imposta il criterio su
true
. Il valore predefinito èfalse
. --force={true|false}
o-f={true|false}
- Per eliminare una risorsa
senza richiedere l'autorizzazione, imposta su
true
. Il valore predefinito èfalse
. --job={true|false}
o-j={true|false}
- Per eliminare un job, impostalo su true. Il valore predefinito è false.
--model={true|false}
o-m={true|false}
- Per eliminare un modello BigQuery ML, impostalo su
true
. Il valore predefinito èfalse
. --recursive={true|false}
o-r{true|false}
- Per eliminare un set di dati e tutte le tabelle, i dati della tabella o i modelli al suo interno, imposta su
true
. Il valore predefinito èfalse
. --reservation={true|false}
- Per eliminare una prenotazione, impostala su
true
. Il valore predefinito èfalse
. --reservation_assignment={true|false}
- Per eliminare un'assegnazione prenotazione, imposta su
true
. Il valore predefinito èfalse
. --routine={true|false}
- Per eliminare una routine, impostala su
true
. Il valore predefinito èfalse
. Una routine può essere una funzione permanente definita dall'utente, una funzione tabella (Anteprima) o una procedura archiviata. --table={true|false}
o-t={true|false}
- Per eliminare una tabella, impostala su
true
. Il valore predefinito èfalse
. --transfer_config={true|false}
- Per eliminare una configurazione di trasferimento, imposta su
true
. Il valore predefinito èfalse
. RESOURCE
- La risorsa che vuoi rimuovere.
Per scoprire di più sull'utilizzo del comando bq rm
, consulta quanto segue:
- Gestione dei set di dati
- Gestione dei job
- Gestione delle tabelle
- Gestione delle viste
- Utilizzare i trasferimenti
- Elimina gli snapshot delle tabelle
bq set-iam-policy
Usa il comando bq set-iam-policy
per specificare o aggiornare il criterio IAM per una risorsa. La risorsa può essere una tabella o una visualizzazione.
Una volta impostato, il nuovo criterio viene stampato su stdout
. Il criterio è in formato JSON.
Il campo etag
nel criterio aggiornato deve corrispondere al valore etag
del criterio attuale, altrimenti l'aggiornamento non riesce. Questa funzionalità impedisce aggiornamenti simultanei.
Puoi ottenere il criterio attuale e il valore etag
per una risorsa utilizzando il comando bq get-iam-policy
.
Synopsis
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Flag e argomenti
Il comando bq set-iam-policy
utilizza i seguenti flag e argomenti.
--table={true|false}
o-t={true|false}
- Facoltativo. Per impostare il criterio IAM di una tabella o di una visualizzazione, impostalo su
true
. Il valore predefinito èfalse
.
RESOURCE è la tabella o la vista di cui vuoi aggiornare il criterio.
FILE_NAME è il nome di un file contenente il criterio in formato JSON.
Per maggiori informazioni sul comando bq set-iam-policy
, consulta
Controllare l'accesso alle risorse con IAM.
bq show
Utilizza il comando bq show
per visualizzare le informazioni su una risorsa.
Synopsis
bq show [FLAGS] [RESOURCE]
Flag e argomenti
Il comando bq show
utilizza i seguenti flag e argomenti:
--assignee_id=ASSIGNEE
- Se utilizzato con il flag
--reservation_assignment
, specifica l'ID di una cartella, di un'organizzazione o di un progetto. Utilizza il flag--assignee_type
per specificare il tipo di assegnatario da mostrare. --assignee_type=TYPE
- Se utilizzato con il flag
--reservation_assignment
, specifica il tipo di entità da mostrare. Utilizza uno dei seguenti valori:FOLDER
ORGANIZATION
PROJECT
--connection={true|false}
- Per mostrare informazioni su una connessione, imposta su
true
. Il valore predefinito èfalse
. Per saperne di più, consulta Visualizzazione di una risorsa di connessione. --dataset={true|false}
o-d={true|false}
- Per mostrare informazioni su un set di dati, imposta come
true
. Il valore predefinito èfalse
. --encryption_service_account={true|false}
- Per mostrare l'account di servizio della crittografia per un progetto, se esistente, oppure creane uno se non esiste, imposta
true
. Il valore predefinito èfalse
. Da utilizzare con il flag--project_id
. --job={true|false}
o-j={true|false}
- Per mostrare le informazioni su un job, imposta su
true
. Il valore predefinito èfalse
. --job_type=JOB_TYPE
- Se utilizzato con il flag
--reservation_assignment
, specifica il tipo di job delle assegnazioni di prenotazione che vuoi mostrare. Utilizza uno dei seguenti valori:QUERY
PIPELINE
ML_EXTERNAL
--model={true|false}
o-m={true|false}
- Per mostrare le informazioni su un modello BigQuery ML, impostalo su
true
. Il valore predefinito èfalse
. --reservation={true|false}
- Per mostrare informazioni su una prenotazione, impostala su
true
. Il valore predefinito èfalse
. --reservation_assignment={true|false}
- Se è impostato su
true
, il comando visualizza le assegnazioni di prenotazione per una cartella, un'organizzazione o un progetto specificati. Il comando mostra le eventuali assegnazioni esplicite della risorsa di destinazione; in caso contrario mostra le assegnazioni ereditate dalle risorse padre. Ad esempio, un progetto potrebbe ereditare le assegnazioni dalla cartella principale. Quando utilizzi questo flag, vengono applicati i flag--job_type
,--assignee_type
e--assignee_id
. Il valore predefinito èfalse
. --routine={true|false}
- Per mostrare informazioni su una routine, impostala su
true
. Il valore predefinito èfalse
. Una routine può essere una funzione permanente definita dall'utente, una funzione tabella (anteprima) o una procedura archiviata. --schema={true|false}
- Per visualizzare solo lo schema della tabella, imposta
true
. Il valore predefinito èfalse
. --transfer_config={true|false}
- Per visualizzare le informazioni su una configurazione di trasferimento, imposta
true
. Il valore predefinito èfalse
. --transfer_run={true|false}
- Per visualizzare le informazioni su un'esecuzione del trasferimento, imposta
true
. Il valore predefinito èfalse
. --view={true|false}
- Per mostrare informazioni su una vista, impostale su
true
. Il valore predefinito èfalse
. RESOURCE
- La risorsa di cui vuoi mostrare le informazioni.
Per scoprire di più sull'utilizzo del comando bq show
, consulta quanto segue:
- Ottenere informazioni sui set di dati
- Creare e utilizzare le tabelle
- Ottenere informazioni sulle visualizzazioni
- Utilizzare i trasferimenti
- Gestione dei job
- Ottenere informazioni su uno snapshot della tabella
bq update
Usa il comando bq update
per modificare una risorsa.
Synopsis
bq update [FLAGS] [RESOURCE]
Flag e argomenti
Il comando bq update
utilizza i seguenti flag e argomenti:
--capacity_commitment={true|false}
- Per aggiornare un impegno di capacità, imposta
true
. Usa questo flag con i flag--merge
,--plan
,--renewal_plan
,--split
e--slots
. --clear_label=KEY:VALUE
- Rimuovi un'etichetta dalla risorsa. Utilizza il formato
KEY:VALUE
per specificare l'etichetta da rimuovere. Ripeti il flag per rimuovere più etichette. --clustering_fields=COLUMNS
- Aggiorna la specifica di clustering di una tabella. Il valore COLUMNS è un elenco di nomi di colonna separato da virgole da utilizzare per il clustering. Per rimuovere il clustering, imposta COLUMNS su
""
(la stringa vuota). Per ulteriori informazioni, consulta la sezione relativa alla modifica delle specifiche di clustering. --concurrency=CONCURRENCY
- In anteprima. Se utilizzata con il flag
--reservation
, specifica il numero target di query che vengono eseguite contemporaneamente. Il valore predefinito è 0, il che significa che la contemporaneità viene impostata automaticamente in base alle dimensioni della prenotazione. Per saperne di più, consulta Utilizzare le code di query. --dataset={true|false}
o-d={true|false}
- Per aggiornare un set di dati, imposta
true
. Il valore predefinito èfalse
. --default_kms_key=KEY
- Specifica l'ID risorsa della chiave Cloud KMS predefinito per la crittografia dei dati della tabella in un set di dati. La chiave predefinita viene utilizzata se non viene fornita una chiave esplicita per una creazione della tabella o una query.
--default_partition_expiration=SECONDS
Un numero intero che specifica la scadenza predefinita, in secondi, per tutte le partizioni delle tabelle partizionate appena create nel set di dati. Questo flag non ha un valore minimo.
La scadenza di una partizione è impostata sulla data UTC della partizione più il valore intero. Se questa proprietà è impostata, sostituisce la scadenza della tabella predefinita a livello di set di dati, se esistente. Se fornisci il flag
--time_partitioning_expiration
quando crei o aggiorni una tabella partizionata, la scadenza della partizione a livello di tabella ha la precedenza sulla scadenza predefinita della partizione a livello di set di dati. Specifica0
per rimuovere una scadenza esistente.--default_table_expiration=SECONDS
Un numero intero che aggiorna la durata predefinita, in secondi, per le tabelle appena create in un set di dati. La scadenza è impostata sull'ora UTC corrente più questo valore. Specifica
0
per rimuovere la scadenza esistente.--description=DESCRIPTION
Aggiorna la descrizione di un set di dati, una tabella, uno snapshot di tabella, un modello o una visualizzazione.
--destination_reservation_id=RESERVATION_ID
Se utilizzata con il flag
--reservation_assignment
, sposta un'assegnazione prenotazione esistente nella prenotazione specificata. Il valore è l'ID della prenotazione di destinazione. Per maggiori informazioni, vedi Spostare un compito in un'altra prenotazione.--display_name=DISPLAY_NAME
Aggiorna il nome visualizzato per una configurazione di trasferimento.
--etag=ETAG
Funge da filtro; aggiorna la risorsa solo se la risorsa ha un ETag corrispondente alla stringa specificata nell'argomento
ETAG
.--expiration SECONDS
Per aggiornare la scadenza della tabella, del modello, dello snapshot della tabella o della visualizzazione, includi questo flag. Sostituisci
SECONDS
con il numero di secondi dall'ora di aggiornamento alla data di scadenza. Per rimuovere la scadenza per una tabella, un modello, uno snapshot di tabella o una vista, imposta l'argomentoSECONDS
su 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
Aggiorna una tabella esterna con la definizione della tabella specificata. La definizione della tabella può essere un percorso a un file di definizione della tabella JSON locale o una definizione della tabella incorporata nel formato
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
. Il valoreSCHEMA
è un elenco separato da virgole di definizioni di colonna nel moduloFIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Se utilizzi un file di definizione della tabella, non assegnargli un'estensione.Ad esempio:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}
Utilizza il flag
--reservation
. Per limitare i job in esecuzione nella prenotazione specificata per utilizzare solo gli slot assegnati alla prenotazione, impostatrue
. Il valore predefinito èfalse
; i job nella prenotazione specificata possono utilizzare slot inattivi di altre prenotazioni o slot non assegnati a una prenotazione. Per maggiori informazioni, consulta la pagina Slot inattivi.--max_time_travel_hours=HOURS
In anteprima. Specifica la durata in ore della finestra di spostamento temporale per un set di dati. Il valore
--max_time_travel_hours
deve essere un numero intero compreso tra 48 (2 giorni) e 168 (7 giorni).Per ulteriori informazioni sulla finestra temporale, consulta Configurazione della finestra temporale.
--merge={true|false}
Per unire due impegni di capacità, imposta
--merge
sutrue
. Imposta il flag--capacity_commitment
sutrue
, specifica la località degli impegni che vuoi unire utilizzando il flag--location
e sostituisciRESOURCE
con gli ID dei due impegni che vuoi unire, separati da una virgola. Per ulteriori informazioni, consulta Unire due impegni.--model={true|false}
o-m={true|false}
Per aggiornare i metadati per un modello BigQuery ML, imposta questo criterio su
true
. Il valore predefinito èfalse
.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}
Aggiorna i parametri di una configurazione di trasferimento. I parametri variano a seconda dell'origine dati. Per ulteriori informazioni, consulta Introduzione a BigQuery Data Transfer Service.
--plan=PLAN
Se utilizzato con il flag
--capacity_commitment
, converte l'impegno di capacità nel piano di impegno di maggiore durata specificato. SostituisciPLAN
con una delle seguenti opzioni:MONTHLY
ANNUAL
--refresh_window_days=DAYS
Un numero intero che specifica una finestra di aggiornamento aggiornata (in giorni) per una configurazione di trasferimento.
--renewal_plan=PLAN
Se utilizzato con il flag
--capacity_commitment
, aggiorna il piano di rinnovo per un impegno di capacità annuale. SostituisciPLAN
con una delle seguenti opzioni:FLEX
MONTHLY
ANNUAL
--reservation={true|false}
Specifica se aggiornare una prenotazione. Il valore predefinito è
false
.--reservation_assignment={true|false}
Specifica se aggiornare un'assegnazione di prenotazione. Il valore predefinito è
false
.--schema={SCHEMA_FILE|SCHEMA
}Specifica il percorso di un file di schema JSON locale o un elenco di definizioni di colonne separate da virgole nel modulo
FIELD:DATA_TYPE, FIELD:DATA_TYPE
e così via. Non utilizzare un'estensione se utilizzi un file di schema.Ad esempio:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNT
Specifica un account di servizio da utilizzare come credenziale per una configurazione di trasferimento.
--set_label=KEY:VALUE
Specifica un'etichetta da aggiornare. Per aggiornare più etichette, ripeti il flag.
--slots=NUMBER_OF_SLOTS
Se utilizzato con i flag
--capacity_commitment
e--split
, specifica il numero di slot da suddividere da un impegno di capacità esistente in un nuovo impegno. SostituisciRESOURCE
con l'ID dell'impegno da cui vuoi eseguire la suddivisione.Se utilizzato con il flag
--reservation
, aggiorna il numero di slot in una prenotazione.--source=FILE
Il percorso di un file JSON locale contenente un payload utilizzato per aggiornare una risorsa. Ad esempio, puoi utilizzare questo flag per specificare un file JSON che contiene una risorsa set di dati con una proprietà
access
aggiornata. Il file viene utilizzato per sovrascrivere i controlli di accesso al set di dati. Il file JSON non deve includere un BOM (byte order mark).--split={true|false}
Se impostato su
true
e utilizzato con il flag--capacity_commitment
, si specifica che si vuole suddividere un impegno di capacità esistente. Utilizza il flag--location
per specificare la località dell'impegno da cui vuoi eseguire la suddivisione e il flag--slots
per specificare il numero di slot da suddividere. SostituisciRESOURCE
con l'ID dell'impegno da cui vuoi suddividere. Per ulteriori informazioni, consulta la sezione Suddividi un impegno.--storage_billing_model=BILLING_MODEL
In anteprima. Aggiorna il modello di fatturazione dell'archiviazione per il set di dati. Se il set di dati utilizza byte logici per la fatturazione dell'archiviazione, imposta questo valore del flag su
PHYSICAL
per utilizzare i byte fisici. Una volta modificato il modello di fatturazione dello spazio di archiviazione per utilizzare i byte fisici, non puoi tornare a utilizzare i byte logici.Per maggiori informazioni, consulta Modelli di fatturazione per l'archiviazione dei set di dati.
--table={true|false}
o-t={true|false}
Specifica se aggiornare una tabella. Il valore predefinito è
false
.--target_dataset=DATASET
Se specificato, aggiorna il set di dati di destinazione per una configurazione di trasferimento.
--time_partitioning_expiration=SECONDS
Un numero intero che si aggiorna (in secondi) quando una partizione basata sul tempo deve essere eliminata. La scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAME
Aggiorna il campo utilizzato per determinare come creare una partizione basata sul tempo. Se il partizionamento basato sul tempo è abilitato senza questo valore, la tabella viene partizionata in base al tempo di caricamento.
--time_partitioning_type=INTERVAL
Specifica il tipo di partizionamento. Utilizza uno dei seguenti valori:
DAY
HOUR
MONTH
YEAR
Non puoi modificare il tipo di partizionamento di una tabella esistente.
--transfer_config={true|false}
Specifica se aggiornare una configurazione di trasferimento. Il valore predefinito è
false
.--update_credentials={true|false}
Specifica se aggiornare le credenziali di configurazione del trasferimento. Il valore predefinito è
false
.--use_legacy_sql={true|false}
Imposta
false
per aggiornare la query SQL per una visualizzazione da SQL precedente a SQL standard di Google. Il valore predefinito ètrue
; la query utilizza SQL precedente.--view=QUERY
Se specificato, aggiorna la query SQL per una vista.
--view_udf_resource=FILE
Aggiorna l'URI Cloud Storage o il percorso di un file di codice locale che viene caricato e valutato immediatamente come risorsa della funzione definita dall'utente nella query SQL di una vista. Ripeti il flag per specificare più file.
RESOURCE
La risorsa che vuoi aggiornare.
Per scoprire di più sull'utilizzo del comando bq update
, consulta quanto segue:
- Aggiornare le proprietà del set di dati
- Gestione delle tabelle
- Aggiornamento delle visualizzazioni
- Aggiornare le etichette
- Utilizzare i trasferimenti
- Aggiornare i metadati degli snapshot delle tabelle
bq version
Utilizza il comando bq version
per visualizzare il numero di versione dello strumento a riga di comando bq
.
Synopsis
bq version
bq wait
Utilizza il comando bq wait
per attendere un numero specifico di secondi prima che un job venga completato. Se un job non è specificato, il comando attende il completamento del job attuale.
Synopsis
bq wait [FLAGS] [JOB] [SECONDS]
Esempi
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Flag e argomenti
Il comando bq wait
utilizza i seguenti flag e argomenti:
--fail_on_error={true|false}
- Per restituire l'esito positivo se il job è stato completato durante il tempo di attesa, anche se il job non è andato a buon fine, imposta il valore su
false
. Il valore predefinito ètrue
; una volta trascorso il tempo di attesa, il comando verrà chiuso con un errore se il job è ancora in esecuzione o se il job è stato completato, ma non è riuscito. --wait_for_status=STATUS
Quando è specificato, attende lo stato di un job specifico prima di uscire. Utilizza uno dei seguenti valori:
PENDING
RUNNING
DONE
Il valore predefinito è
DONE
.JOB
Specifica il job da attendere. Puoi utilizzare il comando
bq ls --jobs myProject
per trovare un identificatore del job.SECONDS
Specifica il numero massimo di secondi da attendere fino al completamento del job. Se inserisci
0
, il comando esegue il polling per il completamento del job e restituisce immediatamente il job. Se non specifichi un valore intero, il comando attende il completamento del job.