Riferimento per lo strumento a riga di comando bq
Questo documento descrive la sintassi, i comandi, i flag e gli argomenti per bq, lo strumento a riga di comando basato su Python per BigQuery.
Per un tutorial sull'utilizzo dello strumento a riga di comando bq, consulta Carica ed esegui query sui dati con lo strumento bq.
Modi per utilizzare lo strumento a riga di comando bq
Puoi inserire i comandi dello strumento a riga di comando bq in Cloud Shell dalla console Google Cloud o da un'installazione locale di Google Cloud CLI.
Per utilizzare lo strumento a riga di comando bq dalla console Google Cloud , attiva Cloud Shell:
Per utilizzare lo strumento a riga di comando bq in locale, installa e configura gcloud CLI. Per mantenere aggiornata l'installazione, consulta Gestisci un'installazione nella documentazione di gcloud CLI.
Formato del comando
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 determinato comando dello strumento a riga di comando bq. I flag specifici dei comandi sono descritti nelle sezioni dei comandi.
Specifica dei valori per i flag
Quando specifichi un valore per un flag, il segno di uguale (=) è facoltativo. Ad esempio, i due comandi seguenti sono equivalenti:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
Questo documento utilizza il segno di uguale per maggiore chiarezza.
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 l'impostazione dei flag booleani.
| Valore | Formato | 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 un flag booleano non è presente, BigQuery utilizza il valore predefinito del flag.
Specifica delle risorse BigQuery negli argomenti
Il formato per specificare una risorsa dipende dal contesto; in alcuni casi il separatore tra il progetto e il set di dati è un due punti (:) e in altri casi è un punto (.). La tabella seguente descrive come specificare una tabella BigQuery in contesti diversi.
| Contesto | Formato | Esempio |
|---|---|---|
| Strumento a riga di comando bq | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| Query GoogleSQL | 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 corrente è myProject, BigQuery interpreta myDataset.myTable come myProject:myDataset.myTable (o myProject.myDataset.myTable).
Alcuni identificatori di risorse devono essere racchiusi tra apici inversi (`).
Se l'identificatore di risorsa inizia con una lettera o un trattino basso e contiene solo caratteri che sono lettere, numeri e trattini bassi, non è necessario racchiuderlo tra apici. Tuttavia, se l'identificatore della risorsa contiene altri tipi di caratteri o parole chiave riservate, devi racchiudere l'identificatore (o la parte dell'identificatore con i caratteri speciali o le parole chiave riservate) tra apici inversi. Per saperne di più, consulta Identificatori.
Come eseguire i comandi
Posiziona eventuali flag globali prima del comando bq, quindi includi i flag specifici del comando. Puoi includere più flag globali o specifici del comando. Ad esempio:
bq --location=us mk --reservation --project_id=project reservation_name
Puoi specificare gli argomenti dei comandi nei seguenti modi:
--FLAG ARGUMENT(come mostrato negli esempi precedenti)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
Sostituisci quanto segue:
FLAG: un flag globale o specifico del comandoARGUMENT: l'argomento del flag
Alcuni comandi richiedono l'uso di virgolette intorno agli argomenti. Se sono necessarie le virgolette, sono accettabili sia le virgolette singole che quelle doppie. Gli argomenti che richiedono le virgolette sono in genere valori che contengono spazi, virgole o altri caratteri speciali. Se l'argomento contiene una risorsa BigQuery, assicurati di seguire le regole per specificare i nomi delle risorse nei comandi.
Questo esempio mostra come eseguire una query GoogleSQL dalla riga di comando:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
I flag con valori booleani possono essere specificati senza un argomento. Se specifichi true o false, devi utilizzare il formato FLAG=ARGUMENT.
Ad esempio, questo comando specifica false per il flag booleano --use_legacy_sql inserendo no davanti al flag:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
In alternativa, per specificare false come argomento del flag, puoi inserire quanto segue:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Esegui i comandi in uno script
Puoi eseguire lo strumento a riga di comando bq in uno script, come faresti con un comando di Google Cloud CLI. Di seguito è riportato un esempio di comandi gcloud e bq in uno script bash:
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
Utilizza un account di servizio
Puoi utilizzare un service account per effettuare chiamate API autorizzate o eseguire job di query per tuo conto. Per utilizzare un account di servizio nello strumento a riga di comando bq, autorizza l'accesso a Google Cloud dal account di servizio. Per saperne di più, consulta gcloud auth activate-service-account.
Per iniziare a eseguire i comandi bq utilizzando la simulazione dell'identità dei service account, esegui questo comando:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
Sostituisci SERVICE_ACCOUNT_NAME con il nome del tuo account di servizio.
I comandi bq che esegui ora utilizzano le credenziali dell'account di servizio.
Per interrompere l'esecuzione dei comandi bq da un account di servizio, esegui questo comando:
gcloud config unset auth/impersonate_service_account
Imposta i valori predefiniti per i flag della riga di comando
Puoi impostare i valori predefiniti per i flag della riga di comando includendoli nel file di configurazione dello strumento a riga di comando bq, .bigqueryrc. Prima di configurare le opzioni predefinite, devi creare un file .bigqueryrc. Puoi utilizzare il tuo editor di testo preferito per creare il file. Dopo aver creato il file .bigqueryrc, puoi specificare il percorso del file utilizzando il flag globale --bigqueryrc.
Se il flag --bigqueryrc non è specificato, viene utilizzata la variabile di ambiente BIGQUERYRC. Se non viene specificato, viene utilizzato il percorso ~/.bigqueryrc. Il percorso predefinito è $HOME/.bigqueryrc.
Come aggiungere flag a .bigqueryrc
Per aggiungere valori predefiniti per i flag della riga di comando a .bigqueryrc:
- Inserisci i flag globali nella parte superiore del file senza un'intestazione.
- Per i flag specifici del comando, inserisci il nome del comando (tra parentesi) e aggiungi i flag specifici del comando (uno per riga) dopo il nome del comando.
Ad esempio:
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
L'esempio precedente imposta i valori predefiniti per i seguenti flag:
- Il flag globale
--apilogè impostato sustdoutper stampare l'output di debug sulla consoleGoogle Cloud . - Il flag globale
--formatè impostato suprettyjsonper visualizzare l'output comando in un formato JSON leggibile. - Il flag globale
--locationè impostato sulla località multi-regioneUS. Il flag
--use_legacy_sqlspecifico del comandoqueryè impostato sufalseper rendere GoogleSQL la sintassi di query predefinita.Il flag
--max_rowsspecifico del comandoqueryè impostato su100per controllare il numero di righe nell'output della query.Il flag
--maximum_bytes_billedspecifico del comandoqueryè impostato su 10.000.000 di byte (10 MB) per non riuscire le query che leggono più di 10 MB di dati.Il flag
--destination_kms_keyspecifico del comandoloadè impostato suprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
Guida per l'interfaccia a riga di comando
Puoi ricevere assistenza per lo strumento a riga di comando bq eseguendo i seguenti comandi:
| Descrizione | Formato del comando Help | Esempio |
|---|---|---|
| Versione installata | bq version |
bq version |
| Elenco di tutti i comandi con esempi | bq help |
bq help |
| Descrizione dei flag globali | bq --help |
bq --help |
| Descrizione di un comando specifico | bq help COMMAND |
bq help mk |
Risoluzione dei problemi relativi ai comandi dell'interfaccia a riga di comando
- Per registrare le richieste inviate e ricevute:
Aggiungi il flag
--apilog=PATH_TO_FILEper salvare un log delle operazioni in un file locale. SostituisciPATH_TO_FILEcon la posizione in cui vuoi salvare il log. Lo strumento a riga di comando bq funziona effettuando chiamate API standard basate su REST, che possono essere utili per la risoluzione dei problemi. È utile allegare questo log anche quando segnali problemi all'assistenza clienti Google Cloud.Se utilizzi
-ostdoutanziché un percorso, il log viene stampato nella console Google Cloud . L'impostazione di--apilogsustderrgenera l'output nel file di errore standard. Per registrare più richieste, utilizza il flag--httplib2_debuglevel=LOG_LEVEL. Un valoreLOG_LEVELpiù alto registra più informazioni sulle richieste HTTP.- Per risolvere gli errori:
Inserisci il flag
--format=prettyjsonquando recuperi lo stato di un job o quando visualizzi informazioni dettagliate su risorse come tabelle e set di dati. L'utilizzo di questo flag genera la risposta in formato JSON, inclusa la proprietàreason. Puoi utilizzare la proprietàreasonper trovare i messaggi di errore.Per saperne di più sugli errori che si verificano quando esegui un comando, utilizza il flag
--debug_mode.
Flag globali
Puoi utilizzare i seguenti flag con qualsiasi comando bq, se applicabile:
--alpha=FEATURE_NAME- Specifica una funzionalità alpha da attivare.
--api=ENDPOINT- Specifica l'endpoint API da chiamare. Il valore predefinito è
https://bigquery.googleapis.com. --api_version=VERSION- Specifica la versione dell'API da utilizzare. Il valore predefinito è
v2. --apilog=FILERegistra tutte le richieste e le risposte API nel file specificato da
FILE. I valori possibili sono i seguenti:- il percorso di un file: i log vengono scritti nel file specificato
stdout: log nell'output standardstderr: i log vengono inviati all'errore standardfalse: le richieste e le risposte API non vengono registrate (impostazione predefinita)
--bigquery_discovery_api_key=API_KEYSpecifica una chiave API da utilizzare per le richieste di documenti di rilevamento.
--bigqueryrc=PATHSpecifica 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 saperne di più, consulta Impostazione dei valori predefiniti per i flag della riga di comando.--ca_certificates_file=PATHSpecifica la posizione del file dell'autorità di certificazione (CA) di Certificate Authority Service.
--dataset_id=DATASET_IDSpecifica il set di dati predefinito da utilizzare con il comando. Questo flag viene ignorato quando non è applicabile. Puoi specificare l'argomento
DATASET_IDutilizzando il formatoPROJECT:DATASEToDATASET. Se la partePROJECTnon è presente, viene utilizzato il progetto predefinito. Puoi eseguire l'override dell'impostazione predefinita delle impostazioni progetto specificando il flag--project_id.--debug_mode={true|false}Se impostato su
true, mostra i traceback sulle eccezioni Python. Il valore predefinito èfalse.--disable_ssl_validation={true|false}Se impostato su
true, disattiva la convalida del certificato HTTPS. Il valore predefinito èfalse.--discovery_file=PATHSpecifica il file JSON da leggere per il discovery.
--enable_gdrive={true|false}Se impostato su
false, richiede un nuovo token OAuth senza l'ambito di Google Drive. Il valore predefinito ètrue; richiede un nuovo token OAuth con l'ambito Drive. Per impostare questo flag sufalsequando l'autenticazione viene eseguita utilizzando un account utente, il flag--use_google_authdeve essere impostato sufalse.--enable_resumable_uploads={true|false}Abilita i caricamenti ripristinabili su HTTP per i job che caricano dati da file locali. Il valore predefinito è
true.--fingerprint_job_id={true|false}Per utilizzare un ID job derivato da una fingerprint 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=FORMATSpecifica il formato dell'output del comando. Usa uno dei seguenti valori:
pretty: output della tabella formattatasparse: output della tabella più sempliceprettyjson: formato JSON di facile letturajson: JSON con la massima compattezzacsv: formato CSV con intestazione
pretty,sparseeprettyjsonsono pensati per essere leggibili da una persona.jsonecsvdevono essere utilizzati da un altro programma. Se viene specificatonone, il comando non produce alcun output. Se il flag--formatnon è presente, viene scelto un formato di output appropriato in base al comando.--headless={true|false}Per eseguire la sessione
bqsenza interazione utente, imposta sutrue. Ad esempio,debug_modenon si interrompe nel debugger e la frequenza di stampa delle informazioni viene ridotta. Il valore predefinito èfalse.--httplib2_debuglevel=DEBUG_LEVELSpecifica se mostrare le informazioni di debug HTTP. Se
DEBUG_LEVELè maggiore di0, il comando registra le richieste e le risposte del server HTTP in stderr, oltre ai messaggi di errore. SeDEBUG_LEVELnon è > 0 o se il flag--httplib2_debuglevelnon viene utilizzato, vengono forniti solo i messaggi di errore.Ad esempio:
--httplib2_debuglevel=1
--job_id=JOB_IDSpecifica un identificatore per un nuovo job. Questo flag si applica solo ai comandi che creano job:
cp,extract,loadequery. Se non utilizzi il flag--job_id, i comandi generano un identificatore del job univoco. Per saperne di più, consulta Esecuzione dei job in modo programmatico.--job_property=KEY:VALUEUna coppia chiave-valore da includere nel campo delle proprietà della configurazione del job. Ripeti questo flag per specificare proprietà aggiuntive.
--jobs_query_use_request_id={true|false}Se impostato su
true, invia un ID richiesta nelle richiestejobs.query. Il valore predefinito èfalse.--jobs_query_use_results_from_response={true|false}Se è impostato su
true, utilizza i risultati della rispostajobs.query. Il valore predefinito ètrue.--location=LOCATIONUna stringa corrispondente a una località singola o multiregionale. Il flag della località è obbligatorio per il comando
bq cancele per il comandobq showquando utilizzi il flag--jobsper mostrare informazioni sui job. Il flag location è facoltativo per i seguenti comandi:querycploadextractpartitionupdatewaitmkquando utilizzi i flag--dataset,--reservation,--capacity_commitmento--reservation_assignmentlsquando utilizzi i flag--reservation,--capacity_commitmento--reservation_assignment
Tutti gli altri comandi ignorano il flag
--location.--max_rows_per_request=MAX_ROWSUn numero intero che specifica il numero massimo di righe da restituire per lettura.
--mtls={true|false}Se impostato su
true, utilizza un certificato client mTLS per le connessioni a BigQuery. Il valore predefinito èfalse.--project_id=PROJECTSpecifica il progetto da utilizzare per i comandi.
--proxy_address=PROXYSpecifica il nome o l'indirizzo IP dell'host proxy da utilizzare per la connessione a Google Cloud.
--proxy_password=PASSWORDSpecifica la password da utilizzare per l'autenticazione con l'host proxy.
--proxy_port=PORTSpecifica il numero di porta da utilizzare per la connessione all'host proxy.
--proxy_username=USERNAMESpecifica il nome utente da utilizzare per l'autenticazione con l'host proxy.
--quiet={true|false}o-q={true|false}Per eliminare gli aggiornamenti di stato durante l'esecuzione dei job, imposta il valore su
true. Il valore predefinito èfalse.--quota_project_id=PROJECT_IDSpecifica l'ID di un progetto Google Cloud da utilizzare come progetto di quota da utilizzare per la fatturazione e i limiti di quota.
--request_reason=REASONSpecifica un motivo per effettuare una richiesta che viene registrata negli audit log.
--synchronous_mode={true|false}o-sync={true|false}Per creare il job e restituire immediatamente un codice di errore che indica il completamento riuscito, imposta il valore su
false. Se impostato sutrue, il comando attende il completamento del job prima di restituire il risultato e restituisce lo stato di completamento del job come codice di errore. Il valore predefinito ètrue.--trace=token:TOKENSpecifica un token di tracciamento da includere nelle richieste API.
--universe_domain=DOMAINSpecifica il dominio universe da utilizzare nei domini Trusted Partner Cloud (TPC).
--use_gcloud_config={true|false}Se impostato su
true, utilizza la configurazionegcloudper eseguire l'override dei valori dei flag predefiniti. Il valore predefinito ètrue.--use_gcloud_config_cache={true|false}Se impostato su
true, utilizza una cache permanente per la configurazione e le credenziali digcloud. Il valore predefinito èfalse.--use_google_auth={true|false}Se impostato su
true, abilita l'autenticazione utilizzando le librerie di autenticazione Google. Il valore predefinito ètrue.--use_lep={true|false}Se impostato su
true, utilizza un endpoint LEP basato sulla località dell'operazione. Il valore predefinito èfalse.--use_regional_endpoints={true|false}In anteprima. Per connetterti a un endpoint regionale, imposta il flag
--use_regional_endpointssutruee il flag--locationsulla regione a cui vuoi connetterti. Il valore predefinito èfalse.--use_rep={true|false}Se impostato su
true, utilizza un endpoint REP basato sulla località dell'operazione. Il valore predefinito èfalse.
Flag globali deprecati
Il seguente flag globale per specificare i flag dello strumento a riga di comando bq da un file è deprecato. Per specificare i flag da un file, utilizza il flag --bigqueryrc.
--flagfile=PATH
Se specificato, le definizioni dei flag del file fornito vengono inserite nello strumento a riga di comando bq. Il valore predefinito è ''. Per saperne di più, consulta
Impostazione dei 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
Utilizza il comando bq add-iam-policy-binding per recuperare la policy IAM (Identity and Access Management) per una tabella o una vista e aggiungere un'associazione alla policy in un unico passaggio.
Questo comando è un'alternativa alla seguente procedura in tre passaggi:
- Utilizzando il comando
bq get-iam-policyper recuperare il file della policy (in formato JSON). - Modifica del file della policy.
- Utilizzando il comando
bq set-iam-policyper aggiornare la policy con una nuova associazione.
Trama
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:MEMBERObbligatorio. Utilizza il flag
--memberper specificare la parte del membro dell'associazione della policy IAM. Il flag--memberè obbligatorio insieme al flag--role. Una combinazione di flag--membere--roleequivale a un'associazione.Il valore
MEMBER_TYPEspecifica il tipo di membro nell'associazione della policy IAM. Usa uno dei seguenti valori:userserviceAccountgroupdomain
Il valore
MEMBERspecifica l'indirizzo email o il dominio del membro nell'associazione della policy IAM.--role=ROLEObbligatorio. Specifica la parte del ruolo dell'associazione della policy IAM. Il flag
--roleè obbligatorio insieme al flag--member. Una combinazione di flag--membere--roleequivale a un'associazione.--table={true|false}Per restituire un errore se l'argomento
RESOURCEnon è un identificatore di tabella o vista, imposta il flag--tablesutrue. Il valore predefinito èfalse. Questo flag è supportato per coerenza con altri comandi.RESOURCELa tabella o la vista alla cui policy vuoi aggiungere elementi.
Per saperne di più, consulta il riferimento alle policy IAM.
bq cancel
Utilizza il comando bq cancel per annullare i job BigQuery.
Trama
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_modesufalse. Il valore predefinito ètrue. JOB_ID- Il job che vuoi annullare.
Per saperne di più 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 di tabella o di uno snapshot di tabella.
- Crea un clone della tabella.
- Crea uno snapshot della tabella.
Trama
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.Non puoi utilizzare le impostazioni dei flag
--append_table=truee--clone=truecontemporaneamente.--clone={true|false}Per creare un clone della tabella, imposta su
true. La tabella di base può essere una tabella standard, un clone di tabella o uno snapshot di tabella. La tabella di destinazione è un clone della tabella. Il valore predefinito èfalse; se non viene specificato né--clone=truené--snapshot=true, la tabella di destinazione è dello stesso tipo della tabella di base. Richiede il flag--no_clobber.Non puoi utilizzare le impostazioni dei flag
--append_table=truee--clone=truecontemporaneamente.--destination_kms_key=KEYSpecifica un ID risorsa chiave Cloud KMS per criptare i dati della tabella di destinazione.
Ad esempio:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSIl numero di secondi prima della scadenza di uno snapshot della tabella. Se non è inclusa, la scadenza dello snapshot della tabella viene impostata sulla scadenza predefinita del set di dati contenente il nuovo snapshot della tabella. Da utilizzare con il flag
--snapshot.--force={true|false}o-f={true|false}Per sovrascrivere la tabella di destinazione, se esiste, senza chiedere conferma, imposta il valore su
true. Il valore predefinito èfalse; se la tabella di destinazione esiste, il comando richiede la conferma prima di sovrascrivere.--no_clobber={true|false}o-n={true|false}Per non consentire la sovrascrittura della tabella di destinazione, se esiste, imposta il valore su
true. Il valore predefinito èfalse; se la tabella di destinazione esiste, viene sovrascritta.--restore={true|false}Questo flag è in fase di ritiro. Per creare una tabella scrivibile da uno snapshot della tabella, utilizza il comando
bq cpo il comandobq cp --clone.--snapshot={true|false}Per creare uno snapshot della tabella specificata nell'argomento
SOURCE_TABLE, imposta sutrue. La tabella di base può essere una tabella standard, un clone di tabella o un altro snapshot della tabella. Il valore predefinito èfalse; se non viene specificato né--clone=truené--snapshot=true, la tabella di destinazione è dello stesso tipo della tabella di base. Richiede il flag--no_clobber.SOURCE_TABLELa tabella che vuoi copiare.
DESTINATION_TABLELa tabella in cui vuoi copiare.
Per saperne di più sull'utilizzo del comando cp, consulta quanto segue:
- Copia una tabella
- Crea cloni di tabelle
- Crea snapshot delle tabelle
- Ripristina gli snapshot delle tabelle
bq extract
Utilizza il comando bq extract per esportare i dati delle tabelle in Cloud Storage.
Trama
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_TYPESpecifica il tipo di compressione da utilizzare per i file esportati. I valori possibili sono i seguenti:
GZIPDEFLATESNAPPYNONE
Il valore predefinito è
NONE.Per informazioni sui formati supportati per ogni tipo di compressione, consulta Formati di esportazione e tipi di compressione.
--destination_format=FORMATSpecifica il formato dei dati esportati. I valori possibili sono i seguenti:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
Il valore predefinito è
CSV.--field_delimiter=DELIMITERPer le esportazioni CSV, specifica il carattere che contrassegna il confine tra le colonne nel file di output. Il delimitatore può essere qualsiasi carattere a singolo byte ISO-8859-1. Puoi utilizzare
\totabper specificare i delimitatori di tabulazione.--print_header={true|false}Per sopprimere la stampa delle righe di intestazione per i formati che hanno intestazioni, imposta su
false. Il valore predefinito ètrue; le righe di intestazione sono incluse.RESOURCELa tabella da cui stai esportando i dati.
DESTINATIONLa località di archiviazione che riceve i dati esportati.
Per saperne di più sull'utilizzo del comando bq extract, consulta Esportazione dei dati delle tabelle.
bq get-iam-policy
Utilizza il comando bq get-iam-policy per recuperare la policy IAM per una risorsa e stampala in stdout. La risorsa può essere una tabella, una vista o una
prenotazione di slot.
La policy è in formato JSON.
Trama
bq get-iam-policy [FLAGS] RESOURCE
Esempi
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
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
RESOURCEnon è un identificatore di tabella o vista, imposta il flag--tablesutrue. Il valore predefinito èfalse. Questo flag è supportato per coerenza con altri comandi. --reservation={true|false}- Per ottenere la policy IAM di una prenotazione, imposta su
true(anteprima). Il valore predefinito èfalse. Quando viene utilizzato questo flag,RESOURCEviene trattato come un identificatore della prenotazione. La prenotazione può avere prefissi facoltativi per progetto e località:myProject:myLocation.myReservation. RESOURCE- La tabella o la vista di cui vuoi recuperare la policy.
Per saperne di più sul comando bq get-iam-policy, consulta Controlla 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.
Trama
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 mostrati 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 i campi nidificati e ripetuti) da restituire quando vengono visualizzati i dati della tabella. Se questo flag non viene 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 vista, imposta su
true. Il valore predefinito èfalse. Questo flag è supportato per coerenza con altri comandi. TABLE- La tabella da cui vuoi recuperare i dati.
Per saperne di più 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.
Trama
bq help [COMMAND]
Flag e argomenti
Il comando bq help utilizza i seguenti flag e argomenti:
COMMAND- Specifica un comando specifico dello strumento a riga di comando bq per cui vuoi ricevere assistenza online.
bq insert
Utilizza il comando bq insert per inserire righe di dati formattati in JSON e 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 a scopi di test. Per inserire flussi di dati in BigQuery, utilizza l'API BigQuery Storage Write (gRPC).
Trama
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 le coppie chiave-valore che non corrispondono allo schema della tabella e inserisce la riga con i dati che corrispondono allo schema. Se impostato 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 tutte le righe valide, anche se sono presenti righe non valide. Se impostato sufalse, il comando non va a buon fine se sono presenti righe non valide. Il valore predefinito èfalse. --template_suffix=SUFFIX or -x=SUFFIX- Se specificato, tratta la tabella di destinazione TABLE come un
modello di base e inserisci le righe in una tabella di istanza denominata
{destination}{templateSuffix}. BigQuery crea la tabella dell'istanza 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 saperne di più sull'utilizzo del comando bq insert, consulta Inserimento di flussi di dati in BigQuery.
bq load
Utilizza il comando bq load per caricare i dati in una tabella.
Trama
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 di colonne facoltative finali nei dati CSV, imposta su
true. --preserve_ascii_control_characters={true|false}- Per consentire i caratteri di controllo ASCII incorporati nei dati CSV, imposta su
true. --allow_quoted_newlines={true|false}- Per consentire i caratteri di fine riga con virgolette nei dati CSV, imposta su
true. --autodetect={true|false}- Per abilitare il rilevamento automatico dello schema per i dati CSV e JSON, imposta su
true. Il valore predefinito èfalse. Se--autodetectèfalse, non viene specificato alcuno schema utilizzando il flag--schemae la tabella di destinazione esiste, viene utilizzato lo schema della tabella di destinazione. --clustering_fields=COLUMNS- Un elenco separato da virgole di massimo quattro nomi di colonne che specifica i campi da utilizzare per il clustering delle tabelle.
--column_name_character_map=SCOPE- Definisce l'ambito e la gestione dei caratteri nei nomi delle colonne, con l'opzione di attivare i nomi delle colonne flessibili.
Richiede l'opzione
--autodetectper i file CSV. Per un elenco dei valori possibili, consultaload_option_list. --destination_kms_key=KEY- Specifica un ID risorsa della chiave Cloud KMS per criptare i 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 segna il confine tra le colonne dei dati.
Il delimitatore può essere qualsiasi carattere a singolo byte ISO-8859-1. Puoi utilizzare
\totabper specificare i delimitatori di tabulazione. --ignore_unknown_values={true|false}- Se impostato su
trueper i file CSV e JSON, vengono caricate le righe con valori di colonna aggiuntivi che non corrispondono allo schema della tabella, ma le colonne aggiuntive vengono ignorate. Se impostato sutrueper i file Avro, Parquet e ORC, i campi nello schema del file che non esistono nello schema della tabella vengono ignorati e non vengono caricati. --json_extension=JSON_TYPESpecifica il tipo di file JSON da caricare. Si applica solo ai file JSON. I valori possibili sono:
GEOJSON: file GeoJSON delimitato da nuova riga
Per utilizzare questo flag, il flag
--source_formatdeve essere impostato suNEWLINE_DELIMITED_JSON.Per saperne di più, consulta Caricamento di file GeoJSON delimitati da nuova riga.
--max_bad_records=MAXUn numero intero che specifica il numero massimo di record non validi consentiti prima che l'intero job non vada a buon fine. 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 Google.--null_marker=STRINGUna stringa personalizzata facoltativa che rappresenta un valore
NULLnei dati CSV.--projection_fields=PROPERTY_NAMESSe imposti
--source_formatsuDATASTORE_BACKUP, questo flag indica quali proprietà delle 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 utilizzare questo flag anche con le esportazioni di Firestore.--quote=CHARACTERSpecifica un carattere virgolette per racchiudere i campi nei dati CSV. L'argomento
CHARACTERpuò essere qualsiasi carattere a un byte. Il valore predefinito sono le virgolette doppie ("). Per specificare che non esiste un carattere tra virgolette, utilizza una stringa vuota"".--replace={true|false}Per cancellare i dati e lo schema esistenti quando vengono caricati nuovi dati, imposta su
true. Viene rimossa anche qualsiasi chiave Cloud KMS, a meno che non specifichi il flag--destination_kms_key. Il valore predefinito èfalse.Equivalente al valore
WRITE_TRUNCATEperJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}Specifica il percorso di un file di schema JSON locale o un elenco separato da virgole di definizioni di colonne nel formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Se utilizzi un file di schema, non aggiungere un'estensione al nome file.Ad esempio:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Se non viene specificato alcuno schema,
--autodetectèfalsee la tabella di destinazione esiste, viene utilizzato lo schema della tabella di destinazione.--schema_update_option=OPTIONQuando aggiungi dati a una tabella (in un job di caricamento o di query) o quando sovrascrivi una partizione della tabella, specifica come aggiornare lo schema della tabella di destinazione. Usa uno dei seguenti valori:
ALLOW_FIELD_ADDITION: consente l'aggiunta di nuovi campiALLOW_FIELD_RELAXATION: consenti l'allentamento dei campiREQUIREDinNULLABLE
Ripeti questo flag per specificare più opzioni di aggiornamento dello schema.
--skip_leading_rows=NUMBER_OF_ROWSUn numero intero che specifica il numero di righe da saltare all'inizio del file di origine. Il valore predefinito è
0.--file_set_spec_type=FILE_SET_SPEC_TYPESpecifica come interpretare gli URI di origine.
FILE_SYSTEM_MATCH: espande gli URI di origine elencando i file dall'archivio di oggetti. Questo è il comportamento predefinito se FileSetSpecType non è impostato.NEW_LINE_DELIMITED_MANIFEST: indica che gli URI forniti sono file manifest delimitati da un ritorno a capo, con un URI per riga. Gli URI con caratteri jolly non sono supportati nei file manifest e tutti i file di dati a cui viene fatto riferimento devono trovarsi nello stesso bucket del manifest.
Ad esempio, se hai un URI di origine
"gs://bucket/path/file"efile_set_spec_typeèFILE_SYSTEM_MATCH, il file viene utilizzato direttamente come file di dati. Sefile_set_spec_typeèNEW_LINE_DELIMITED_MANIFEST, ogni riga del file viene interpretata come un URI che punta a un file di dati.--source_format=FORMATIl formato dei dati di origine. Usa uno dei seguenti valori:
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(utilizza questo valore per Filestore)PARQUETORC
--time_partitioning_expiration=SECONDSUn numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La data/ora di scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAMESpecifica 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=INTERVALAbilita il partizionamento basato sul tempo in una tabella e imposta il tipo di partizione. Usa uno dei seguenti valori:
DAYHOURMONTHYEAR
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, imposta questo flag sutrueper convertire i tipi logici nei tipi corrispondenti (ad esempioTIMESTAMP) anziché utilizzare solo i tipi non elaborati (ad esempioINTEGER).--decimal_target_types=DECIMAL_TYPEDetermina come convertire un tipo logico
Decimal. Equivalente aJobConfigurationLoad.decimalTargetTypes. Ripeti questo flag per specificare più tipi di destinazione.--parquet_enum_as_string={true|false}Se il flag
--source_formatè impostato suPARQUETe vuoi che BigQuery deduca i tipi logici ParquetENUMcome 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 utilizzare l'inferenza dello schema per i tipi logiciLISTdi Parquet.--reference_file_schema_uri=URISpecifica il percorso di un file di riferimento con lo schema della tabella previsto per la creazione di tabelle esterne. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri. Questo flag è abilitato per i formati Avro, ORC e PARQUET.DESTINATION_TABLELa tabella in cui vuoi caricare i dati.
SOURCE_DATAL'URI Cloud Storage del file che contiene i dati che vuoi caricare.
SCHEMALo schema per la tabella di destinazione.
Per saperne di più sul caricamento dei dati da Cloud Storage utilizzando il comando bq load, consulta quanto segue:
- Carica i dati Avro
- Carica i dati CSV
- Carica i dati JSON
- Carica i dati ORC
- Carica i dati Parquet
- Carica i dati dalle esportazioni di Datastore
- Carica i dati dalle esportazioni di Firestore
Per saperne di più sul caricamento dei dati da un'origine locale utilizzando il comando bq load, consulta quanto segue:
bq ls
Utilizza il comando bq ls per elencare gli oggetti di una raccolta.
Trama
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 su
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 o le esecuzioni dei trasferimenti. Il valore predefinito èfalse. --capacity_commitment={true|false}Per elencare gli impegni di capacità, imposta
truee utilizza il flag--locationper specificare la località. Per ulteriori informazioni, consulta Visualizza 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 su
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 valoreFILTERtra virgolette.Per filtrare in base alle etichette dei 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
dataSourceIdscome chiave e una delle seguenti origini dati come valore:
amazon_s3- Trasferimento di dati Amazon S3azure_blob_storage- Trasferimento di dati di Azure Blob Storagedcm_dt- Trasferimento dei dati di Campaign Managergoogle_cloud_storage- Trasferimento di dati di Cloud Storagecross_region_copy- Copia del set di datidfp_dt- Trasferimento dei dati di Google Ad Managerdisplayvideo- Display & Video 360 data transfergoogle_ads- Trasferimento dei dati pubblicitari di Google Adsmerchant_center- Trasferimento di dati di Google Merchant Centermysql- Trasferimento di dati MySQLplay- Trasferimento dei dati di Google Playscheduled_query- Trasferimento dei dati delle query programmatesearch_ads- Trasferimento dei dati di Search Ads 360youtube_channel- Trasferimento dei dati del canale YouTubeyoutube_content_owner- Trasferimento dei dati del proprietario dei contenuti YouTuberedshift- Migrazione da Amazon Redshifton_premises- Migrazione di Teradatasnowflake_migration- Migrazione da Snowflake
Ad esempio:
--filter labels.dataSourceIds:dcm_dt
Per le esecuzioni dei trasferimenti, utilizza states come chiave e uno o più dei seguenti stati di trasferimento come valore:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Ad esempio:
--filter="states:FAILED"
Per i job, utilizza states come chiave e uno o più dei seguenti stati del job come valore:
RUNNINGPENDINGDONE
Ad esempio:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--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 dell'epoca di Unix 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_tokenper elencare tutti i job utilizzando l'impaginazione. - --
min_creation_time=MIN_CREATION_TIME_MS - Un numero intero che rappresenta un timestamp dell'epoca di Unix in millisecondi. Se specificato con il flag
--jobs, questo flag elenca solo i job creati dopo il timestamp. --message_type=messageTypes:MESSAGE_TYPEPer elencare solo i messaggi di log di esecuzione del trasferimento di un tipo specifico, specifica
messageTypes:MESSAGE_TYPE. I valori possibili sono i seguenti:INFOWARNINGERROR
--models={true|false}o-m={true|false}Per elencare i modelli BigQuery ML, imposta su
true. Il valore predefinito èfalse.--page_token=TOKENo-k=TOKENElenca gli elementi a partire dal token di pagina specificato.
--projects={true|false}o-p={true|false}Per visualizzare tutti i progetti, imposta su
true. Il valore predefinito èfalse.--reservation={true|false}Per elencare tutte le prenotazioni per un determinato progetto e una determinata località, imposta su
true. Il valore predefinito èfalse. Utilizza con i flag--project_ide--location.Ad esempio:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}Per elencare tutte le assegnazioni di prenotazioni per un determinato progetto e una determinata località, imposta su
true. Il valore predefinito èfalse. Utilizza con i flag--project_ide--location.--routines={true|false}Per elencare tutte le routine nel set di dati specificato, imposta su
true. Il valore predefinito èfalse. Le routine includono funzioni definite dall'utente permanenti, funzioni di tabella (anteprima) e stored procedure.--row_access_policiesSe specificato, elenca tutte le policy di accesso a livello di riga di una tabella. Le policy di accesso a livello di riga vengono utilizzate per la sicurezza a livello di riga. Devi fornire il nome della tabella nel formato
dataset.table.--run_attempt=RUN_ATTEMPTDa utilizzare con il flag
--transfer_run. Per elencare tutti i tentativi di esecuzione per l'esecuzione del trasferimento specificata, imposta il valore suRUN_ATTEMPT_UNSPECIFIED. Per elencare solo l'ultimo tentativo di esecuzione, imposta il valore suLATEST. Il valore predefinito èLATEST.--transfer_config={true|false}Per elencare le configurazioni di trasferimento nel progetto e nella località specificati, imposta su
true. Utilizza con i flag--transfer_locatione--project_id. Il valore predefinito èfalse.--transfer_location=LOCATIONElenca le configurazioni di trasferimento nella località specificata. La località di trasferimento viene impostata al momento della creazione del trasferimento.
--transfer_log={true|false}Da utilizzare con il flag
--transfer_run. Per elencare i messaggi di log del trasferimento per l'esecuzione del trasferimento specificata, imposta sutrue. Il valore predefinito èfalse.--transfer_run={true|false}Elenca le esecuzioni di trasferimento per la configurazione del trasferimento specificata.
Ad esempio:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCELa raccolta di cui vuoi elencare gli oggetti. La risorsa può essere un set di dati, un progetto, una prenotazione o una configurazione di trasferimento.
Per saperne di più sull'utilizzo del comando bq ls, consulta quanto segue:
- Gestione dei job
- Elenca i set di dati in un progetto
- Creazione e utilizzo di tabelle
- Visualizzazioni elenco in un set di dati
- Utilizzo dei trasferimenti
- Elenco degli snapshot delle tabelle in un set di dati
bq mk
Utilizza il comando bq mk per creare una risorsa BigQuery.
Trama
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Flag e argomenti
Il comando bq mk accetta un flag type che specifica il tipo di risorsa da creare e flag aggiuntivi 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.--dataseto-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.--reservation-group: crea un gruppo di prenotazioni.--tableo-t: crea una tabella.--transfer_config: crea una configurazione del trasferimento.--transfer_run: crea un'esecuzione del trasferimento per un intervallo di tempo.--view: crea una visualizzazione.
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, imposta su
true. Se la risorsa esiste già, il codice di uscita è 0, ma l'impostazione di questo flag sutruenon fa sì che il comandobq mksovrascriva la risorsa. Il valore predefinito èfalse.
Il comando bq mk supporta flag aggiuntivi, 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- Specifica la località dell'impegno.
--plan=PLAN_TYPESpecifica il tipo di piano di impegno. Deve essere uno dei seguenti valori:
ANNUALTHREE_YEAR
I clienti che utilizzano i prezzi a costo fisso legacy possono anche utilizzare uno dei seguenti valori:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPESpecifica il tipo di piano di rinnovo. Obbligatorio per i piani di impegno
ANNUALoTHREE_YEAR. Deve essere uno dei seguenti:ANNUALTHREE_YEARNONE
I clienti che utilizzano i prezzi a costo fisso legacy possono anche utilizzare uno dei seguenti valori:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDSpecifica il progetto che amministra gli slot.
--slots=NUMBER_OF_BASELINE_SLOTSSpecifica il numero di slot di base da acquistare.
--edition=EDITIONLa versione associata all'impegno di capacità. Deve essere uno dei seguenti:
ENTERPRISEENTERPRISE_PLUS
Per ulteriori informazioni, consulta Acquista impegni.
bq mk --connection
Crea una connessione. Sono supportati i seguenti flag:
--connection_type=CONNECTION_TYPE- Il tipo di connessione, ad esempio
CLOUD_SQLper le connessioni Cloud SQL. --properties=PROPERTIESParametri specifici della connessione in formato JSON. È necessario specificare
instanceId,databaseetype.Se crei una connessione Spanner e vuoi utilizzare Data Boost, includi le coppie
"useParallelism":truee"useDataBoost":true.--connection_credential=CONNECTION_CREDENTIALLe credenziali della connessione in formato JSON. Devi specificare
usernameepassword.--project_id=PROJECT_IDSpecifica l'ID del progetto a cui appartiene la connessione.
--location=LOCATIONSpecifica la località in cui verrà archiviata la connessione.
--display_name=DISPLAY_NAMESpecifica un nome descrittivo facoltativo per la connessione.
--description=DESCRIPTIONSpecifica una descrizione facoltativa della connessione.
--iam_role_id=ROLE_IDPer BigQuery Omni su AWS, specifica un ruolo IAM che consente l'accesso alla risorsa.
Utilizza il seguente formato:
"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 della policy.
Esempio:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDPer BigQuery Omni su Microsoft Azure, specifica l'ID tenant della directory Microsoft Azure che contiene l'account Microsoft Azure Storage.
CONNECTION_IDSpecifica 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 saperne di più, consulta Introduzione alle connessioni.
bq mk --dataset
Crea un set di dati. Sono supportati i seguenti flag:
--add_tags=TAGS- Specifica i tag che stai collegando al nuovo
set di dati, separati da virgole. Ad esempio
556741164180/env:prod,myProject/department:sales. Ogni tag deve avere il nome della chiave con spazio dei nomi e il nome breve del valore. --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 data di scadenza predefinita, in secondi, per tutte le partizioni nelle tabelle partizionate appena create nel set di dati. La data di scadenza di una partizione è impostata sulla data UTC della partizione più il valore intero.
Se questa proprietà è impostata, il suo valore sostituisce la scadenza della tabella predefinita a livello di set di dati, se esistente. Se specifichi il flag
--time_partitioning_expirationquando crei o aggiorni una tabella partizionata, la scadenza della partizione a livello di tabella ha la precedenza sulla scadenza della partizione predefinita a livello di set di dati. --default_table_expiration=SECONDS- Un numero intero che specifica la durata predefinita, in secondi, delle tabelle appena create in un set di dati. La data/ora di scadenza è impostata sull'ora UTC corrente più questo valore.
--description=DESCRIPTION- Specifica la descrizione del set di dati.
--external_source=EXTERNAL_SOURCE- Specifica l'origine dati esterna quando crei un set di dati federato.
--label=KEY:VALUE- Specifica un'etichetta per il set di dati. Ripeti questo flag per specificare più etichette.
--location=LOCATIONo--data_location=LOCATION- Specifica la località del set di dati. Preferisci il flag
--location; il flag--data_locationè un flag legacy. --max_time_travel_hours=HOURS- Specifica la durata in ore della finestra di viaggio nel tempo per il set di dati. Il valore
--max_time_travel_hoursdeve essere un numero intero espresso in multipli di 24 (48, 72, 96, 120, 144, 168) compreso tra 48 (2 giorni) e 168 (7 giorni). 168 ore è il valore predefinito se questo flag non viene specificato. --storage_billing_model=BILLING_MODELSpecifica il modello di fatturazione dello spazio di archiviazione per un set di dati. Imposta il valore
--storage_billing_modelsuPHYSICALper utilizzare i byte fisici durante il calcolo dei costi di archiviazione o suLOGICALper utilizzare i byte logici.LOGICALè il valore predefinito.Quando modifichi il modello di fatturazione di un set di dati, l'applicazione della modifica richiede 24 ore.
Dopo aver modificato il modello di fatturazione dello spazio di archiviazione di un set di dati, devi attendere 14 giorni prima di poterlo modificare di nuovo.
Per saperne di più, consulta Creazione dei 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 di una vista materializzata, imposta su
false. Il valore predefinito quando si crea 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 viene specificato, l'intervallo di aggiornamento predefinito per una vista materializzata con l'aggiornamento abilitato è di 1.800.000 millisecondi, ovvero 30 minuti.
Per saperne di più, consulta Creazione e utilizzo di viste materializzate.
bq mk --reservation
Crea una prenotazione con slot dedicati. Sono supportati i seguenti flag:
--target_job_concurrency=CONCURRENCY- Specifica il numero target di query 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 Utilizza le code di query.
--ignore_idle_slots={true|false}- Per limitare i job in esecuzione in questa prenotazione in modo che utilizzino solo gli slot allocati alla prenotazione, imposta il valore su
true. Il valore predefinito èfalse; i job in questa prenotazione possono utilizzare slot inattivi di altre prenotazioni o slot non allocati a nessuna prenotazione. Per saperne di più, consulta Slot inattivi. --location=LOCATION- Specifica la località della prenotazione.
--project_id=PROJECT_ID- Specifica il progetto proprietario della prenotazione.
--slots=NUMBER_OF_BASELINE_SLOTS- Specifica il numero di slot di base da allocare a questa prenotazione.
--edition=EDITION- La versione associata all'impegno di capacità. Deve essere uno dei seguenti:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- Il numero di slot con scalabilità automatica assegnati alla prenotazione. Questo valore è uguale al valore della dimensione massima della prenotazione meno il numero di slot di riferimento.
--max_slots=MAXIMUM_NUMBER_OF_SLOTS- Il numero massimo di slot che verranno utilizzati dalla prenotazione. Deve essere configurato con il flag
--scaling_mode(anteprima). --scaling_mode=SCALING_MODELa modalità di scalabilità della prenotazione. Deve essere uno dei seguenti:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Deve essere configurato con il flag
--max_slots(anteprima).
Per saperne di più, vedi Crea 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:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- Specifica il tipo di job da assegnare alla prenotazione. Uno dei seguenti:
QUERYPIPELINEML_EXTERNALBACKGROUND
--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 saperne di più, consulta Utilizza le assegnazioni delle prenotazioni.
bq mk --reservation-group
Crea un gruppo di prenotazioni. Sono supportati i seguenti flag:
--location=LOCATION- Specifica la località della prenotazione.
--project_id=PROJECT_ID- Specifica il progetto proprietario della prenotazione.
Per saperne di più, consulta Utilizza i gruppi di prenotazioni.
bq mk --table
Crea una tabella. Sono supportati i seguenti flag:
--add_tags=TAGS- Specifica i tag che stai collegando alla nuova tabella, separati da virgole. Ad esempio
556741164180/env:prod,myProject/department:sales. Ogni tag deve avere il nome della chiave con spazio dei nomi e il nome breve del valore. --clustering_fields=COLUMNS- Un elenco separato da virgole di massimo quattro nomi di colonne che specifica i campi da utilizzare per il clustering delle tabelle. Se specificato con il partizionamento, la tabella viene prima partizionata, quindi ogni partizione viene raggruppata in cluster utilizzando le colonne fornite.
--description=DESCRIPTION- Specifica la descrizione della tabella.
--destination_kms_key=KEY- Specifica un ID risorsa della chiave Cloud KMS per criptare i dati della tabella di destinazione.
--expiration=SECONDS- Specifica la durata della tabella. Se non specifichi il flag
--expiration, BigQuery crea la tabella con la durata predefinita della tabella del set di dati oppure la tabella non scade. --external_table_definition=STRINGSpecifica una definizione di tabella per la creazione di una tabella esterna.
Per le tabelle esterne di Cloud Storage e Google 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 formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Puoi omettere il valoreSCHEMAse il formato dei dati è autodescrittivo (ad esempio Avro) o se utilizzi il rilevamento automatico dello schema.Il valore
FORMATspecifica il formato dei dati, che può essere uno dei seguenti:AVROCSVDATASTORE_BACKUP(utilizza questo valore per Filestore)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Se specifichi un file di definizione della tabella, non aggiungere un'estensione al nome file.
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 Bigtable e 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
FORMATspecifica il formato dei dati, che può essere uno dei seguenti:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHè il percorso di uno o più file in Cloud Storage che contengono i dati della tabella BigLake. Puoi specificareBUCKET_PATHnei seguenti formati:- Per un singolo file:
gs://bucket_name/[folder_name/]file_name. - Per più file in un singolo 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 file PARQUET specificando
gs://bucket_name/*.parquet. Per saperne di più sull'utilizzo dei caratteri jolly, consulta Caratteri jolly URI.
- Per un singolo file:
Il valore
REGIONspecifica la regione o multiregione che contengono la connessione.Il valore
CONNECTION_NAMEspecifica il nome della connessione alle risorse 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 di 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 su oggetti PDF specificando
gs://bucket_name/*.pdf. Per ulteriori informazioni sull'utilizzo dei caratteri jolly, consulta Caratteri jolly URI.Il valore
REGIONspecifica la regione o multiregione che contengono la connessione.Il valore
CONNECTION_NAMEspecifica il nome della connessione alle risorse cloud da utilizzare con questa tabella esterna. La connessione determina quale account di servizio viene utilizzato per leggere i dati da Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPESpecifica come interpretare gli URI di origine.
FILE_SYSTEM_MATCH: espande gli URI di origine elencando i file dall'archivio di oggetti. Questo è il comportamento predefinito se FileSetSpecType non è impostato.NEW_LINE_DELIMITED_MANIFEST: indica che gli URI forniti sono file manifest delimitati da un ritorno a capo, con un URI per riga. Gli URI con caratteri jolly non sono supportati nei file manifest e tutti i file di dati a cui viene fatto riferimento devono trovarsi nello stesso bucket del manifest.
Ad esempio, se hai un URI di origine
"gs://bucket/path/file"efile_set_spec_typeèFILE_SYSTEM_MATCH, il file viene utilizzato direttamente come file di dati. Sefile_set_spec_typeèNEW_LINE_DELIMITED_MANIFEST, ogni riga del file viene interpretata come un URI che punta a un file di dati.--reference_file_schema_uri=URISpecifica il percorso di un file di riferimento con lo schema della tabella previsto per la creazione di tabelle esterne. Equivalente a
ExternalDataConfiguration.referenceFileSchemaUri. Questo flag è abilitato per i formati Avro, ORC e PARQUET.--label=KEY:VALUESpecifica un'etichetta per la tabella. Ripeti questo flag per specificare più etichette.
--max_staleness=INTERVALSpecifica se i metadati memorizzati nella cache vengono utilizzati dalle operazioni sulla tabella e quanto devono essere aggiornati affinché l'operazione li utilizzi.
Applicabile alle tabelle BigLake e alle tabelle degli oggetti.
Per disattivare la memorizzazione nella cache dei metadati, specifica 0. Questa è l'impostazione predefinita.
Per attivare la memorizzazione nella cache dei metadati, specifica un valore di intervallo compreso tra 30 minuti e 7 giorni, utilizzando il formato
Y-M D H:M:Sdescritto nella documentazione del tipo di datiINTERVAL. Ad esempio, specifica0-0 0 4:0:0per un intervallo di inattività di 4 ore. Con questo valore, le operazioni sulla tabella utilizzano i metadati memorizzati nella cache se sono stati aggiornati nelle ultime 4 ore. Se i metadati memorizzati nella cache sono più vecchi, l'operazione recupera i metadati da Cloud Storage.--object_metadata=STRINGImposta il valore di questo flag su
SIMPLEdurante la creazione di una tabella di oggetti.Obbligatorio solo quando crei una tabella di oggetti.
--range_partitioning=COLUMN_NAME,START,END,INTERVALSpecifica le opzioni per una partizione con intervallo di numeri interi, come segue:
column_nameè la colonna utilizzata per creare le partizioni per intervalli di numeri interi.startè l'inizio del partizionamento per intervalli, incluso.endè la fine del partizionamento per 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 partizionamento per le query sulla tabella fornita, imposta 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 separato da virgole di definizioni di colonne nel formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Se utilizzi un file di schema, non aggiungere un'estensione al nome file.Esempi:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSUn numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La data/ora di scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAMESpecifica 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=INTERVALAbilita il partizionamento basato sul tempo in una tabella e imposta il tipo di partizione. Usa uno dei seguenti valori:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Se la parte
FORMATdel 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
FORMATdel flag--external_table_definitionè impostata suPARQUET, questo flag specifica se utilizzare l'inferenza dello schema per i tipi logiciLISTdi Parquet.--parquet_enum_as_string={true|false}Se la parte
FORMATdel flag--external_table_definitionè impostata suPARQUET, questo flag specifica se dedurre i tipi logici ParquetENUMcome valoriSTRING.
Per saperne di più, consulta Creazione e utilizzo di tabelle.
bq mk --transfer_config
Crea una configurazione del trasferimento. Sono supportati i seguenti flag:
--data_source=DATA_SOURCE- Specifica l'origine dati. Obbligatorio quando crei una configurazione di trasferimento. Utilizza uno dei seguenti valori:
amazon_s3- Trasferimento di dati Amazon S3azure_blob_storage- Trasferimento di dati di Azure Blob Storagedcm_dt- Trasferimento dei dati di Campaign Managergoogle_cloud_storage- Trasferimento di dati di Cloud Storagecross_region_copy- Copia del set di datidfp_dt- Trasferimento dei dati di Google Ad Managerdisplayvideo- Display & Video 360 data transfergoogle_ads- Trasferimento dei dati pubblicitari di Google Adsmerchant_center- Trasferimento di dati di Google Merchant Centermysql- Trasferimento di dati MySQLplay- Trasferimento dei dati di Google Playscheduled_query- Trasferimento dei dati delle query programmatesearch_ads- Trasferimento dei dati di Search Ads 360youtube_channel- Trasferimento dei dati del canale YouTubeyoutube_content_owner- Trasferimento dei dati del proprietario dei contenuti YouTuberedshift- Migrazione da Amazon Redshifton_premises- Migrazione di Teradatasnowflake_migration- Migrazione da Snowflake
--display_name=DISPLAY_NAME- Specifica il nome visualizzato della configurazione del trasferimento.
--no_auto_scheduling={true|false}- Disattiva la pianificazione automatica delle esecuzioni di trasferimento dei dati per questa configurazione.
Il valore predefinito è
false. --params={"PARAMETER":"VALUE"}o-p={"PARAMETER":"VALUE"}- Specifica i parametri per la configurazione del 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 del 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 del trasferimento.
--table_filter=TABLES- Utilizzato solo con l'origine dati
google_ads. Il parametroTABLESè un elenco di tabelle separate da virgole da includere nel trasferimento. Per escludere una tabella, aggiungi un trattino (-) come prefisso. Il valore predefinito include tutte le tabelle nel trasferimento. --destination_kms_key=KEY- Specifica un ID risorsa chiave Cloud KMS per criptare i dati della tabella di destinazione.
Per informazioni sull'utilizzo del comando bq mk con BigQuery Data Transfer Service, consulta quanto segue:
- Configura un trasferimento Amazon S3
- Configura un trasferimento da Campaign Manager
- Configura un trasferimento da Cloud Storage
- Configura un trasferimento da Google Ad Manager
- Configura un trasferimento da Google Ads
- Configura un trasferimento da Google Merchant Center (beta)
- Configura un trasferimento da Google Play
- Configura un trasferimento da Search Ads 360 (beta)
- Configura un trasferimento da un canale YouTube
- Configura un trasferimento dal proprietario dei contenuti YouTube
- Esegui la migrazione dei dati da Amazon Redshift
- Esegui la migrazione dei dati da Teradata
- Esegui la migrazione dei dati da Snowflake
bq mk --transfer_run
Crea un'esecuzione del trasferimento di dati nell'ora o nell'intervallo di tempo specificato utilizzando la configurazione del trasferimento di dati specificata.
Trama
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 in cui pianificare l'esecuzione del trasferimento di dati.
--start_time=START_TIME- Un timestamp che specifica l'ora di inizio per un intervallo di esecuzioni di trasferimento di dati.
--end_time=END_TIME- Un timestamp che specifica l'ora di fine per un intervallo di esecuzioni di trasferimento di dati.
Il formato dei timestamp è RFC3339 UTC "Zulu".
L'argomento CONFIG specifica una configurazione del trasferimento dei 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:
--add_tags=TAGS- Specifica i tag che stai collegando alla nuova visualizzazione, separati da virgole. Ad esempio
556741164180/env:prod,myProject/department:sales. Ogni tag deve avere il nome della chiave con spazio dei nomi e il nome breve del valore. --description=DESCRIPTION- Specifica la descrizione della vista.
--expiration=SECONDS- Specifica la durata della visualizzazione. Se
SECONDSè0, la vista non scade. Se non specifichi il flag--expiration, BigQuery crea la vista con la durata della tabella predefinita del set di dati. --label=KEY:VALUE- Specifica un'etichetta per la visualizzazione. Ripeti questo flag per specificare più etichette.
--use_legacy_sql={true|false}- Imposta su
falseper utilizzare una query GoogleSQL per creare una vista. Il valore predefinito è determinato dalle impostazioni di configurazione. Se l'impostazione di configurazione non è specificata, il valore predefinito ètrue; utilizza l'SQL precedente. --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 della funzione definita dall'utente utilizzata dalla query SQL di una vista. Ripeti questo flag per specificare più file.
Per saperne di più, consulta Creazione di visualizzazioni.
bq mkdef
Utilizza il comando bq mkdef per creare una definizione di tabella in formato JSON per i dati archiviati in Cloud Storage o Google Drive.
Trama
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.
--hive_partitioning_modeSpecifica come determinare lo schema di partizionamento quando BigQuery legge i dati. Sono supportate le seguenti modalità:
AUTO: deduce automaticamente i nomi e i tipi delle chiavi di partizione.STRINGS: Deduci automaticamente i nomi delle chiavi di partizione. Tutti i tipi vengono trattati come stringhe.CUSTOM: specifica lo schema di partizionamento nel prefisso dell'URI di origine.
Il valore predefinito è
AUTO.--hive_partitioning_source_uri_prefixSpecifica il prefisso comune per gli URI di origine. Il valore del prefisso comune è la parte dell'URI che precede immediatamente la codifica della chiave di partizionamento. Se hai specificato
CUSTOMper la modalità, devi anche identificare lo schema di partizionamento.Ad esempio, considera i file con la seguente struttura:
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
Se utilizzi le modalità
AUTOoSTRINGS, i seguenti valori sono accettabili:gs://bucket/path_to_tablegs://bucket/path_to_table/
Se utilizzi la modalità
CUSTOM, sono accettabili i seguenti valori:gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
Per saperne di più sull'utilizzo del comando bq mkdef, consulta Creazione di un file di definizione della tabella per un'origine dati esterna.
--ignore_unknown_values={true|false}o-i={true|false}- Specifica se ignorare i valori di una riga che non sono presenti nello schema. Il valore predefinito è
false. --metadata_cache_mode=STRINGSpecifica se la cache dei metadati per la tabella viene aggiornata automaticamente o manualmente.
Imposta su
AUTOMATICper aggiornare la cache dei metadati a un intervallo definito dal sistema, in genere compreso tra 30 e 60 minuti.Imposta su
MANUALse vuoi aggiornare la cache dei metadati in base a una pianificazione che hai stabilito. In questo caso, puoi chiamare la procedura di sistemaBQ.REFRESH_EXTERNAL_METADATA_CACHEper aggiornare la cache.Devi impostare il flag
--metadata_cache_modese imposti il flag--max_stalenesscon il comandobq mk.--parquet_enable_list_inference={true|false}Se
source_formatè impostato suPARQUET, questo flag specifica se utilizzare l'inferenza dello schema per i tipi logiciLISTdi Parquet. Il valore predefinito èfalse.--parquet_enum_as_string={true|false}Se
source_formatè impostato suPARQUET, questo flag specifica se dedurre i tipi logiciENUMdi Parquet come valoriSTRING. Il valore predefinito èfalse.--file_set_spec_type=FILE_SET_SPEC_TYPESpecifica come interpretare gli URI di origine.
FILE_SYSTEM_MATCH: espande gli URI di origine elencando i file dall'archivio di oggetti. Questo è il comportamento predefinito se FileSetSpecType non è impostato.NEW_LINE_DELIMITED_MANIFEST: indica che gli URI forniti sono file manifest delimitati da un ritorno a capo, con un URI per riga. Gli URI con caratteri jolly non sono supportati nei file manifest e tutti i file di dati a cui viene fatto riferimento devono trovarsi nello stesso bucket del manifest.
Ad esempio, se hai un URI di origine
"gs://bucket/path/file"efile_set_spec_typeèFILE_SYSTEM_MATCH, il file viene utilizzato direttamente come file di dati. Sefile_set_spec_typeèNEW_LINE_DELIMITED_MANIFEST, ogni riga del file viene interpretata come un URI che punta a un file di dati.--source_format=FORMATSpecifica il formato dei dati di origine. Usa uno dei seguenti valori:
AVROCSVDATASTORE_BACKUP(utilizza questo valore per Filestore)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
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.
bq partition
Utilizza il comando bq partition per convertire un gruppo di tabelle con suffissi di unità di tempo, ad esempio tabelle che terminano con YYYYMMDD per il partizionamento delle date, in tabelle partizionate.
Trama
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 la sovrascrittura di una partizione esistente, imposta su
true. Il valore predefinito èfalse; se la partizione esiste, viene sovrascritta. --time_partitioning_expiration=SECONDS- Un numero intero che specifica (in secondi) quando una partizione basata sul tempo deve essere eliminata. La data/ora di scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_type=INTERVALSpecifica il tipo di partizione. La tabella seguente fornisce i possibili valori per il flag
INTERVALe il formato time-unit-suffix previsto per ciascuno:INTERVALSuffisso HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEIl nome di base del gruppo di tabelle con suffissi di unità di tempo.
PARTITION_TABLEIl nome della tabella partizionata di destinazione.
Per saperne di più sull'utilizzo del comando bq partition, consulta Conversione di tabelle con partizionamento per data in tabelle partizionate per data di acquisizione.
bq query
Utilizza il comando bq query per creare un job di query che esegue la query SQL specificata.
Trama
bq query [FLAGS] 'QUERY'
Flag e argomenti
Il comando bq query utilizza i seguenti flag e argomenti:
--allow_large_results={true|false}- Per abilitare dimensioni elevate per le tabelle di destinazione per le query SQL precedente, imposta su
true. Il valore predefinito èfalse. --append_table={true|false}- Per aggiungere dati a una tabella di destinazione, imposta su
true. Il valore predefinito èfalse. --batch={true|false}- Per eseguire la query in modalità batch, imposta su
true. Il valore predefinito èfalse. --clustering_fields=COLUMNS- Un elenco separato da virgole di massimo quattro nomi di colonna che specifica i campi da utilizzare per eseguire il clustering della tabella di destinazione in una query. Se specificato con il partizionamento, la tabella viene prima partizionata, quindi ogni partizione viene raggruppata in cluster utilizzando le colonne fornite.
--connection_property=KEY=VALUEUna coppia chiave-valore che consente di specificare le proprietà a livello di connessione per personalizzare il comportamento delle query. Ripeti questo flag per specificare proprietà aggiuntive.
Le proprietà di connessione supportate sono le seguenti:
dataset_project_id: rappresenta il progetto predefinito per i set di dati utilizzati nella query, in modo simile alla variabile di sistema@@dataset_project_id.query_label: associa la query a un'etichetta del job specificata. Se impostata, tutte le query successive in uno script o in una sessione hanno questa etichetta. Per informazioni dettagliate sui requisiti di formattazione delle etichette delle query, consulta il campolabelsnella risorsaJobConfiguration.service_account: specifica un account di servizio da utilizzare per eseguire la query. Ad esempio--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: associa la query a una determinata sessione.time_zone: rappresenta il fuso orario predefinito da utilizzare per eseguire la query.
--continuous={true|false}Per eseguire una query continua, imposta su
true. Il valore predefinito èfalse.--destination_kms_key=KEYSpecifica un ID risorsa chiave Cloud KMS per criptare i dati della tabella di destinazione.
--destination_schema={PATH_TO_FILE|SCHEMA}Il percorso di un file di schema JSON locale o un elenco separato da virgole di definizioni di colonne nel formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE.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_tablee la query genera un'eccezione, è possibile che le modifiche allo schema vengano ignorate. In questo caso, controlla lo schema della tabella di destinazione e aggiornalo manualmente, se necessario.--destination_table=TABLESe specificato, i risultati della query vengono salvati in
TABLE. SpecificaTABLEnel seguente formato:PROJECT:DATASET.TABLE. SePROJECTnon è specificato, viene utilizzato il progetto corrente. Se il flag--destination_tablenon viene 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 su una tabella esterna. La definizione della tabella può essere un percorso a un file di schema JSON locale o una definizione di tabella in linea. Il formato per fornire la definizione della tabella incorporata è
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. Il formato del valoreSCHEMAè un elenco separato da virgole di definizioni di colonne nel formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Se utilizzi un file di definizione della tabella, non aggiungere un'estensione al nome file.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 consentire l'appiattimento dei campi nidificati e ripetuti nei risultati delle query SQL precedente, imposta su
false. Il valore predefinito ètrue.--label=KEY:VALUESpecifica un'etichetta per il job di query. Ripeti questo flag per specificare più etichette.
--max_rows=MAX_ROWSo-n=MAX_ROWSUn numero intero che specifica il numero di righe da restituire nei risultati della query. Il valore predefinito è
100.--maximum_bytes_billed=MAX_BYTESUn numero intero che limita i byte fatturati per la query. Se la query supera il limite, non va a buon fine (senza addebiti). Se questo flag non viene specificato, i byte fatturati vengono impostati sul valore predefinito del progetto.
--max_statement_results=VALUEUn numero intero che specifica il numero massimo di istruzioni dello script visualizzate per i risultati della query. Il valore predefinito è
100.--min_completion_ratio=RATIO(Sperimentale) Un numero compreso tra 0 e 1,0 che specifica la frazione minima di dati che deve essere analizzata prima che una query restituisca un risultato. Se il flag non viene 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 query nel formato
NAME:TYPE:VALUE. Un nome vuoto crea un parametro posizionale. SeTYPEviene omesso, viene utilizzato il tipoSTRING.NULLspecifica un valore null. 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,INTERVALDa utilizzare con il flag
--destination_table. Specifica le opzioni per il partizionamento per intervalli di numeri interi nella tabella di destinazione. Il valore è un elenco separato da virgole nel formatocolumn_name,start,end,interval, dovecolumn_nameè la colonna utilizzata per creare le partizioni per intervalli di numeri interi.startè l'inizio del partizionamento per intervalli, incluso.endè la fine del partizionamento per 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 su
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 i risultati possono essere recuperati dalla cache.
--require_partition_filter={true|false}Se specificato, è necessario un filtro di partizionamento per le query sulla tabella fornita. Questo flag può essere utilizzato solo con una tabella partizionata.
--reservation_id=RESERVATIONSe specificata, la prenotazione in cui viene eseguita la query. Per forzare la query a utilizzare la fatturazione on demand, imposta questo valore su
none. Ciò richiede che il progetto o l'organizzazione abbia l'impostazione di configurazionereservation_override_modeimpostata suALLOW_ANY_OVERRIDE.--rpc={true|false}Per utilizzare l'API di query in stile RPC anziché il metodo
jobs.insertdell'API REST, imposta sutrue. Il valore predefinito èfalse.--schedule="SCHEDULE"Rende una query una query pianificata ricorrente. È richiesta una pianificazione per la frequenza di esecuzione della query.
Esempi:
--schedule="every 24 hours"
--schedule="every 3 hours"
Per una descrizione della sintassi della pianificazione, consulta Formattazione della pianificazione.
--schema_update_option=OPTIONQuando aggiungi dati a una tabella in un job di caricamento o di query o quando sovrascrivi una partizione della tabella, specifica come aggiornare lo schema della tabella di destinazione. Usa uno dei seguenti valori:
ALLOW_FIELD_ADDITION: consente l'aggiunta di nuovi campi.ALLOW_FIELD_RELAXATION: consenti l'allentamento dei campiREQUIREDinNULLABLE.
Ripeti questo flag per specificare più opzioni di aggiornamento dello schema.
--start_row=ROW_NUMBERo-s=ROW_NUMBERUn numero intero che specifica la prima riga da restituire nel risultato della query. Il valore predefinito è
0.--target_dataset=DATASETSe specificato con
--schedule, aggiorna il set di dati di destinazione per una query pianificata. La query deve essere DDL o DML.--time_partitioning_expiration=SECONDSDa utilizzare con il flag
--destination_table. Un numero intero che specifica (in secondi) quando deve essere eliminata una partizione basata sul tempo. La data/ora di scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.--time_partitioning_field=COLUMN_NAMEDa utilizzare con 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 al tempo di importazione.--time_partitioning_type=INTERVALDa utilizzare con il flag
--destination_table. Specifica il tipo di partizione per la tabella di destinazione. Usa uno dei seguenti valori:DAYHOURMONTHYEAR
--udf_resource=FILEQuesto flag si applica solo alle query SQL precedente. Specifica l'URI Cloud Storage o il percorso di un file locale contenente una risorsa funzione definita dall'utente'utente da utilizzare con una query SQL precedente. Ripeti questo flag per specificare più file.
--use_cache={true|false}Per non consentire la memorizzazione nella cache dei risultati delle query, imposta il valore su
false. Il valore predefinito ètrue.--use_legacy_sql={true|false}Per eseguire una query GoogleSQL, imposta su
false. Il valore predefinito è determinato dalle impostazioni di configurazione. Se l'impostazione di configurazione non è specificata, il valore predefinito ètrue; il comando utilizza SQL precedente.--job_timeout_ms={string (Int64Value)}Specifica il tempo massimo di esecuzione di una query in millisecondi. Se questo limite di tempo viene superato, BigQuery tenta di arrestare il job.
QUERYLa query che vuoi eseguire. Puoi specificare la query utilizzando uno dei seguenti metodi:
Specifica una stringa contenente la query.
Se devi utilizzare valori letterali stringa aggiuntivi all'interno della query, devi seguire le regole di citazione per la shell che stai utilizzando, ad esempio Bash o PowerShell.
L'esempio seguente mostra un approccio tipico in Bash, che consiste nell'utilizzare le virgolette doppie per indicare i valori letterali stringa nella query e poi racchiudere la query stessa tra virgolette singole:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Se copi la query da un'altra posizione, devi anche rimuovere eventuali commenti nella query.
Passa uno script SQL contenente la query. L'esempio seguente mostra come passare uno script SQL nella shell Bash:
bq query --use_legacy_sql=false < query.sql
Per saperne di più sull'utilizzo del comando bq query, consulta Esegui una query.
bq remove-iam-policy-binding
Utilizza il comando bq remove-iam-policy-binding per recuperare la policy IAM per una risorsa e rimuovere un'associazione dalla policy in un unico passaggio.
La risorsa può essere una tabella o una vista.
Questo comando è un'alternativa alla seguente procedura in tre passaggi:
- Utilizzando il comando
bq get-iam-policyper recuperare il file della policy (in formato JSON). - Modifica del file della policy.
- Utilizzando il comando
bq set-iam-policyper aggiornare la policy senza l'associazione.
Trama
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:MEMBERObbligatorio. Utilizza il flag
--memberper specificare la parte del membro dell'associazione della policy IAM. Il flag--memberè obbligatorio insieme al flag--role. Una combinazione di flag--membere--roleequivale a un'associazione.Il valore
MEMBER_TYPEspecifica il tipo di membro nell'associazione della policy IAM. Usa uno dei seguenti valori:userserviceAccountgroupdomain
Il valore
MEMBERspecifica l'indirizzo email o il dominio del membro nell'associazione della policy IAM.--role=ROLEObbligatorio. Specifica la parte del ruolo dell'associazione della policy IAM. Il flag
--roleè obbligatorio insieme al flag--member. Una combinazione di flag--membere--roleequivale a un'associazione.--table={true|false}o-t={true|false}Facoltativo. Per rimuovere un'associazione dalla policy IAM di una tabella o di una vista, imposta su
true. Il valore predefinito èfalse.
RESOURCE è la tabella o la vista di cui vuoi rimuovere l'associazione della policy.
Per saperne di più, consulta il riferimento alle policy IAM.
bq rm
Utilizza il comando bq rm per eliminare una risorsa BigQuery.
Trama
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à, impostalo su
true, specifica la località dell'impegno che vuoi rimuovere utilizzando il flag--locatione sostituisciRESOURCEcon l'ID dell'impegno che vuoi rimuovere. --dataset={true|false}o-d={true|false}- Per eliminare un set di dati, imposta il valore su
true. Il valore predefinito èfalse. --force={true|false}o-f={true|false}- Per eliminare una risorsa senza richiesta, imposta su
true. Quando elimini un set di dati, una tabella, un job, un modello, una routine, una connessione o una configurazione del trasferimento, l'impostazione di questo flag sutrueignora anche gli erroriNot foundse la risorsa non esiste. Il valore predefinito èfalse. --job={true|false}o-j={true|false}- Per eliminare un job, imposta il valore su true. Il valore predefinito è false.
--model={true|false}o-m={true|false}- Per eliminare un modello BigQuery ML, imposta 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 delle tabelle o i modelli al suo interno, imposta su
true. Il valore predefinito èfalse. --reservation={true|false}- Per eliminare una prenotazione, imposta il valore su
true. Il valore predefinito èfalse. --reservation_assignment={true|false}- Per eliminare un'assegnazione di prenotazione, imposta il valore su
true. Il valore predefinito èfalse. --routine={true|false}- Per eliminare una routine, imposta il valore su
true. Il valore predefinito èfalse. Una routine può essere una funzione definita dall'utente permanente, una funzione con valore di tabella (anteprima) o una stored procedure. --table={true|false}o-t={true|false}- Per eliminare una tabella o una vista, imposta il valore su
true. Il valore predefinito èfalse. --transfer_config={true|false}- Per eliminare una configurazione di trasferimento, imposta il valore su
true. Il valore predefinito èfalse. RESOURCE- La risorsa che vuoi rimuovere.
Per saperne di più sull'utilizzo del comando bq rm, consulta quanto segue:
- Gestione dei set di dati
- Gestione dei job
- Gestione delle tabelle
- Gestione delle visualizzazioni
- Utilizzo dei trasferimenti
- Eliminazione degli snapshot delle tabelle
bq set-iam-policy
Utilizza il comando bq set-iam-policy per specificare o aggiornare la policy IAM per una risorsa. La risorsa può essere una tabella, una vista o una
prenotazione di slot.
Dopo aver impostato la policy, la nuova policy viene stampata in stdout. La policy è in formato JSON.
Il campo etag nella policy aggiornata deve corrispondere al valore etag della policy attuale, altrimenti l'aggiornamento non va a buon fine. Questa funzionalità impedisce gli aggiornamenti simultanei.
Puoi ottenere la policy attuale e il valore etag per una risorsa utilizzando il comando bq get-iam-policy.
Trama
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Esempi
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
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 la policy IAM di una tabella o di una vista, imposta su
true. Il valore predefinito èfalse. --reservation={true|false}- Per impostare la policy IAM di una prenotazione, imposta su
true(anteprima). Il valore predefinito èfalse. Quando viene utilizzato questo flag,RESOURCEviene trattato come un identificatore della prenotazione. La prenotazione può avere prefissi facoltativi per progetto e località:myProject:myLocation.myReservation.
RESOURCE è la tabella o la vista di cui vuoi aggiornare la policy.
FILE_NAME è il nome di un file contenente la policy in formato JSON.
Per saperne di più sul comando bq set-iam-policy, consulta Controlla l'accesso alle risorse con IAM.
bq show
Utilizza il comando bq show per visualizzare le informazioni su una risorsa.
Trama
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, un'organizzazione o un progetto. Utilizza il flag--assignee_typeper 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:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Per mostrare le informazioni su una connessione, imposta il criterio 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 su
true. Il valore predefinito èfalse. --encryption_service_account={true|false}- Per mostrare il account di servizio di crittografia per un progetto, se esiste, o crearne uno se non esiste, imposta su
true. Il valore predefinito èfalse. Utilizza con il flag--project_id. --job={true|false}o-j={true|false}- Per mostrare 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 prestazione delle assegnazioni di prenotazione che vuoi visualizzare. Utilizza uno dei seguenti valori:QUERYPIPELINEML_EXTERNAL
--model={true|false}o-m={true|false}- Per visualizzare le informazioni su un modello BigQuery ML, imposta su
true. Il valore predefinito èfalse. --reservation={true|false}- Per mostrare le informazioni su una prenotazione, imposta il valore 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 visualizza le assegnazioni esplicite della risorsa di destinazione, se presenti; in caso contrario, visualizza 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_typee--assignee_id. Il valore predefinito èfalse. --routine={true|false}- Per mostrare informazioni su una routine, imposta su
true. Il valore predefinito èfalse. Una routine può essere una funzione definita dall'utente permanente, una funzione di tabella (anteprima) o una stored procedure. --schema={true|false}- Per visualizzare solo lo schema della tabella, imposta su
true. Il valore predefinito èfalse. --transfer_config={true|false}- Per visualizzare le informazioni su una configurazione di trasferimento, imposta su
true. Il valore predefinito èfalse. --transfer_run={true|false}- Per visualizzare le informazioni su un'esecuzione del trasferimento, imposta su
true. Il valore predefinito èfalse. --view={true|false}- Per visualizzare le informazioni su una vista, imposta su
true. Il valore predefinito èfalse. RESOURCE- La risorsa di cui vuoi mostrare le informazioni.
Per saperne di più sull'utilizzo del comando bq show, consulta quanto segue:
- Ottenere informazioni sui set di dati
- Creazione e utilizzo di tabelle
- Ottenere informazioni sulle visualizzazioni
- Utilizzo dei trasferimenti
- Gestione dei job
- Ottenere informazioni su uno snapshot della tabella
bq update
Utilizza il comando bq update per modificare una risorsa.
Trama
bq update [FLAGS] [RESOURCE]
Flag e argomenti
Il comando bq update utilizza i seguenti flag e argomenti:
--add_tags=TAGS- Disponibile solo su set di dati e tabelle. Specifica i tag che stai collegando alla risorsa, separati da virgole. Ad esempio
556741164180/env:prod,myProject/department:sales. Ogni tag deve avere il nome della chiave con spazio dei nomi e il nome breve del valore. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- il numero di slot con scalabilità automatica assegnati alla prenotazione. Questo valore è uguale al valore della dimensione massima della prenotazione meno il numero di slot di riferimento. Disponibile solo con il flag
--reservatione se la prenotazione è stata creata con una versione. --capacity_commitment={true|false}- Per aggiornare un impegno di capacità, imposta su
true. Utilizza questo flag con i flag--merge,--plan,--renewal_plan,--splite--slots. --clear_all_tags={true|false}- Disponibile solo su set di dati e tabelle. Per cancellare tutti i tag da una risorsa, imposta il valore su
true. Il valore predefinito èfalse. --clear_label=KEY:VALUE- Rimuove un'etichetta dalla risorsa. Utilizza il formato
KEY:VALUEper specificare l'etichetta da rimuovere. Ripeti questo flag per rimuovere più etichette. --clustering_fields=COLUMNS- Aggiorna la specifica di clustering di una tabella. Il valore COLUMNS è un elenco di nomi di colonne separati da virgole da utilizzare per il clustering. Per rimuovere il clustering, imposta
COLUMNS su
""(la stringa vuota). Per saperne di più, consulta Modifica la specifica di clustering. --target_job_concurrency=CONCURRENCY- Se utilizzato con il flag
--reservation, specifica il numero target di query eseguite contemporaneamente. Il valore predefinito è 0, il che significa che la concorrenza viene impostata automaticamente in base alle dimensioni della prenotazione. Per saperne di più, consulta Utilizza le code di query. --dataset={true|false}o-d={true|false}- Per aggiornare un set di dati, imposta su
true. Il valore predefinito èfalse. --default_kms_key=KEY- Specifica l'ID risorsa della chiave Cloud KMS predefinita per criptare i dati della tabella in un set di dati. La chiave predefinita viene utilizzata se non viene fornita una chiave esplicita per la creazione di una tabella o una query.
--default_partition_expiration=SECONDSUn numero intero che specifica la data di scadenza predefinita, in secondi, per tutte le partizioni nelle tabelle partizionate appena create nel set di dati. Questo flag non ha un valore minimo.
La data/ora di 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 specifichi il flag
--time_partitioning_expirationquando crei o aggiorni una tabella partizionata, la scadenza della partizione a livello di tabella ha la precedenza sulla scadenza della partizione predefinita a livello di set di dati. Specifica0per rimuovere una scadenza esistente.--default_table_expiration=SECONDSUn numero intero che aggiorna la durata predefinita, in secondi, delle tabelle appena create in un set di dati. La data/ora di scadenza è impostata sull'ora UTC corrente più questo valore. Specifica
0per rimuovere la scadenza esistente.--description=DESCRIPTIONAggiorna la descrizione di un set di dati, una tabella, uno snapshot di tabella, un modello o una vista.
--destination_reservation_id=RESERVATION_IDSe utilizzato con il flag
--reservation_assignment, sposta un'assegnazione di prenotazione esistente alla prenotazione specificata. Il valore è l'ID della prenotazione di destinazione. Per saperne di più, consulta Sposta un'assegnazione in un'altra prenotazione.--display_name=DISPLAY_NAMEAggiorna il nome visualizzato di una configurazione di trasferimento.
--etag=ETAGFunge da filtro; aggiorna la risorsa solo se ha un ETag che corrisponde alla stringa specificata nell'argomento
ETAG.--expiration SECONDSPer aggiornare la scadenza della tabella, del modello, dello snapshot della tabella o della visualizzazione, includi questo flag. Sostituisci
SECONDScon il numero di secondi dall'ora di aggiornamento alla data di scadenza. Per rimuovere la scadenza di una tabella, di un modello, di uno snapshot della tabella o di una vista, imposta l'argomentoSECONDSsu 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 in linea nel formato
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. Il valoreSCHEMAè un elenco separato da virgole di definizioni di colonne nel formatoFIELD:DATA_TYPE, FIELD:DATA_TYPE. Se utilizzi un file di definizione della tabella, non aggiungere un'estensione al nome file.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}Da utilizzare con il flag
--reservation. Per limitare i job in esecuzione nella prenotazione specificata in modo che utilizzino solo gli slot allocati a quella prenotazione, imposta il valore sutrue. Il valore predefinito èfalse; i job nella prenotazione specificata possono utilizzare slot inattivi di altre prenotazioni o slot non allocati a nessuna prenotazione. Per saperne di più, consulta Slot inattivi.--max_staleness=INTERVALSpecifica un valore INTERVAL che determina l'obsolescenza massima consentita quando si esegue una query su una vista materializzata o su una tabella esterna. Il valore predefinito è
0-0 0 0:0:0.Ad esempio:
- 1 giorno:
0-0 1 0:0:0 - 1 ora:
0-0 0 1:0:0
Per utilizzare questo flag, devi specificare una definizione di tabella con il flag
--external_table_definition.- 1 giorno:
--max_time_travel_hours=HOURSSpecifica la durata in ore della finestra di spostamento cronologico per il set di dati. Il valore
--max_time_travel_hoursdeve essere un numero intero espresso in multipli di 24 (48, 72, 96, 120, 144, 168) compreso tra 48 (2 giorni) e 168 (7 giorni).--merge={true|false}Per unire due impegni di capacità, imposta
--mergesutrue. Imposta il flag--capacity_commitmentsutrue, specifica la località degli impegni che vuoi unire utilizzando il flag--locatione sostituisciRESOURCEcon gli ID dei due impegni che vuoi unire, separati da una virgola. Per ulteriori informazioni, consulta Unisci due impegni.--metadata_cache_mode=METADATA_CACHE_MODEAbilita la cache dei metadati per una tabella esterna con una connessione. Utilizza uno dei seguenti valori:
AUTOMATICMANUAL
Specifica
AUTOMATICper aggiornare automaticamente i metadati memorizzati nella cache. SpecificaMANUALper interrompere l'aggiornamento automatico. Per utilizzare questo flag, devi specificare una definizione di tabella con il flag--external_table_definition.--model={true|false}o-m={true|false}Per aggiornare i metadati di un modello BigQuery ML, imposta su
true. Il valore predefinito èfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}Aggiorna i parametri per una configurazione del trasferimento. I parametri variano a seconda dell'origine dati. Per saperne di più, consulta Introduzione a BigQuery Data Transfer Service.
--plan=PLANSe utilizzato con il flag
--capacity_commitment, converte un impegno di capacità nel piano di impegno di durata maggiore specificato. SostituisciPLANcon una delle seguenti opzioni:ANNUALTHREE_YEAR
--refresh_window_days=DAYSUn numero intero che specifica una finestra di aggiornamento aggiornata (in giorni) per una configurazione del trasferimento.
--remove_tags=TAG_KEYSDisponibile solo su set di dati e tabelle. Specifica i tag che stai rimuovendo dalla risorsa, separati da virgole, ad esempio
556741164180/env,myProject/department. Ogni chiave tag deve avere il nome della chiave con spazio dei nomi.--renewal_plan=PLANSe utilizzato con il flag
--capacity_commitment, aggiorna il piano di rinnovo per un impegno di capacità annuale. SostituisciPLANcon una delle seguenti opzioni:ANNUALTHREE_YEARNONE
I clienti che utilizzano i prezzi a costo fisso legacy possono anche utilizzare uno dei seguenti valori:
FLEXMONTHLYANNUAL
--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 separato da virgole di definizioni di colonne nel formato
FIELD:DATA_TYPE, FIELD:DATA_TYPE. Se utilizzi un file di schema, non aggiungere un'estensione al nome file.Ad esempio:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTSpecifica un account di servizio da utilizzare come credenziale per una configurazione del trasferimento.
--set_label=KEY:VALUESpecifica un'etichetta da aggiornare. Per aggiornare più etichette, ripeti questo flag.
--slots=NUMBER_OF_BASELINE_SLOTSSe utilizzato con i flag
--capacity_commitmente--split, specifica il numero di slot di base da suddividere da un impegno di capacità esistente in un nuovo impegno. SostituisciRESOURCEcon 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=FILEIl 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à
accessaggiornata. Il file viene utilizzato per sovrascrivere i controlli di accesso del set di dati. Il file JSON non deve includere un indicatore dell'ordine dei byte (BOM).--split={true|false}Se impostato su
truee utilizzato con il flag--capacity_commitment, specifica che vuoi suddividere un impegno di capacità esistente. Utilizza il flag--locationper specificare la località dell'impegno da cui vuoi eseguire la suddivisione e il flag--slotsper specificare il numero di slot da suddividere. SostituisciRESOURCEcon l'ID dell'impegno da cui vuoi eseguire la suddivisione. Per ulteriori informazioni, consulta Suddividi un impegno.--storage_billing_model=BILLING_MODELSpecifica il modello di fatturazione dello spazio di archiviazione per un set di dati. Imposta il valore
--storage_billing_modelsuPHYSICALper utilizzare i byte fisici durante il calcolo dei costi di archiviazione o suLOGICALper utilizzare i byte logici.Quando modifichi il modello di fatturazione di un set di dati, l'applicazione della modifica richiede 24 ore.
Dopo aver modificato il modello di fatturazione dello spazio di archiviazione di un set di dati, devi attendere 14 giorni prima di poterlo modificare di nuovo.
--table={true|false}o-t={true|false}Specifica se aggiornare una tabella. Il valore predefinito è
false.--target_dataset=DATASETSe specificato, aggiorna il set di dati di destinazione per una configurazione del trasferimento.
--time_partitioning_expiration=SECONDSUn numero intero che si aggiorna (in secondi) quando una partizione basata sul tempo deve essere eliminata. La data/ora di scadenza corrisponde alla data UTC della partizione più il valore intero. Un numero negativo indica che non è prevista alcuna scadenza.
--time_partitioning_field=COLUMN_NAMEAggiorna 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=INTERVALSpecifica il tipo di partizionamento. Usa uno dei seguenti valori:
DAYHOURMONTHYEAR
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 della configurazione del trasferimento. Il valore predefinito è
false.--use_legacy_sql={true|false}Impostalo su
falseper aggiornare la query SQL per una vista da SQL precedente a GoogleSQL. Il valore predefinito è determinato dalle impostazioni di configurazione. Se l'impostazione di configurazione non è specificata, il valore predefinito ètrue; la query utilizza SQL precedente.--vertex_ai_model_id=VERTEX_AI_MODEL_IDSe specificato, aggiorna l'ID modello per un modello BigQuery ML registrato in Vertex AI Model Registry.
--view=QUERYSe specificato, aggiorna la query SQL per una vista.
--view_udf_resource=FILEAggiorna 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 nella query SQL di una vista. Ripeti questo flag per specificare più file.
RESOURCELa risorsa che vuoi aggiornare.
Per saperne di più sull'utilizzo del comando bq update, consulta quanto segue:
- Aggiornamento delle proprietà del set di dati
- Gestione delle tabelle
- Aggiornamento delle visualizzazioni
- Aggiornamento delle etichette
- Utilizzo dei trasferimenti
- Aggiornamento dei 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.
Trama
bq version
bq wait
Utilizza il comando bq wait per attendere un numero di secondi specificato per il completamento di un job. Se non viene specificato un job, il comando attende il completamento del job corrente.
Trama
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 un esito positivo se il job è stato completato durante il tempo di attesa, anche se il job non è riuscito, imposta su
false. Il valore predefinito ètrue; una volta trascorso il tempo di attesa, il comando esce con un errore se il job è ancora in esecuzione o se è stato completato, ma non è riuscito. --wait_for_status=STATUSSe specificato, attende uno stato del job specifico prima di uscire. Usa uno dei seguenti valori:
PENDINGRUNNINGDONE
Il valore predefinito è
DONE.JOBSpecifica il job da attendere. Puoi utilizzare il comando
bq ls --jobs myProjectper trovare un identificatore del job.SECONDSSpecifica il numero massimo di secondi di attesa fino al completamento del job. Se inserisci
0, il comando esegue il polling per il completamento del job e restituisce immediatamente il risultato. Se non specifichi un valore intero, il comando attende il completamento del job.