Referenz zum bq-Befehlszeilentool
In diesem Dokument werden die Syntax, Befehle, Flags und Argumente für das Python-basierte Befehlszeilentool bq für BigQuery beschrieben.
Ein Tutorial zur Verwendung des bq-Befehlszeilentools finden Sie unter Daten mit dem bq-Tool laden und abfragen.
Möglichkeiten zur Verwendung des bq-Befehlszeilentools
Sie können die Befehle des bq-Befehlszeilentools in Cloud Shell entweder über die Google Cloud Console oder über eine lokale Installation der Google Cloud CLI eingeben.
Wenn Sie das bq-Befehlszeilentool in der Google Cloud -Konsole verwenden möchten, aktivieren Sie Cloud Shell:
Wenn Sie das bq-Befehlszeilentool lokal verwenden möchten, installieren und konfigurieren Sie die gcloud CLI. Informationen zum Aktualisieren Ihrer Installation finden Sie in der gcloud CLI-Dokumentation unter Installation verwalten.
Befehlsformat
Das bq-Befehlszeilentool hat das folgende Format:
bq COMMAND [FLAGS] [ARGUMENTS]
Einige Flags können mit mehreren Befehlen des bq-Befehlszeilentools verwendet werden. Diese Flags werden im Abschnitt Globale Flags beschrieben.
Andere Flags sind befehlsspezifisch – sie können nur mit einem bestimmten Befehl des bq-Befehlszeilentools verwendet werden. Die befehlsspezifischen Flags werden in den Befehlsabschnitten beschrieben.
Werte für Flags angeben
Wenn Sie einen Wert für ein Flag festlegen, ist das Gleichheitszeichen (=) optional. Die folgenden beiden Befehle entsprechen beispielsweise einander:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
In diesem Dokument wird zur Verdeutlichung das Gleichheitszeichen verwendet.
Einige Flags für das bq-Befehlszeilentool sind boolesch; Sie können den Wert des Flags auf true oder false setzen.
Das bq-Befehlszeilentool akzeptiert die folgenden Formate zum Festlegen von booleschen Flags.
| Wert | Format | Beispiel |
|---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
In diesem Dokument wird für boolesche Flags das Format --FLAGNAME=VALUE verwendet.
Alle booleschen Flags sind optional. Wenn kein boolesches Flag vorhanden ist, verwendet BigQuery den Standardwert des Flags.
BigQuery-Ressourcen in Argumenten angeben
Das Format für die Angabe einer Ressource hängt vom Kontext ab. In einigen Fällen ist das Trennzeichen zwischen Projekt und Dataset ein Doppelpunkt (:) und in einigen Fällen ist es ein Punkt (.). In der folgenden Tabelle wird beschrieben, wie Sie eine BigQuery-Tabelle in verschiedenen Kontexten angeben.
| Kontext | Format | Beispiel |
|---|---|---|
| bq-Befehlszeilentool, also: Befehlszeilentool "bq" | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| GoogleSQL-Abfrage | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| Legacy-SQL-Abfrage | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
Wenn Sie kein Projekt angeben, verwendet BigQuery das aktuelle Projekt. Wenn das aktuelle Projekt beispielsweise myProject ist, interpretiert BigQuery myDataset.myTable als myProject:myDataset.myTable (oder myProject.myDataset.myTable).
Einige Ressourcen-IDs müssen in Graviszeichen (`) gesetzt werden. Wenn die Ressourcenkennzeichnung mit einem Buchstaben oder einem Unterstrich beginnt und nur Zeichen enthält, die aus Buchstaben, Ziffern und Unterstrichen bestehen, müssen Sie sie nicht hervorheben. Wenn Ihre Ressourcen-ID jedoch andere Zeichen oder reservierte Schlüsselwörter enthält, müssen Sie die ID (oder den Teil der ID mit den Sonderzeichen oder reservierten Schlüsselwörtern) mit Graviszeichen umschließen. Weitere Informationen finden Sie unter Kennungen.
Befehle ausführen
Fügen Sie globale Flags vor dem Befehl bq ein und fügen Sie dann befehlsspezifische Flags ein. Sie können mehrere globale oder befehlsspezifische Flags verwenden. Beispiel:
bq --location=us mk --reservation --project_id=project reservation_name
Sie können Befehlsargumente auf folgende Arten angeben:
--FLAG ARGUMENT(wie in den vorherigen Beispielen gezeigt)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
Dabei gilt:
FLAG: ein globales oder befehlsspezifisches FlagARGUMENT: das Argument des Flags
Bei einigen Befehlen müssen Argumente in Anführungszeichen gesetzt werden. Wenn Anführungszeichen erforderlich sind, können Sie entweder einfache oder doppelte Anführungszeichen verwenden. Argumente, für die Anführungszeichen erforderlich sind, sind in der Regel Werte, die Leerzeichen, Kommas oder andere Sonderzeichen enthalten. Wenn Ihr Argument eine BigQuery-Ressource enthält, müssen Sie die Regeln für die Angabe von Ressourcennamen in Befehlen beachten.
In diesem Beispiel wird gezeigt, wie Sie eine GoogleSQL-Abfrage in der Befehlszeile ausführen:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Flags mit booleschen Werten können ohne Argument angegeben werden. Wenn Sie true oder false angeben, müssen Sie das Format FLAG=ARGUMENT verwenden.
Der folgende Befehl gibt beispielsweise für das boolesche Flag --use_legacy_sql "false" an, da vor dem Flag no hinzugefügt wird:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Alternativ können Sie, um false als Argument des Flags anzugeben, Folgendes eingeben:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
Befehle in einem Skript ausführen
Sie können das bq-Befehlszeilentool in einem Skript ausführen, so wie Sie einen Google Cloud CLI-Befehl ausführen würden. Das folgende Beispiel zeigt die Befehle gcloud und bq in einem Bash-Skript:
#!/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'
Dienstkonto verwenden
Sie können ein Dienstkonto verwenden, um in Ihrem Namen autorisierte API-Aufrufe auszuführen oder Abfragejobs auszuführen. Autorisieren Sie den Zugriff auf Google Cloud über das Dienstkonto, um ein Dienstkonto im bq-Befehlszeilentool zu verwenden. Weitere Informationen finden Sie unter gcloud auth activate-service-account.
Wenn Sie bq-Befehle mit der Identitätsübertragung für ein Dienstkonto ausführen möchten, führen Sie den folgenden Befehl aus:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos ersetzen.
bq-Befehle, die Sie ausführen, verwenden jetzt die Anmeldedaten des Dienstkontos.
Führen Sie den folgenden Befehl aus, um die Ausführung von bq-Befehlen über ein Dienstkonto zu beenden:
gcloud config unset auth/impersonate_service_account
Standardwerte für Befehlszeilen-Flags festlegen
Sie können Standardwerte für Befehlszeilen-Flags festlegen. Dazu beziehen Sie diese in die Konfigurationsdatei .bigqueryrc des bq-Befehlszeilentools ein. Bevor Sie Ihre Standardoptionen konfigurieren, müssen Sie zuerst eine .bigqueryrc-Datei erstellen. Sie können zum Erstellen der Datei Ihren bevorzugten Texteditor verwenden. Nachdem Sie die Datei .bigqueryrc erstellt haben, können Sie den Pfad zur Datei mit dem globalen Flag --bigqueryrc angeben.
Wenn das Flag --bigqueryrc nicht angegeben ist, wird die Umgebungsvariable BIGQUERYRC verwendet. Wenn diese nicht angegeben ist, wird der Pfad ~/.bigqueryrc verwendet. Der Standardpfad ist $HOME/.bigqueryrc.
Flags zu .bigqueryrc hinzufügen
So fügen Sie .bigqueryrc Standardwerte für Befehlszeilen-Flags hinzu:
- Fügen Sie globale Flags ohne Kopfzeilen am Anfang der Datei ein.
- Geben Sie für befehlsspezifische Flags in Klammern den Befehlsnamen ein und fügen Sie nach dem Befehlsnamen das befehlsspezifische Flag (eines pro Zeile) hinzu.
Beispiel:
--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
Im vorherigen Beispiel werden Standardwerte für die folgenden Flags festgelegt:
- Das globale Flag
--apilogist aufstdoutgesetzt, um die Debugging-Ausgabe in derGoogle Cloud Console auszugeben. - Das globale Flag
--formatist aufprettyjsongesetzt, um die Befehlsausgabe in einem für Menschen lesbaren JSON-Format anzuzeigen. - Das globale Flag
--locationist auf den multiregionalen StandortUSgesetzt. Das
query-befehlsspezifische Flag--use_legacy_sqlwurde auffalsegesetzt, um GoogleSQL als Standardabfragesyntax zu verwenden.Das
query-befehlsspezifische Flag--max_rowswurde auf100gesetzt, um die Anzahl der Zeilen in der Abfrageausgabe zu steuern.Das
query-befehlsspezifische Flag--maximum_bytes_billedwird auf 10.000.000 Byte (10 MB) gesetzt, damit keine Abfragen durchgeführt werden, die mehr als 10 MB Daten lesen.Das
load-befehlsspezifische Flag--destination_kms_keyist aufprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKeygesetzt.
CLI-Hilfe
Mit den folgenden Befehlen können Sie Hilfe zum bq-Befehlszeilentool erhalten:
| Beschreibung | Format des Hilfebefehls | Beispiel |
|---|---|---|
| Installierte Version | bq version |
bq version |
| Liste aller Befehle mit Beispielen | bq help |
bq help |
| Beschreibung der globalen Flags | bq --help |
bq --help |
| Beschreibung eines bestimmten Befehls | bq help COMMAND |
bq help mk |
Fehlerbehebung bei Befehlszeilenbefehlen
- So protokollieren Sie gesendete und empfangene Anfragen:
Fügen Sie das Flag
--apilog=PATH_TO_FILEhinzu, um ein Log der Operationen in einer lokalen Datei zu speichern. Ersetzen SiePATH_TO_FILEdurch den Speicherort, an dem Sie das Log speichern möchten. Das bq-Befehlszeilentool führt standardmäßige REST-basierte API-Aufrufe durch, deren Anzeige bei der Fehlerbehebung nützlich sein kann. Es ist auch hilfreich, wenn Sie beim Melden von Problemen an den Cloud Customer Care dieses Log als Anhang hinzufügen.Wenn Sie anstelle eines Pfads
-oderstdoutverwenden, wird das Log in der Google Cloud Console ausgegeben. Wenn Sie--apilogaufstderrsetzen, erfolgt die Ausgabe in die Standardfehlerdatei. Verwenden Sie das Flag--httplib2_debuglevel=LOG_LEVEL, um mehr Anfragen zu protokollieren. Bei einem höherenLOG_LEVELwerden mehr Informationen zu den HTTP-Anfragen protokolliert.- So beheben Sie Fehler:
Geben Sie das Flag
--format=prettyjsonein, wenn Sie den Jobstatus abrufen oder sich detaillierte Informationen zu Ressourcen wie Tabellen und Datasets anzeigen lassen möchten. Mit diesem Flag wird die Antwort im JSON-Format einschließlich des Attributsreasonausgegeben. Mit dem Attributreasonkönnen Sie Fehlermeldungen suchen.Weitere Informationen zu Fehlern, die beim Ausführen eines Befehls auftreten, erhalten Sie mit dem Flag
--debug_mode.
Globale Flags
Sie können, falls zutreffend, die mit jedem bq-Befehl die folgenden Flags verwenden:
--api=ENDPOINT- Gibt den API-Endpunkt an, der aufgerufen werden soll. Der Standardwert ist
https://www.googleapis.com. --api_version=VERSION- Gibt die zu verwendende API-Version an. Der Standardwert ist
v2. --apilog=FILELoggt alle API-Anfragen und -Antworten in der von
FILEangegebenen Datei. Folgende Werte sind möglich:- Der Pfad zu einer Datei – Logs werden in der angegebene Datei erfasst
stdout: API-Anfragen und -Antworten werden in der Standardausgabe geloggtstderr: API-Anfragen und -Antworten werden im Standardfehler geloggtfalse: API-Anfragen und -Antworten werden nicht geloggt (Standard)
--use_google_auth={true|false}Wenn auf
truefestgelegt, wird die Authentifizierung mit Google Auth-Bibliotheken aktiviert. Der Standardwert isttrue.--bigqueryrc=PATHGibt den Pfad zur Konfigurationsdatei des bq-Befehlszeilentools an. Wenn Sie das Flag
--bigqueryrcnicht angeben, verwendet der Befehl die UmgebungsvariableBIGQUERYRC. Wenn die Umgebungsvariable nicht festgelegt ist, wird$HOME/.bigqueryrcverwendet. Wenn diese Datei nicht vorhanden ist, wird~/.bigqueryrcverwendet. Weitere Informationen finden Sie unter Standardwerte für Befehlszeilen-Flags festlegen.--ca_certificates_file=PATHGibt den Speicherort der CA-Datei (Certificate Authority Service) an.
--dataset_id=DATASET_IDGibt das Standard-Dataset an, das mit dem Befehl verwendet werden soll. Dieses Flag wird ignoriert, wenn es nicht anwendbar ist. Sie können das Argument
DATASET_IDim FormatPROJECT:DATASEToderDATASETangeben. Wenn der TeilPROJECTfehlt, wird das Standardprojekt verwendet. Sie können die Standardprojekteinstellung durch Angabe des Flags--project_idüberschreiben.--debug_mode={true|false}Wenn auf
truefestgelegt, werden Tracebacks für Python-Ausnahmen angezeigt. Der Standardwert istfalse.--disable_ssl_validation={true|false}Wenn auf
truefestgelegt, wird die HTTPS-Zertifikatsprüfung aktiviert. Der Standardwert istfalse.--discovery_file=PATHGibt die JSON-Datei an, die für die Erkennung gelesen werden soll.
--enable_gdrive={true|false}Wenn auf
falsefestgelegt, wird ein neues OAuth-Token ohne Google Drive-Bereich angefordert. Der Standardwert isttrue, mit dem ein neues OAuth-Token mit dem Drive-Bereich angefordert wird. Wenn Sie dieses Flag bei der Authentifizierung mit einem Nutzerkonto auffalsesetzen möchten, muss das Flag--use_google_authauffalsegesetzt sein.--fingerprint_job_id={true|false}Wenn Sie eine Job-ID verwenden möchten, die von einem Fingerabdruck der Jobkonfiguration abgeleitet wird, legen Sie
truefest. Dadurch wird verhindert, dass derselbe Job versehentlich mehrmals ausgeführt wird. Der Standardwert istfalse.--format=FORMATGibt das Format der Ausgabe des Befehls an. Verwenden Sie einen der folgenden Werte:
pretty: Formatierte Tabellenausgabesparse: Einfachere Tabellenausgabeprettyjson: Leicht lesbares JSON-Formatjson: Maximal komprimiertes JSONcsv: CSV-Format mit Header
pretty,sparseundprettyjsonsind für Menschen lesbar.jsonundcsvsind für die Verwendung durch ein anderes Programm vorgesehen. Wennnoneangegeben ist, erzeugt der Befehl keine Ausgabe. Wenn das Flag--formatfehlt, wird basierend auf dem Befehl ein geeignetes Ausgabeformat ausgewählt.--headless={true|false}Legen Sie
truefest, um diebq-Sitzung ohne Nutzerinteraktion auszuführen. So wird beispielsweise der Debugger durchdebug_modenicht unterbrochen, und die Häufigkeit des Informationsdrucks verringert sich. Der Standardwert istfalse.--httplib2_debuglevel=DEBUG_LEVELGibt an, ob HTTP-Informationen zur Fehlerbehebung angezeigt werden sollen. Wenn
DEBUG_LEVELgrößer als0ist, loggt der Befehl zusätzlich zu Fehlermeldungen HTTP-Serveranfragen und -Antworten an stderr. WennDEBUG_LEVELnicht > 0 ist oder wenn das Flag--httplib2_debuglevelnicht verwendet wird, werden nur Fehlermeldungen angezeigt.Beispiel:
--httplib2_debuglevel=1
--job_id=JOB_IDGibt eine Jobkennung für einen neuen Job an. Dieses Flag gilt nur für Befehle, die Jobs erstellen:
cp,extract,loadundquery. Wenn Sie das Flag--job_idnicht verwenden, generieren die Befehle eine eindeutige Jobkennung. Weitere Informationen finden Sie unter Jobs programmatisch ausführen.--job_property=KEY:VALUEEin Schlüssel/Wert-Paar, das in das Feld für Attribute in der Jobkonfiguration aufgenommen werden soll. Definieren Sie dieses Flag wiederholt, um weitere Attribute anzugeben.
--location=LOCATIONEin String, der Ihrer Region oder Ihrem multiregionalen Standort entspricht. Für den Befehl
bq cancelund den Befehlbq showist das Standort-Flag erforderlich, wenn Sie das Flag--jobszum Abrufen von Jobinformationen verwenden. Für die folgenden Befehle ist das Standort-Flag optional:querycploadextractpartitionupdatewaitmk, wenn Sie die Flags--dataset,--reservation,--capacity_commitmentoder--reservation_assignmentverwendenls, wenn Sie die Flags--reservation,--capacity_commitmentoder--reservation_assignmentverwenden
Alle anderen Befehle ignorieren das Flag
--location.--max_rows_per_request=MAX_ROWSEine Ganzzahl, die die maximale Anzahl von Zeilen angibt, die pro Lesevorgang zurückgegeben werden.
--project_id=PROJECTGibt das Projekt an, das für Befehle verwendet werden soll.
--proxy_address=PROXYGibt den Namen oder die IP-Adresse des Proxyhosts an, der für die Verbindung mit Google Cloudverwendet werden soll.
--proxy_password=PASSWORDGibt das Passwort an, das zur Authentifizierung beim Proxyhost verwendet werden soll.
--proxy_port=PORTGibt die Portnummer zum Herstellen der Verbindung mit dem Proxyhost an.
--proxy_username=USERNAMEGibt den Nutzernamen für die Authentifizierung beim Proxyhost an.
--quiet={true|false}oder-q={true|false}Legen Sie
truefest, um Statusaktualisierungen während der Ausführung von Jobs zu unterdrücken. Der Standardwert istfalse.--synchronous_mode={true|false}oder-sync={true|false}Legen Sie
falsefest, um den Job zu erstellen und sofort einen erfolgreichen Abschlussstatus als Fehlercode zurückzugeben. Wenn dieses Flag auftruefestgelegt ist, wartet der Befehl mit der Rückgabe, bis der Job abgeschlossen ist, und gibt den Abschlussstatus des Jobs als Fehlercode zurück. Der Standardwert isttrue.--trace=token:TOKENGibt ein Tracing-Token zur Einbindung in API-Anfragen an.
--use_regional_endpoints={true|false}In der Vorschau. Wenn Sie eine Verbindung zu einem regionalen Endpunkt herstellen möchten, setzen Sie das Flag
--use_regional_endpointsauftrueund das Flag--locationauf die Region, mit der Sie eine Verbindung herstellen möchten. Der Standardwert istfalse.
Verworfene globale Flags
Das folgende globale Flag zum Angeben von Flags für das bq-Befehlszeilentool aus einer Datei wird verworfen. Verwenden Sie das Flag --bigqueryrc, um Flags aus einer Datei anzugeben.
--flagfile=PATH
Wenn angegeben, werden Flag-Definitionen aus der übermittelten Datei in das bq-Befehlszeilentool eingefügt. Der Standardwert ist ''. Weitere Informationen finden Sie unter
Standardwerte für Befehlszeilen-Flags festlegen.
Befehle
In den folgenden Abschnitten werden die Befehle des bq-Befehlszeilentools sowie deren befehlsspezifischen Flags und Argumente beschrieben.
bq add-iam-policy-binding
Rufen Sie mit dem Befehl bq add-iam-policy-binding die IAM-Richtlinie (Identity and Access Management) für eine Tabelle oder Ansicht ab und fügen Sie der Richtlinie in einem Schritt eine Bindung hinzu.
Dieser Befehl ist eine Alternative zum folgenden dreistufigen Prozess:
- Mit dem Befehl
bq get-iam-policydie Richtliniendatei abrufen (im JSON-Format). - Richtliniendatei bearbeiten.
- Mit dem Befehl
bq set-iam-policydie Richtlinie mit einer neuen Bindung aktualisieren.
Zusammenfassung
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
Beispiel
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
Flags und Argumente
Der Befehl bq add-iam-policy-binding verwendet die folgenden Flags und Argumente:
--member=MEMBER_TYPE:MEMBERErforderlich. Verwenden Sie das Flag
--member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag--memberist zusammen mit dem Flag--roleerforderlich. Eine Kombination aus--member- und--role-Flags entspricht einer Bindung.Der Wert
MEMBER_TYPEgibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:userserviceAccountgroupdomain
Der Wert
MEMBERgibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.--role=ROLEErforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag
--roleist zusammen mit dem Flag--membererforderlich. Eine Kombination aus--member- und--role-Flags entspricht einer Bindung.--table={true|false}Wenn Sie einen Fehler zurückgeben möchten, wenn das Argument
RESOURCEkeine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag--tableauftrue. Der Standardwert istfalse. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.RESOURCEDie Tabelle oder Ansicht, deren Richtlinie Sie etwas hinzufügen möchten.
Weitere Informationen finden Sie in der IAM-Richtlinienreferenz.
bq cancel
Verwenden Sie den Befehl bq cancel, um BigQuery-Jobs abzubrechen.
Zusammenfassung
bq [--synchronous_mode=false] cancel JOB_ID
Beispiele
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
Flags und Argumente
Der Befehl bq cancel verwendet die folgenden Flags und Argumente:
--synchronous_mode=false- Wenn Sie nicht warten möchten, bis der Befehl
bq cancelausgeführt wurde, legen Sie das globale Flag--synchronous_modeauffalsefest. Die Standardeinstellung isttrue. JOB_ID- Der Job, den Sie abbrechen möchten.
Weitere Informationen zur Verwendung des Befehls bq cancel finden Sie unter Jobs verwalten.
bq cp
Verwenden Sie den bq cp-Befehl für die folgenden Aufgaben:
- Erstellen Sie eine Kopie einer Tabelle, eines Tabellenklons oder eines Tabellen-Snapshots.
- Einen Tabellenklon erstellen.
- Einen Tabellen-Snapshot erstellen.
Zusammenfassung
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
Beispiel
bq cp myDataset.myTable myDataset.myTableCopy
Flags und Argumente
Der Befehl bq cp verwendet die folgenden Flags und Argumente:
--append_table={true|false}oder-a={true|false}Um eine Tabelle an eine vorhandene Tabelle anzuhängen, legen Sie
truefest. Der Standardwert istfalse.Sie können die Flag-Einstellungen
--append_table=trueund--clone=truenicht gleichzeitig verwenden.--clone={true|false}Zum Erstellen eines Tabellenklons legen Sie
truefest. Die Basistabelle kann eine Tabelle, ein Tabellenklon oder ein Tabellen-Snapshot sein. Die Zieltabelle ist ein Tabellenklon. Der Standardwert istfalse. Wenn weder--clone=truenoch--snapshot=trueangegeben ist, ist die Zieltabelle derselbe Tabellentyp wie die Basistabelle. Erfordert das Flag--no_clobber.Sie können die Flag-Einstellungen
--append_table=trueund--clone=truenicht gleichzeitig verwenden.--destination_kms_key=KEYGibt eine Cloud KMS-Schlüsselressourcen-ID an, um die Zieltabellendaten zu verschlüsseln.
Beispiel:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSDie Anzahl der Sekunden, bis ein Tabellen-Snapshot abläuft. Wenn nichts angegeben ist, wird die Ablaufzeit des Tabellen-Snapshots auf die Standardablaufzeit des Datasets festgelegt, das den neuen Tabellen-Snapshot enthält. Wird mit dem Flag
--snapshotverwendet.--force={true|false}oder-f={true|false}Wenn Sie die Zieltabelle, falls sie vorhanden ist, ohne Eingabeaufforderung überschreiben möchten, legen Sie
truefest. Der Standardwert istfalse; wenn die Zieltabelle vorhanden ist, fordert der Befehl vor dem Überschreiben eine Bestätigung an.--no_clobber={true|false}oder-n={true|false}Wenn die Zieltabelle nicht vorhanden sein soll, falls sie vorhanden ist, legen Sie dafür
truefest. Der Standardwert istfalse; wenn die Zieltabelle vorhanden ist, wird sie überschrieben.--restore={true|false}Dieses Flag wird verworfen. Verwenden Sie den Befehl
bq cpoderbq cp --clone, um eine schreibende Tabelle aus einem Tabellen-Snapshot zu erstellen.--snapshot={true|false}Legen Sie einen
true-Wert fest, um einen Tabellen-Snapshot der Tabelle zu erstellen, die im ArgumentSOURCE_TABLEangegeben ist. Die Basistabelle kann eine Standardtabelle, ein Tabellenklon oder ein anderer Tabellen-Snapshot sein. Der Standardwert istfalse. Wenn weder--clone=truenoch--snapshot=trueangegeben ist, ist die Zieltabelle derselbe Tabellentyp wie die Basistabelle. Erfordert das Flag--no_clobber.SOURCE_TABLEDie Tabelle, die Sie kopieren möchten.
DESTINATION_TABLEDie Tabelle, in die Sie kopieren möchten.
Weitere Informationen zur Verwendung des Befehls cp finden Sie hier:
- Tabelle kopieren
- Tabellenklone erstellen
- Tabellen-Snapshots erstellen
- Tabellen-Snapshots wiederherstellen.
bq extract
Verwenden Sie den Befehl bq extract, um Tabellendaten in Cloud Storage zu exportieren.
Zusammenfassung
bq extract [FLAGS] RESOURCE DESTINATION
Beispiele
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
Flags und Argumente
Der Befehl bq extract verwendet die folgenden Flags und Argumente:
--compression=COMPRESSION_TYPEGibt den Komprimierungstyp an, der für exportierte Dateien verwendet werden soll. Folgende Werte sind möglich:
GZIPDEFLATESNAPPYNONE
Der Standardwert ist
NONE.Informationen dazu, welche Formate für die einzelnen Komprimierungstypen unterstützt werden, finden Sie unter Formate und Komprimierungstypen.
--destination_format=FORMATGibt das Format für die exportierten Daten an. Folgende Werte sind möglich:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
Der Standardwert ist
CSV.--field_delimiter=DELIMITERGibt für CSV-Exporte das Zeichen an, das die Begrenzung zwischen den Spalten in der Ausgabedatei kennzeichnet. Das Trennzeichen kann ein beliebiges ISO-8859-1-Einzelbytezeichen sein. Sie können
\todertabverwenden, um Tabulatortrennzeichen anzugeben.--print_header={true|false}Wenn Sie das Drucken von Kopfzeilen für Formate mit Headern unterdrücken möchten, legen Sie
falsefest. Der Standardwert isttrue; Headerzeilen sind enthalten.RESOURCEDie Tabelle, aus der Sie exportieren.
DESTINATIONDer Speicherort, an den die exportierten Daten gesendet werden.
Weitere Informationen zur Verwendung des Befehls bq extract finden Sie unter Tabellendaten exportieren.
bq get-iam-policy
Rufen Sie mit dem Befehl bq get-iam-policy die IAM-Richtlinie für eine Ressource ab und geben Sie sie in stdout aus. Die Ressource kann eine Tabelle, eine Ansicht oder eine Slot-Reservierung sein.
Die Richtlinie hat das JSON-Format.
Zusammenfassung
bq get-iam-policy [FLAGS] RESOURCE
Beispiele
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
Flags und Argumente
Der Befehl bq get-iam-policy verwendet die folgenden Flags und Argumente:
--table={true|false}oder--t={true|false}- Wenn Sie einen Fehler zurückgeben möchten, wenn
RESOURCEkeine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag--tableauftrue. Der Standardwert istfalse. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt. --reservation={true|false}- Wenn Sie die IAM-Richtlinie einer Reservierung abrufen möchten, legen Sie
true(Vorabversion) fest. Der Standardwert istfalse. Wenn dieses Flag verwendet wird, wirdRESOURCEals Reservierungs-ID behandelt. Die Reservierung kann optionale Projekt- und Standortpräfixe haben:myProject:myLocation.myReservation. RESOURCE- Die Tabelle oder Ansicht, deren Richtlinie Sie abrufen möchten.
Weitere Informationen zum bq get-iam-policy-Befehl finden Sie unter Zugriff auf Ressourcen mit IAM steuern.
bq head
Verwenden Sie den Befehl bq head, um die angegebenen Zeilen und Spalten einer Tabelle aufzurufen.
Standardmäßig werden alle Spalten der ersten 100 Zeilen angezeigt.
Zusammenfassung
bq head [FLAGS] [TABLE]
Beispiel
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
Flags und Argumente
Der Befehl bq head verwendet die folgenden Flags und Argumente:
--job=JOB or -j=JOB- Um die Ergebnisse eines Abfragejobs zu lesen, geben Sie dieses Flag mit einer gültigen Job-ID an.
--max_rows=MAX or -n=MAX- Eine Ganzzahl, die beim Anzeigen von Tabellendaten die maximale Anzahl von auszugebenden Zeilen angibt. Der Standardwert ist
100. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES- Eine durch Kommas getrennte Liste, die eine Teilmenge von Feldern (einschließlich verschachtelter und wiederkehrender Felder) angibt, die beim Abrufen von Tabellendaten zurückgegeben werden. Wenn dieses Flag nicht angegeben ist, werden alle Spalten zurückgegeben.
--start_row=START_ROW or -s=START_ROW- Eine Ganzzahl, die die Anzahl der zu überspringenden Zeilen angibt, bevor Tabellendaten angezeigt werden. Der Standardwert ist
0; die Tabellendaten beginnen bei der ersten Zeile. --table={true|false}oder-t={true|false}- Wenn Sie einen Fehler zurückgeben möchten, wenn das Befehlsargument keine Tabelle oder Ansicht ist, legen Sie
truefest. Der Standardwert istfalse. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt. TABLE- Die Tabelle, deren Daten Sie abrufen möchten.
Weitere Informationen zur Verwendung des Befehls bq head finden Sie unter Tabellendaten verwalten.
bq help
Verwenden Sie den Befehl bq help, um die Dokumentation zum bq-Befehlszeilentool im Tool anzuzeigen.
Zusammenfassung
bq help [COMMAND]
Flags und Argumente
Der Befehl bq help verwendet die folgenden Flags und Argumente:
COMMAND- Gibt einen bestimmten Befehl des bq-Befehlszeilentools an, mit dem Sie Hilfe abrufen möchten.
bq insert
Verwenden Sie den Befehl bq insert, um Zeilen mit durch Zeilenumbruch getrennten JSON-formatierten Daten aus einer Datei mithilfe des Streaming-Zwischenpeichers einzufügen. Datentypen werden so konvertiert, dass sie den Spaltentypen der Zieltabelle entsprechen. Dieser Befehl ist nur für Testzwecke vorgesehen. Zum Streamen von Daten in BigQuery verwenden Sie die API-Methode insertAll.
Zusammenfassung
bq insert [FLAGS] TABLE FILE
Beispiele
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
Flags und Argumente
Der Befehl bq insert verwendet die folgenden Flags und Argumente:
--ignore_unknown_values={true|false}oder-i={true|false}- Wenn
truefestgelegt ist, ignoriert BigQuery alle Schlüssel/Wert-Paare, die nicht mit dem Schema der Tabelle übereinstimmen, und fügt die Zeile mit den Daten ein, die mit dem Schema übereinstimmen. Wenn der Wert auffalsegesetzt ist, werden Zeilen mit Daten, die nicht mit dem Schema der Tabelle übereinstimmen, nicht eingefügt. Der Standardwert istfalse. --skip_invalid_rows={true|false}oder-s={true|false}- Wenn
truefestgelegt ist, versucht BigQuery, gültige Zeilen einzufügen, auch wenn ungültige Zeilen vorhanden sind. Wennfalsefestgelegt ist, schlägt der Befehl fehl, wenn ungültige Zeilen vorhanden sind. Der Standardwert istfalse. --template_suffix=SUFFIX or -x=SUFFIX- Wenn dieses Flag angegeben ist, wird die Zieltabelle TABLE als Basisvorlage behandelt und die Zeilen werden in eine Instanztabelle mit dem Namen
{destination}{templateSuffix}eingefügt. BigQuery erstellt die Instanztabelle mithilfe des Schemas der Basisvorlage. TABLE- Die Tabelle, in die Sie Daten einfügen möchten.
FILE- Die Datei mit den Daten, die Sie einfügen möchten.
Weitere Informationen zur Verwendung des Befehls bq insert finden Sie unter Daten in BigQuery streamen.
bq load
Verwenden Sie den Befehl bq load, um Daten in eine Tabelle zu laden.
Zusammenfassung
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
Beispiel
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
Flags und Argumente
Der Befehl bq load verwendet die folgenden Flags und Argumente:
--allow_jagged_rows={true|false}- Um das Fehlen von nachgestellten optionalen Spalten in CSV-Daten zuzulassen, legen Sie
truefest. --preserve_ascii_control_characters={true|false}- Um eingebettete ASCII-Steuerzeichen in CSV-Daten zuzulassen, legen Sie auf
truefest. --allow_quoted_newlines={true|false}- Um Zeilenumbrüche in CSV-Daten in Anführungszeichen zuzulassen, legen Sie
truefest. --autodetect={true|false}- Um die automatische Schemaerkennung für CSV- und JSON-Daten zu aktivieren, legen Sie
truefest. Die Standardeinstellung istfalse. Wenn--autodetectden Wertfalsehat und mit dem Flag--schemakein Schema angegeben wurde und die Zieltabelle vorhanden ist, wird das Schema der Zieltabelle verwendet. --clustering_fields=COLUMNS- Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder für das Tabellen-Clustering angibt.
--column_name_character_map=SCOPE- Definiert den Bereich und die Behandlung von Zeichen in Spaltennamen. Optional können Sie flexible Spaltennamen aktivieren.
Erfordert die Option
--autodetectfür CSV-Dateien. Eine Liste der möglichen Werte finden Sie unterload_option_list. --destination_kms_key=KEY- Gibt eine Schlüsselressourcen-ID für Cloud KMS zum Verschlüsseln der Zieltabellendaten an.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE- Die in den Daten verwendete Zeichencodierung. Verwenden Sie einen der folgenden Werte:
ISO-8859-1(auch bekannt als Latin-1)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER- Gibt das Zeichen an, das die Begrenzung zwischen Spalten in den Daten kennzeichnet.
Das Trennzeichen kann ein beliebiges ISO-8859-1-Einzelbytezeichen sein. Sie können entweder
\todertabverwenden, um Tabulatortrennzeichen anzugeben. --ignore_unknown_values={true|false}- Wenn dieses Flag für CSV- und JSON-Dateien auf
truefestgelegt ist, werden Zeilen mit zusätzlichen Spaltenwerten, die nicht dem Tabellenschema entsprechen, geladen, die zusätzlichen Spalten jedoch ignoriert. Wenn dieses Flag für Avro-, Parquet- und ORC-Dateien auftruefestgelegt ist, werden Felder im Dateischema, die im Tabellenschema nicht vorhanden sind, ignoriert und nicht geladen. --json_extension=JSON_TYPEGibt den Typ der zu ladenden JSON-Datei an. Gilt nur für JSON-Dateien. Folgende Werte sind möglich:
GEOJSON: durch Zeilenumbruch getrennte GeoJSON-Datei
Wenn Sie dieses Flag verwenden möchten, muss das Flag
--source_formataufNEWLINE_DELIMITED_JSONgesetzt sein.Weitere Informationen finden Sie unter Durch Zeilenumbruch getrennte GeoJSON-Dateien laden.
--max_bad_records=MAXEine Ganzzahl, die die Höchstzahl ungültiger Datensätze angibt, bevor der gesamte Job fehlschlägt. Der Standardwert ist
0. Es werden höchstens fünf Fehler pro Typ zurückgegeben, unabhängig vom Wert--max_bad_records. Dieses Flag gilt nur für das Laden von CSV-, JSON- und Google Sheets-Daten.--null_marker=STRINGEin optionaler benutzerdefinierter String, der einen
NULL-Wert in CSV-Daten darstellt.--projection_fields=PROPERTY_NAMESWenn Sie
--source_formataufDATASTORE_BACKUPsetzen, gibt dieses Flag an, welche Entitätsattribute aus einem Datastore-Export geladen werden sollen. Geben Sie die Attributnamen in einer durch Kommas getrennten Liste an. Bei Attributnamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen sich auf Attribute der obersten Ebene beziehen. Sie können dieses Flag auch für Firestore-Exporte verwenden.--quote=CHARACTERGibt ein Anführungszeichen zum Hervorheben von Feldern in CSV-Daten an. Das Argument
CHARACTERkann ein beliebiges Ein-Byte-Zeichen sein. Der Standardwert ist ein doppeltes Anführungszeichen ("). Wenn Sie angeben möchten, dass kein Anführungszeichen vorhanden ist, verwenden Sie den leeren String"".--replace={true|false}Legen Sie
truefest, um vorhandene Daten und Schemas zu löschen, wenn neue Daten geladen werden. Cloud KMS-Schlüssel werden ebenfalls entfernt, wenn Sie nicht das Flag--destination_kms_keyangeben. Der Standardwert istfalse.Entspricht dem
WRITE_TRUNCATE-Wert fürJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format
FIELD:DATA_TYPE, FIELD:DATA_TYPEan. Wenn Sie eine Schemadatei verwenden, fügen Sie dem Dateinamen keine Erweiterung hinzu.Beispiel:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
Wenn kein Schema angegeben ist,
--autodetectden Wertfalsehat und die Zieltabelle vorhanden ist, wird das Schema der Zieltabelle verwendet.--schema_update_option=OPTIONGibt beim Anfügen von Daten an eine Tabelle (in einem Ladejob oder einem Abfragejob) oder beim Überschreiben einer Tabellenpartition an, wie das Schema der Zieltabelle aktualisiert wird. Verwenden Sie einen der folgenden Werte:
ALLOW_FIELD_ADDITION: Ermöglicht das Einfügen neuer Felder zur SchemadefinitionALLOW_FIELD_RELAXATION: Ermöglicht das Ändern vonREQUIRED-Feldern inNULLABLE
Wiederholen Sie dieses Flag, wenn Sie mehrere Optionen für die Schemaaktualisierung angeben möchten.
--skip_leading_rows=NUMBER_OF_ROWSEine Ganzzahl, die die Anzahl der zu überspringenden Zeilen am Anfang der Quelldatei angibt. Der Standardwert ist
0.--file_set_spec_type=FILE_SET_SPEC_TYPEGibt an, wie Quell-URIs interpretiert werden.
FILE_SYSTEM_MATCH: Maximiert die Quell-URIs, indem Dateien aus dem Objektspeicher aufgelistet werden. Dies ist das Standardverhalten, wenn FileSetSpecType nicht festgelegt ist.NEW_LINE_DELIMITED_MANIFEST: Gibt an, dass die angegebenen URIs Manifestdateien mit Zeilenumbruch mit einem URI pro Zeile sind. Platzhalter-URIs werden in den Manifestdateien nicht unterstützt und alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.
Wenn Sie beispielsweise den Quell-URI
"gs://bucket/path/file"haben undfile_set_spec_typeden WertFILE_SYSTEM_MATCHhat, wird die Datei direkt als Datendatei verwendet. Wennfile_set_spec_typeden WertNEW_LINE_DELIMITED_MANIFESThat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.--source_format=FORMATDas Format der Quelldaten. Verwenden Sie einen der folgenden Werte:
CSVNEWLINE_DELIMITED_JSONAVRODATASTORE_BACKUP(diesen Wert für Filestore verwenden)PARQUETORC
--time_partitioning_expiration=SECONDSEine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.
--time_partitioning_field=COLUMN_NAMEGibt das Feld an, das bestimmt, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.
--time_partitioning_type=INTERVALAktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:
DAYHOURMONTHYEAR
Der Standardpartitionstyp für die zeitbasierte Partitionierung ist
DAY.--use_avro_logical_types={true|false}Wenn das Flag
--source_formataufAVROgesetzt ist, legen Sie dieses Flag auftruefest, um logische Typen in die entsprechenden Typen wieTIMESTAMPzu konvertieren, anstatt nur deren Rohtypen (z. B.INTEGER) zu verwenden.--decimal_target_types=DECIMAL_TYPEBestimmt, wie ein logischer
Decimal-Typ konvertiert wird. EntsprichtJobConfigurationLoad.decimalTargetTypes. Wiederholen Sie dieses Flag, um mehrere Zieltypen anzugeben.--parquet_enum_as_string={true|false}Wenn das Flag
--source_formataufPARQUETfestgelegt ist und BigQuery die logischen Typen vonENUM-Parquet alsSTRING-Werte ableiten soll, setzen Sie dieses Flag auftrue. Der Standardwert istfalse.--parquet_enable_list_inference={true|false}Wenn das Flag
--source_formataufPARQUETfestgelegt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LISTverwendet werden sollen.--reference_file_schema_uri=URIGibt den Pfad zu einer Referenzdatei mit dem erwarteten Tabellenschema zum Erstellen externer Tabellen an. Entspricht
ExternalDataConfiguration.referenceFileSchemaUri. Dieses Flag ist für die Formate Avro, ORC und PARQUET aktiviert.DESTINATION_TABLEDie Tabelle, in die Sie Daten laden möchten.
SOURCE_DATADer Cloud Storage-URI der Datei mit den Daten, die Sie laden möchten.
SCHEMADas Schema für die Zieltabelle.
Weitere Informationen zum Laden von Daten aus Cloud Storage mit dem Befehl bq load finden Sie hier:
- Avro-Daten laden
- CSV-Daten laden
- JSON-Daten laden
- ORC-Daten laden
- Parquet-Daten laden
- Daten aus Datastore-Exporten laden
- Daten aus Firestore-Exporten laden
Weitere Informationen zum Laden von Daten aus einer lokalen Quelle mit dem Befehl bq load finden Sie unter:
bq ls
Verwenden Sie den Befehl bq ls, um Objekte in einer Sammlung aufzulisten.
Zusammenfassung
bq ls [FLAGS] [RESOURCE]
Beispiel
bq ls myDataset
Flags und Argumente
Der Befehl bq ls verwendet die folgenden Flags und Argumente:
--all={true|false}oder-a={true|false}- Wenn alle Ergebnisse angezeigt werden sollen, legen Sie
truefest. Zeigt Jobs von allen Nutzern oder allen Datasets an, auch ausgeblendete Nutzer und Datasets. Dieses Flag wird nicht benötigt, wenn Übertragungskonfigurationen oder Übertragungsausführungen aufgelistet werden. Der Standardwert istfalse. --capacity_commitment={true|false}Legen Sie zum Auflisten der Kapazitätszusicherungen den Wert
truefest und geben Sie den Standort mit dem Flag--locationan. Weitere Informationen finden Sie unter Erworbene Zusicherungen ansehen.Beispiel:
bq ls --capacity_commitment=true --location='us'--datasets={true|false}oder-d={true|false}Zum Auflisten von Datasets setzen Sie das Feld auf
true. Der Standardwert istfalse.--filter="FILTER"Filtert die aufgeführten Ressourcen, sodass sie dem Argument
FILTERentsprechen.Bei Datasets besteht
FILTERaus einem oder mehreren durch Leerzeichen getrennten Tripeln im Formatlabels.KEY:VALUE. Wenn mehr als ein Tripel angegeben wird, gibt der Befehl nur Datasets zurück, die mit allen Tripeln übereinstimmen (d. h., der Befehl verwendet den logischen OperatorAND, nichtOR). Wenn Sie mehr als ein Tripel angeben möchten, dann setzen Sie den WertFILTERin Anführungszeichen.Verwenden Sie zum Filtern basierend auf Dataset-Labels die Schlüssel und Werte, die Sie auf Ihre Datasets angewendet haben.
Beispiel:
--filter "labels.department:marketing labels.team:sales"
Verwenden Sie für Übertragungskonfigurationen
dataSourceIdsals Schlüssel und eine der folgenden Datenquellen als Wert:
amazon_s3– Amazon S3-Datenübertragungazure_blob_storage– Azure Blob Storage-Datenübertragungdcm_dt– Campaign Manager-Datenübertragunggoogle_cloud_storage– Cloud Storage-Datenübertragungcross_region_copy– Dataset-Kopiedfp_dt- Google Ad Manager-Datenübertragungdisplayvideo– Display & Video 360-Datenübertragunggoogle_ads– Google Ads-Datenübertragungmerchant_center– Google Merchant Center-Datenübertragungmysql– MySQL-Datenübertragungplay– Google Play-Datenübertragungscheduled_query– Datenübertragung geplanter Abfragensearch_ads– Search Ads 360-Datenübertragungyoutube_channel– YouTube-Kanal-Datenübertragungyoutube_content_owner– Datenübertragung für YouTube-Rechteinhaberredshift– Amazon Redshift-Migrationon_premises– Teradata-Migration
Beispiel:
--filter labels.dataSourceIds:dcm_dt
Verwenden Sie für Übertragungsausführungen states als Schlüssel und einen oder mehrere der folgenden Übertragungsstatus als Wert:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
Beispiel:
--filter="states:FAILED"
Verwenden Sie für Jobs states als Schlüssel und einen oder mehrere der folgenden Jobstatus als Wert:
RUNNINGPENDINGDONE
Beispiel:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
--jobs={true|false}oder-j={true|false}- Wenn Sie Jobs auflisten möchten, legen Sie dieses Flag auf
truefest. Der Standardwert istfalse. Es gilt standardmäßig ein Limit von 100.000 Ergebnissen. --max_creation_time=MAX_CREATION_TIME_MS- Eine Ganzzahl, die einen Unix-Epochenzeitstempel in Millisekunden darstellt.
Bei Angabe mit dem Flag
--jobslistet dieses Flag nur die Jobs auf, die vor dem Zeitstempel erstellt wurden. --max_results=MAX_RESULTS or -n=MAX_RESULTS- Eine Ganzzahl, die die maximale Anzahl von Ergebnissen angibt. Der Standardwert ist 50 und der Höchstwert 1.000. Wenn Sie mehr als 1.000 Jobs haben, können Sie das Flag
page_tokenverwenden, um alle Jobs mit Paginierung aufzulisten. - --
min_creation_time=MIN_CREATION_TIME_MS - Eine Ganzzahl, die einen Unix-Epochenzeitstempel in Millisekunden darstellt. Bei Angabe mit dem Flag
--jobslistet dieses Flag nur die Jobs auf, die nach dem Zeitstempel erstellt wurden. --message_type=messageTypes:MESSAGE_TYPEUm nur Logmeldungen für Übertragungsjobs eines bestimmten Typs aufzulisten, geben Sie
messageTypes:MESSAGE_TYPEan. Folgende Werte sind möglich:INFOWARNINGERROR
--models={true|false}oder-m={true|false}Legen Sie
truefest, um BigQuery ML-Modelle aufzulisten. Der Standardwert istfalse.--page_token=TOKENoder-k=TOKENListet Elemente ab dem angegebenen Seitentoken auf.
--projects={true|false}oder-p={true|false}Legen Sie
truefest, um alle Projekte anzeigen zu lassen. Der Standardwert istfalse.--reservation={true|false}Um alle Reservierungen für ein bestimmtes Projekt und einen bestimmten Standort aufzulisten, setzen Sie den Wert
true. Der Standardwert istfalse. Verwenden Sie ihn mit den Flags--project_idund--location.Beispiel:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}Legen Sie
truefest, um alle Reservierungszuweisungen für ein bestimmtes Projekt und einen Standort aufzulisten. Der Standardwert istfalse. Wird mit den Flags--project_idund--locationverwendet.--routines={true|false}Legen Sie
truefest, um alle Abläufe im angegebenen Dataset aufzulisten. Der Standardwert istfalse. Zu den Abläufen gehören nichtflüchtige benutzerdefinierte Funktionen, Tabellenfunktionen (Vorschau) und gespeicherte Prozeduren.--row_access_policiesListet alle Zugriffsrichtlinien auf Zeilenebene für eine Tabelle auf. Zugriffsrichtlinien auf Zeilenebene werden für die Sicherheit auf Zeilenebene verwendet. Sie müssen den Tabellennamen im Format
dataset.tableangeben.--run_attempt=RUN_ATTEMPTWird mit dem Flag
--transfer_runverwendet. Legen SieRUN_ATTEMPT_UNSPECIFIEDfest, um alle Ausführungsversuche für die angegebene Übertragungsausführung aufzulisten. Legen SieLATESTfest, um nur den letzten Ausführungsversuch aufzulisten. Der Standardwert istLATEST.--transfer_config={true|false}Legen Sie
truefest, um Übertragungskonfigurationen im angegebenen Projekt und am angegebenen Standort aufzulisten. Wird mit den Flags--transfer_locationund--project_idverwendet. Der Standardwert istfalse.--transfer_location=LOCATIONListet Übertragungskonfigurationen am angegebenen Standort auf. Sie legen den Übertragungsort bei der Erstellung der Übertragung fest.
--transfer_log={true|false}Wird mit dem Flag
--transfer_runverwendet. Legen Sietruefest, um Übertragungslogmeldungen für die angegebene Übertragungsausführung aufzulisten. Der Standardwert istfalse.--transfer_run={true|false}Listet die Übertragungsausführungen für die angegebene Übertragungskonfiguration auf.
Beispiel:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCEDie Sammlung, deren Objekte Sie auflisten möchten. Die Ressource kann ein Dataset, ein Projekt, eine Reservierung oder eine Übertragungskonfiguration sein.
Weitere Informationen zur Verwendung des Befehls bq ls finden Sie hier:
- Jobs verwalten
- Datasets in einem Projekt auflisten
- Tabellen erstellen und verwenden
- Ansichten in einem Dataset auflisten
- Mit Übertragungen arbeiten
- Tabellen-Snapshots in einem Dataset auflisten
bq mk
Verwenden Sie den Befehl bq mk, um eine BigQuery-Ressource zu erstellen.
Zusammenfassung
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
Flags und Argumente
Der Befehl bq mk verwendet ein Typ-Flag, das den Typ der zu erstellenden Ressource angibt, sowie andere Flags, die vom Ressourcentyp abhängen.
TYPE_FLAG: Legen Sie eines der folgenden Flags auf true fest.
Ihre Auswahl gibt den Ressourcentyp an, der erstellt werden soll.
--capacity_commitment: Erwerben Sie eine Kapazitätszusicherung.--connection: Verbindung herstellen.--datasetoder-d: Erstellen Sie ein Dataset.--materialized_view: Erstellen Sie eine materialisierte Ansicht.--reservation: Erstellen Sie eine Reservierung.--reservation_assignment: Ordnen Sie einer Reservierung einen Ordner, ein Projekt oder eine Organisation zu.--tableoder-t: Erstellen Sie eine Tabelle.--transfer_config: Erstellen Sie eine Übertragungskonfiguration.--transfer_run: Erstellen Sie eine Übertragungsausführung für einen Zeitraum.--view: Erstellen Sie eine Ansicht.
Der Befehl bq mk unterstützt das folgende Flag für alle Ressourcentypen:
--force={true|false}oder-f={true|false}- Um Fehler zu ignorieren, wenn eine Ressource mit demselben Namen bereits vorhanden ist, legen Sie
truefest. Wenn die Ressource bereits vorhanden ist, ist der Exit-Code 0, aber das Festlegen des Flags auftruebewirkt nicht, dass der Befehlbq mkdie Ressource überschreibt. Der Standardwert istfalse.
Der Befehl bq mk unterstützt je nach erstelltem Ressourcentyp zusätzliche Flags. Dies wird in den folgenden Abschnitten beschrieben.
bq mk --capacity_commitment
Zum Erwerben einer Kapazitätszusicherung setzen Sie --capacity_commitment auf true und verwenden die folgenden Flags:
--location=LOCATION- Gibt den Standort der Zusicherung an.
--plan=PLAN_TYPEGibt den Typ des Zusicherungsplans an Dies muss einer der folgenden Werte sein:
ANNUALTHREE_YEAR
Kunden, die die alte Pauschalpreisabrechnung verwenden, können auch einen der folgenden Werte verwenden:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPEGibt den Typ des Verlängerungsplans an. Erforderlich für Zusicherungspläne vom Typ
ANNUALoderTHREE_YEAR. Muss einer der folgenden Werte sein:ANNUALTHREE_YEARNONE
Kunden, die die alte Pauschalpreisabrechnung nutzen, können auch einen der folgenden Werte verwenden:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDGibt das Projekt an, das die Slots verwaltet.
--slots=NUMBER_OF_BASELINE_SLOTSGibt die Anzahl der Referenzslots an, die gekauft werden sollen.
--edition=EDITIONDie mit der Kapazitätszusicherung verknüpfte Version. Dies muss einer der folgenden Datentypen sein:
ENTERPRISEENTERPRISE_PLUS
Weitere Informationen finden Sie unter Slots erwerben.
bq mk --connection
Erstellt eine Verbindung. Die folgenden Flags werden unterstützt:
--connection_type=CONNECTION_TYPE- Der Typ der Verbindung, z. B.
CLOUD_SQLfür Cloud SQL-Verbindungen. --properties=PROPERTIESVerbindungsspezifische Parameter im JSON-Format.
instanceId,databaseundtypemüssen angegeben werden.Wenn Sie eine Spanner-Verbindung erstellen und Data Boost verwenden möchten, fügen Sie die Paare
"useParallelism":trueund"useDataBoost":trueein.--connection_credential=CONNECTION_CREDENTIALDie Anmeldedaten der Verbindung im JSON-Format.
usernameundpasswordmüssen angegeben werden.--project_id=PROJECT_IDGibt die ID des Projekts an, zu dem die Verbindung gehört.
--location=LOCATIONGibt den Standort an, an dem die Verbindung gespeichert wird.
--display_name=DISPLAY_NAMEGibt einen optionalen Anzeigenamen für die Verbindung an.
--description=DESCRIPTIONGibt eine optionale Beschreibung der Verbindung an.
--iam_role_id=ROLE_IDGibt für BigQuery Omni auf AWS eine IAM-Rolle an, die den Zugriff auf die Ressource ermöglicht.
Verwenden Sie das folgende Format:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", wobei:- AWS_ACCOUNT_ID ist die ID-Nummer des AWS IAM-Nutzers der Verbindung.
- POLICY_NAME ist der Name der Richtlinie.
Beispiel:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDGibt für BigQuery Omni in Microsoft Azure die Mandanten-ID des Microsoft Azure-Verzeichnisses an, das das Microsoft Azure Storage-Konto enthält.
CONNECTION_IDGibt eine optionale Verbindungs-ID für die Verbindung an. Wenn keine Verbindungs-ID angegeben wird, wird automatisch eine eindeutige ID generiert. Die Verbindungs-ID kann Buchstaben, Ziffern und Unterstriche enthalten.
Weitere Informationen finden Sie unter Einführung in Verbindungen.
bq mk --dataset
Erstellt ein Dataset. Die folgenden Flags werden unterstützt:
--add_tags=TAGS- Gibt die Tags an, die Sie durch Kommas getrennt an das neue Dataset anhängen. Beispiel:
556741164180/env:prod,myProject/department:sales. Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben. --default_kms_key=KEY- Gibt die standardmäßige Cloud KMS-Schlüsselressourcen-ID zum Verschlüsseln der Tabellendaten in einem Dataset an, wenn während der Tabellenerstellung oder -abfrage kein expliziter Schlüssel angegeben wird.
--default_partition_expiration=SECONDS- Eine Ganzzahl, die die Standardablaufzeit in Sekunden für alle Partitionen in neu erstellten partitionierten Tabellen im Dataset angibt. Die Ablaufzeit einer Partition entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert.
Wenn dieses Attribut festgelegt ist, überschreibt dessen Wert die Ablaufzeit der Standardtabelle auf Dataset-Ebene, falls vorhanden. Wenn Sie beim Erstellen oder Aktualisieren einer partitionierten Tabelle das Flag
--time_partitioning_expirationangeben, hat der Ablauf der Partition auf Tabellenebene Vorrang vor dem Ablaufdatum der Standardpartition auf Dataset-Ebene. --default_table_expiration=SECONDS- Eine Ganzzahl, die die Standardlebensdauer in Sekunden für neu erstellte Tabellen in einem Dataset angibt. Die Ablaufzeit entspricht der aktuellen UTC-Zeit plus dem ganzzahligen Wert.
--description=DESCRIPTION- Gibt die Beschreibung des Datasets an.
--external_source=EXTERNAL_SOURCE- Gibt die externe Datenquelle an, wenn Sie ein föderiertes Dataset erstellen.
--label=KEY:VALUE- Gibt ein Label für das Dataset an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--location=LOCATIONoder--data_location=LOCATION- Gibt den Speicherort des Datasets an. Ziehen Sie das Flag
--locationvor. Das Flag--data_locationist ein Legacy-Flag. --max_time_travel_hours=HOURS- Gibt die Dauer des Zeitreisefensters für das neue Dataset in Stunden an. Der Wert
--max_time_travel_hoursmuss eine Ganzzahl sein, die als Vielfaches von 24 (48, 72, 96, 120, 144, 168) zwischen 48 (2 Tage) und 168 (7 Tage) ausgedrückt wird. Wenn dieses Flag nicht angegeben ist, wird als Standardeinstellung 168 Stunden verwendet. --storage_billing_model=BILLING_MODELGibt das Speicherabrechnungsmodell für ein Dataset an. Legen Sie den Wert
--storage_billing_modelaufPHYSICALfest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder aufLOGICAL, um logische Byte zu verwenden. Standardmäßig istLOGICALausgewählt.Wenn Sie das Abrechnungsmodell eines Datasets ändern, dauert es 24 Stunden, bis die Änderung wirksam wird.
Nachdem Sie das Speicherabrechnungsmodell eines Datasets geändert haben, müssen Sie 14 Tage warten, bevor Sie das Speicherabrechnungsmodell wieder ändern können.
Weitere Informationen finden Sie unter Datasets erstellen.
bq mk --materialized_view
Erstellt eine materialisierte Ansicht. Die folgenden Flags werden unterstützt:
--enable_refresh={true|false}- Wenn Sie die automatische Aktualisierung für eine materialisierte Ansicht deaktivieren möchten, legen Sie
falsefest. Der Standardwert beim Erstellen einer materialisierten Ansicht isttrue. --refresh_interval_ms=MILLISECONDS- Gibt die Anzahl der Millisekunden für das Aktualisierungsintervall einer materialisierten Ansicht an. Wenn dieses Flag nicht angegeben ist, beträgt das Standardaktualisierungsintervall für eine materialisierte Ansicht, für die die Aktualisierung aktiviert ist, 1.800.000 Millisekunden, also 30 Minuten.
Weitere Informationen finden Sie unter Materialisierte Ansichten erstellen und verwenden.
bq mk --reservation
Erstellt eine Reservierung mit dedizierten Slots. Die folgenden Flags werden unterstützt:
--target_job_concurrency=CONCURRENCY- Gibt die Zielanzahl der gleichzeitig ausgeführten Abfragen an. Der Standardwert ist 0, was bedeutet, dass die Gleichzeitigkeit automatisch anhand der Reservierungsgröße berechnet wird. Weitere Informationen finden Sie unter Abfragewarteschlangen verwenden.
--ignore_idle_slots={true|false}- Wenn Sie Jobs, die in dieser Reservierung ausgeführt werden, auf Slots beschränken möchten, die der Reservierung zugewiesen sind, legen Sie
truefest. Der Standardwert istfalse. Jobs in dieser Reservierung können inaktive Slots aus anderen Reservierungen oder Slots verwenden, die keiner Reservierung zugewiesen sind. Weitere Informationen finden Sie unter Inaktive Slots. --location=LOCATION- Gibt den Standort der Reservierung an.
--project_id=PROJECT_ID- Gibt das Projekt an, zu dem die Reservierung gehört.
--slots=NUMBER_OF_BASELINE_SLOTS- Gibt die Anzahl der Referenzslots an, die dieser Reservierung zugewiesen werden sollen.
--edition=EDITION- Die mit der Kapazitätszusicherung verknüpfte Version. Muss einer der folgenden Datentypen sein:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- Die Anzahl der Autoscaling-Slots, die der Reservierung zugewiesen sind. Dieser Wert entspricht dem Wert der maximalen Reservierungsgröße abzüglich der Anzahl der Referenzslots. Nur mit dem Flag
--editionverfügbar. --max_slots=MAXIMUM_NUMBER_OF_SLOTS- Die maximale Anzahl von Slots, die für die Reservierung verwendet werden. Muss mit dem Flag
--scaling_modekonfiguriert werden (Vorschau). --scaling_mode=SCALING_MODEDer Skalierungsmodus der Reservierung. Dies muss einer der folgenden Datentypen sein:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
Muss mit dem Flag
--max_slotskonfiguriert werden (Vorschau).
Weitere Informationen finden Sie unter Reservierung mit dedizierten Slots erstellen.
bq mk --reservation_assignment
Weist einer Reservierung ein Projekt, einen Ordner oder eine Organisation zu. Die folgenden Flags werden unterstützt:
--assignee_id=ASSIGNEE_ID- Gibt die ID des Ordners, der Organisation oder des Projekts an.
--assignee_type=ASSIGNEE_TYPE- Gibt den Entitätstyp an, der der Reservierung zugewiesen werden soll. Einer der folgenden:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- GIbt die Art des Jobs, der der Reservierung zugewiesen werden soll. Einer der folgenden:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- Gibt den Standort der Reservierung an.
--project_id=PROJECT_ID- Gibt das Projekt an, zu dem die Reservierung gehört.
--reservation_id=RESERVATION_ID- Gibt die ID der Reservierung an.
Weitere Informationen finden Sie unter Mit Reservierungszuweisungen arbeiten.
bq mk --table
Erstellt eine Tabelle. Die folgenden Flags werden unterstützt:
--add_tags=TAGS- Gibt die Tags an, die Sie durch Kommas getrennt an die neue Tabelle anhängen. Beispiel:
556741164180/env:prod,myProject/department:sales. Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben. --clustering_fields=COLUMNS- Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder für das Tabellen-Clustering angeben. Bei der Partitionierung wird die Tabelle zuerst partitioniert und dann werden die Partitionen anhand der bereitgestellten Spalten geclustert.
--description=DESCRIPTION- Gibt die Beschreibung der Tabelle an.
--destination_kms_key=KEY- Gibt eine Schlüsselressourcen-ID für Cloud KMS zum Verschlüsseln der Zieltabellendaten an.
--expiration=SECONDS- Gibt die Lebensdauer der Tabelle an. Wenn Sie das Flag
--expirationnicht angeben, erstellt BigQuery die Tabelle mit der Standardlebensdauer des Datasets für Tabellen oder die Tabelle läuft nicht ab. --external_table_definition=STRINGGibt eine Tabellendefinition zum Erstellen einer externen Tabelle an.
Für externe Cloud Storage- und Google Drive-Tabellen:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - Der Wert kann ein Pfad zu einer Datei mit einer Tabellendefinitionsdatei (
PATH_TO_FILE) oder einer Inline-Tabellendefinition (DEFINITION) sein.
- Das Format für das Feld
DEFINITIONlautetSCHEMA@FORMAT=URI. Das Format für den Wert
SCHEMAist eine durch Kommas getrennte Liste von Spaltendefinitionen im FormatFIELD:DATA_TYPE, FIELD:DATA_TYPE. Sie können den WertSCHEMAweglassen, wenn das Datenformat selbstbeschreibend ist (z. B. Avro) oder wenn Sie die automatische Schemaerkennung verwenden.Der Wert
FORMATgibt das Datenformat an. Beispiele:AVROCSVDATASTORE_BACKUP(diesen Wert für Filestore verwenden)ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
Wenn Sie eine Tabellendefinitionsdatei angeben, fügen Sie dem Dateinamen keine Erweiterung hinzu.
Beispiel:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Für externe Bigtable-Tabellen und BigLake-Tabellen, die auf AWS und Azure basieren:
--external_table_definition=PATH_TO_FILE- Der Wert muss ein Pfad zu einer Datei mit einer Tabellendefinition sein.
Für BigLake-Tabellen, die auf Cloud Storage basieren:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:Der Wert
FORMATgibt das Datenformat an. Beispiele:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHist der Pfad zu einer oder mehreren Dateien in Cloud Storage, die die Daten der BigLake-Tabelle enthalten. Sie könnenBUCKET_PATHin folgenden Formaten angeben:- Für eine einzelne Datei:
gs://bucket_name/[folder_name/]file_name. - Für mehrere Dateien in einem einzelnen Bucket:
gs://bucket_name/[folder_name/]*. Für mehrere Dateien in mehreren Buckets:
gs://mybucket1/*,gs://mybucket2/folder5/*.Mit Platzhaltern können Sie die in der BigLake-Tabelle enthaltenen Dateien einschränken. Beispiel: Wenn der Bucket mehrere Datentypen enthält, können Sie bestimmen, dass die Tabelle nur PARQUET-Dateien verwenden soll. Geben Sie dazu
gs://bucket_name/*.parquetan. Weitere Informationen zur Verwendung von Platzhaltern finden Sie unter URI-Platzhalter.
- Für eine einzelne Datei:
Der
REGION-Wert gibt die Region oder Multiregion an, die die Verbindung enthält.Der
CONNECTION_NAME-Wert gibt den Namen der Cloud-Ressourcenverbindung an, die mit dieser externen Tabelle verwendet werden soll. Die Verbindung bestimmt, welches Dienstkonto zum Lesen von Daten aus Cloud Storage verwendet wird.
Für Objekttabellen:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:BUCKET_PATHist der Pfad zu dem Cloud Storage-Bucket, das die durch die Objekttabelle dargestellten Objekte im Formatgs://bucket_name/[folder_name/]*enthält. Um mehrere Buckets anzugeben, stellen Sie mehrere Pfade bereit, z. B.gs://mybucket1/*,gs://mybucket2/folder5/*.Mit Platzhaltern können Sie die in der Objekttabelle enthaltenen Objekte einschränken. Beispiel: Wenn der Bucket mehrere Arter unstrukturierten Daten enthält, können Sie bestimmen, dass für die Erstellung der Objekttabelle nur PDF-Objekte genutzt werden. Dazu geben Sie
gs://bucket_name/*.pdfan. Weitere Informationen zur Verwendung von Platzhaltern finden Sie unter URI-Platzhalter.Der
REGION-Wert gibt die Region oder Multiregion an, die die Verbindung enthält.Der
CONNECTION_NAME-Wert gibt den Namen der Cloud-Ressourcenverbindung an, die mit dieser externen Tabelle verwendet werden soll. Die Verbindung bestimmt, welches Dienstkonto zum Lesen von Daten aus Cloud Storage verwendet wird.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEGibt an, wie Quell-URIs interpretiert werden.
FILE_SYSTEM_MATCH: Maximiert die Quell-URIs, indem Dateien aus dem Objektspeicher aufgelistet werden. Dies ist das Standardverhalten, wenn FileSetSpecType nicht festgelegt ist.NEW_LINE_DELIMITED_MANIFEST: Gibt an, dass die angegebenen URIs Manifestdateien mit Zeilenumbruch mit einem URI pro Zeile sind. Platzhalter-URIs werden in den Manifestdateien nicht unterstützt und alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.
Wenn Sie beispielsweise den Quell-URI
"gs://bucket/path/file"haben undfile_set_spec_typeden WertFILE_SYSTEM_MATCHhat, wird die Datei direkt als Datendatei verwendet. Wennfile_set_spec_typeden WertNEW_LINE_DELIMITED_MANIFESThat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.--reference_file_schema_uri=URIGibt den Pfad zu einer Referenzdatei mit dem erwarteten Tabellenschema zum Erstellen externer Tabellen an. Entspricht
ExternalDataConfiguration.referenceFileSchemaUri. Dieses Flag ist für die Formate Avro, ORC und PARQUET aktiviert.--label=KEY:VALUEGibt ein Label für die Tabelle an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--max_staleness=INTERVALGibt an, ob im Cache gespeicherte Metadaten von Vorgängen für die Tabelle verwendet werden und wie aktuell die im Cache gespeicherten Metadaten sein müssen, damit der Vorgang sie verwenden kann.
Gilt für BigLake-Tabellen und Objekttabellen.
Geben Sie 0 an, um das Caching von Metadaten zu deaktivieren. Das ist die Standardeinstellung.
Geben Sie zum Aktivieren des Metadaten-Cachings einen Intervallwert zwischen 30 Minuten und 7 Tagen unter Verwendung des in der
INTERVAL-Datentypdokumentation beschriebenen FormatsY-M D H:M:S. Beispiel: Geben Sie0-0 0 4:0:0für ein Veralterungsintervall von vier Stunden an. Mit diesem Wert verwenden Vorgänge im Zusammenhang mit der Tabelle im Cache gespeicherte Metadaten, wenn sie innerhalb der letzten vier Stunden aktualisiert wurden. Sind die im Cache gespeicherten Metadaten älter, werden für den Vorgang stattdessen Metadaten aus Cloud Storage abgerufen.--object_metadata=STRINGLegen Sie den Wert dieser Option beim Erstellen einer Objekttabelle auf
SIMPLEfest.Nur erforderlich, wenn Sie eine Objekttabelle erstellen.
--range_partitioning=COLUMN_NAME,START,END,INTERVALGibt Optionen für eine Partition nach Ganzzahlbereich so an:
column_nameist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.startist der Anfang der Bereichspartitionierung (einschließlich).endist das Ende der Bereichspartitionierung (ausschließlich).intervalist die Breite des jeweiligen Bereichs in der Partition.
Beispiel:
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}Wenn Sie einen Partitionsfilter für Abfragen in der bereitgestellten Tabelle anfordern möchten, legen Sie
truefest. Es gilt nur für partitionierte Tabellen. Der Standardwert istfalse.--schema={SCHEMA_FILE|SCHEMA}Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format
FIELD:DATA_TYPE, FIELD:DATA_TYPEan. Wenn Sie eine Schemadatei verwenden, fügen Sie dem Dateinamen keine Erweiterung hinzu.Beispiele:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSEine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.
--time_partitioning_field=COLUMN_NAMEGibt das Feld an, mit dem festgelegt wird, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.
--time_partitioning_type=INTERVALAktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}Wenn der Teil
FORMATdes Flags--external_table_definitionaufAVROgesetzt ist, gibt dieses Flag an, ob logische Typen konvertiert werden sollen. in ihre entsprechenden Typen (z. B.TIMESTAMP) umwandeln, anstatt nur deren Rohtypen zu verwenden (z. B.INTEGER).--parquet_enable_list_inference={true|false}Wenn der
FORMAT-Teil des--external_table_definition-Flags aufPARQUETfestgelegt ist, gibt dieses Flag an, obSchemainferenz für Parquet-LISTlogische Typen verwendet werden sollen.--parquet_enum_as_string={true|false}Wenn der Teil
FORMATdes--external_table_definition-Flags aufPARQUETgesetzt ist, gibt dieses Flag an, ob Parquet fürENUMlogische Typen alsSTRING-Werte abgeleitet werden soll.
Weitere Informationen finden Sie unter Tabellen erstellen und verwenden.
bq mk --transfer_config
Erstellt eine Übertragungskonfiguration. Die folgenden Flags werden unterstützt:
--data_source=DATA_SOURCE- Gibt die Datenquelle an. Erforderlich beim Erstellen einer Übertragungskonfiguration. Verwenden Sie einen der folgenden Werte:
amazon_s3– Amazon S3-Datenübertragungazure_blob_storage– Azure Blob Storage-Datenübertragungdcm_dt– Campaign Manager-Datenübertragunggoogle_cloud_storage– Cloud Storage-Datenübertragungcross_region_copy– Dataset-Kopiedfp_dt- Google Ad Manager-Datenübertragungdisplayvideo– Display & Video 360-Datenübertragunggoogle_ads– Google Ads-Datenübertragungmerchant_center– Google Merchant Center-Datenübertragungmysql– MySQL-Datenübertragungplay– Google Play-Datenübertragungscheduled_query– Datenübertragung geplanter Abfragensearch_ads– Search Ads 360-Datenübertragungyoutube_channel– YouTube-Kanal-Datenübertragungyoutube_content_owner– Datenübertragung für YouTube-Rechteinhaberredshift– Amazon Redshift-Migrationon_premises– Teradata-Migration
--display_name=DISPLAY_NAME- Der Anzeigename für die Übertragungskonfiguration.
--no_auto_scheduling={true|false}- Deaktiviert das automatische Planen von Datenübertragungsausführungen für diese Konfiguration.
Der Standardwert ist
false. --params={"PARAMETER":"VALUE"}oder-p={"PARAMETER":"VALUE"}- Gibt die Parameter für die Übertragungskonfiguration im JSON-Format an. Die Parameter variieren je nach Datenquelle.
--refresh_window_days=DAYS- Eine Ganzzahl, die das Aktualisierungsfenster für eine Übertragungskonfiguration in Tagen angibt. Der Standardwert ist
0. --service_account_name=SERVICE_ACCOUNT- Gibt ein Dienstkonto an, das als Anmeldedaten für die Übertragungskonfiguration verwendet werden soll.
--target_dataset=DATASET- Gibt das Ziel-Dataset für die Übertragungskonfiguration an.
--table_filter=TABLES- Wird nur mit der Datenquelle
google_adsverwendet. Der ParameterTABLESist eine durch Kommas getrennte Liste von Tabellen, die in die Übertragung aufgenommen werden sollen. Wenn Sie eine Tabelle ausschließen möchten, stellen Sie ihr einen Bindestrich (-) voran. Der Standardwert umfasst alle Tabellen im Transfer. --destination_kms_key=KEY- Gibt eine Cloud KMS-Schlüsselressourcen-ID zum Verschlüsseln der Zieltabellendaten an.
Informationen zum Verwenden des Befehls bq mk mit BigQuery Data Transfer Service finden Sie unter:
- Amazon S3-Übertragung einrichten
- Campaign Manager-Übertragung einrichten
- Cloud Storage-Übertragung einrichten
- Google Ad Manager-Übertragung einrichten
- Google Ads-Übertragung einrichten
- Google Merchant Center-Übertragung einrichten (Beta)
- Google Play-Übertragung einrichten
- Search Ads 360-Übertragung einrichten (Beta)
- YouTube-Kanalübertragung einrichten
- Übertragung für einen YouTube-Rechteinhaber einrichten
- Daten von Amazon Redshift migrieren
- Daten aus Teradata migrieren
bq mk --transfer_run
Erstellt mithilfe der angegebenen Datenübertragungskonfiguration die Ausführung einer Datenübertragung zum festgelegten Zeitpunkt oder in dem angegebenen Zeitraum.
Zusammenfassung
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
Die folgenden Flags werden unterstützt:
--run_time=RUN_TIME- Ein Zeitstempel, der den Zeitpunkt für die Datenübertragungsausführung angibt.
--start_time=START_TIME- Ein Zeitstempel, der die Startzeit für eine Reihe von Übertragungsausführungen angibt.
--end_time=END_TIME- Ein Zeitstempel, der die Endzeit für eine Reihe von Datenübertragungsausführungen angibt.
Das Format für die Zeitstempel ist RFC3339 UTC „Zulu“.
Das Argument CONFIG gibt eine bereits bestehende Datenübertragungskonfiguration an.
Beispiele
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
Erstellt eine Ansicht. Die folgenden Flags werden unterstützt:
--add_tags=TAGS- Gibt die Tags an, die Sie durch Kommas getrennt an die neue Ansicht anhängen. Beispiel:
556741164180/env:prod,myProject/department:sales. Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben. --description=DESCRIPTION- Gibt die Beschreibung der Ansicht an.
--expiration=SECONDS- Gibt die Lebensdauer der Ansicht an. Wenn
SECONDSden Wert0hat, läuft die Ansicht nicht ab. Wenn Sie das Flag--expirationnicht angeben, erstellt BigQuery die Ansicht mit der Standardlebensdauer des Datasets für Tabellen. --label=KEY:VALUE- Gibt ein Label für die Ansicht an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--use_legacy_sql={true|false}- Legen Sie
falsefest, um eine Google SQL-Abfrage zum Erstellen einer Ansicht zu verwenden. Der Standardwert wird durch Ihre Konfigurationseinstellungen bestimmt. Wenn die Konfigurationseinstellung nicht angegeben ist, wird der Standardwerttrueverwendet. --view_udf_resource=FILE- Gibt den Cloud Storage-URI oder den Pfad zu einer lokalen Codedatei an, die sofort als benutzerdefinierte Funktionsressource geladen und ausgewertet und dann von der SQL-Abfrage einer Ansicht verwendet wird. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.
Weitere Informationen finden Sie unter Ansichten erstellen.
bq mkdef
Verwenden Sie den Befehl bq mkdef, um eine Tabellendefinition im JSON-Format für Daten zu erstellen, die in Cloud Storage oder Google Drive gespeichert sind.
Zusammenfassung
bq mkdef [FLAGS] URI [ > FILE ]
Flags und Argumente
Der Befehl bq mkdef verwendet die folgenden Flags und Argumente:
--autodetect={true|false}- Gibt an, ob die automatische Schemaerkennung für CSV- und JSON-Daten verwendet werden soll. Der Standardwert ist
false. --connection_id=CONNECTION_ID- Die ID einer Verbindungsressource, die für die Authentifizierung verwendet werden soll.
--hive_partitioning_modeGibt an, wie das Partitionierungsschema bestimmt wird, wenn BigQuery Daten liest. Die folgenden Modi werden unterstützt:
AUTO: Namen und Typen von Partitionierungsschlüsseln automatisch ableiten.STRINGS: Namen von Partitionierungsschlüsseln automatisch ableiten. Alle Typen werden als Strings behandelt.CUSTOM: Geben Sie das Partitionierungsschema im Quell-URI-Präfix an.
Der Standardwert ist
AUTO.--hive_partitioning_source_uri_prefixGibt das gemeinsame Präfix für die Quell-URIs an. Der gemeinsame Präfixwert ist der Teil des URI, der unmittelbar vor der Codierung des Partitionierungsschlüssels steht. Wenn Sie
CUSTOMfür den Modus angegeben haben, müssen Sie außerdem das Partitionierungsschema identifizieren.Nehmen wir als Beispiel Dateien mit der folgenden Struktur:
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
Wenn Sie den
AUTO- oderSTRINGS-Modus verwenden, sind die folgenden Werte akzeptabel:gs://bucket/path_to_tablegs://bucket/path_to_table/
Im
CUSTOM-Modus sind die folgenden Werte zulässig: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}
Weitere Informationen zur Verwendung des Befehls bq mkdef finden Sie unter Tabellendefinitionsdatei für eine externe Datenquelle erstellen.
--ignore_unknown_values={true|false}oder-i={true|false}- Gibt an, ob Werte in einer Zeile ignoriert werden sollen, die im Schema nicht vorhanden sind. Der Standardwert ist
false. --metadata_cache_mode=STRINGGibt an, ob der Metadaten-Cache für die Tabelle automatisch oder manuell aktualisiert wird.
Legen Sie
AUTOMATICfest, damit der Metadaten-Cache in einem systemdefinierten Intervall aktualisiert wird, normalerweise zwischen 30 und 60 Minuten.Legen Sie
MANUALfest, wenn Sie den Metadaten-Cache nach einem von Ihnen bestimmten Zeitplan aktualisieren möchten. In diesem Fall können Sie den SystemvorgangBQ.REFRESH_EXTERNAL_METADATA_CACHEaufrufen, um den Cache zu aktualisieren.Sie müssen das Flag
--metadata_cache_modefestlegen, wenn Sie das Flag--max_stalenessmit dem Befehlbq mkfestlegen.--parquet_enable_list_inference={true|false}Wenn
source_formataufPARQUETgesetzt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LISTverwendet werden sollen. Der Standardwert istfalse.--parquet_enum_as_string={true|false}Wenn
source_formataufPARQUETgesetzt ist, gibt dieses Flag an, ob die logischen Typen von Parquet-ENUMalsSTRING-Werte abgeleitet werden sollen. Der Standardwert istfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEGibt an, wie Quell-URIs interpretiert werden.
FILE_SYSTEM_MATCH: Maximiert die Quell-URIs, indem Dateien aus dem Objektspeicher aufgelistet werden. Dies ist das Standardverhalten, wenn FileSetSpecType nicht festgelegt ist.NEW_LINE_DELIMITED_MANIFEST: Gibt an, dass die angegebenen URIs Manifestdateien mit Zeilenumbruch mit einem URI pro Zeile sind. Platzhalter-URIs werden in den Manifestdateien nicht unterstützt und alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.
Wenn Sie beispielsweise den Quell-URI
"gs://bucket/path/file"haben undfile_set_spec_typeden WertFILE_SYSTEM_MATCHhat, wird die Datei direkt als Datendatei verwendet. Wennfile_set_spec_typeden WertNEW_LINE_DELIMITED_MANIFESThat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.--source_format=FORMATGibt das Format der Quelldaten an. Verwenden Sie einen der folgenden Werte:
AVROCSVDATASTORE_BACKUP(diesen Wert für Filestore verwenden)GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
Der Standardwert ist
CSV.--use_avro_logical_types={true|false}Wenn das Flag
--source_formataufAVROgesetzt ist, gibt dieses Flag an, ob logische Typen in die entsprechenden Typen konvertiert werden sollen, z. B.TIMESTAMP, anstatt nur deren Rohtypen (z. B.INTEGER) zu verwenden. Der Standardwert istfalse.
bq partition
Verwenden Sie den Befehl bq partition, um eine Gruppe von Tabellen mit Zeit-Einheit-Suffixen, z. B. Tabellen, die auf YYYYMMDD für die Datumspartitionierung enden, in partitionierte Tabellen umzuwandeln.
Zusammenfassung
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
Flags und Argumente
Der Befehl bq partition verwendet die folgenden Flags und Argumente:
--no_clobber={true|false}oder-n={true|false}- Wenn Sie das Überschreiben einer vorhandenen Partition verhindern möchten, legen Sie
truefest. Der Standardwert istfalse. Wenn die Partition vorhanden ist, wird sie überschrieben. --time_partitioning_expiration=SECONDS- Eine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.
--time_partitioning_type=INTERVALGibt den Partitionstyp an. Die folgende Tabelle enthält die möglichen Werte für das Flag
INTERVALund das erwartete Format für das Zeit-Einheit-Suffix:INTERVALSuffix HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEDer Basisname der Tabellengruppe mit Zeit-Einheit-Suffixen.
PARTITION_TABLEDer Name der partitionierten Zieltabelle.
Weitere Informationen zur Verwendung des Befehls bq partition finden Sie unter Datumsfragmentierte Tabellen in nach Aufnahmezeit partitionierte Tabellen konvertieren.
bq query
Verwenden Sie den Befehl bq query, um einen Abfragejob zu erstellen, der die angegebene SQL-Abfrage ausführt.
Zusammenfassung
bq query [FLAGS] 'QUERY'
Flags und Argumente
Der Befehl bq query verwendet die folgenden Flags und Argumente:
--allow_large_results={true|false}- Wenn Sie große Zieltabellengrößen für Legacy-SQL-Abfragen aktivieren möchten, legen Sie
truefest. Der Standardwert istfalse. --append_table={true|false}- Wenn Sie Daten an eine Zieltabelle anfügen möchten, legen Sie
truefest. Der Standardwert istfalse. --batch={true|false}- Wenn Sie die Abfrage im Batchmodus ausführen möchten, legen Sie
truefest. Der Standardwert istfalse. --clustering_fields=COLUMNS- Eine durch Kommas getrennte Liste mit bis zu vier Spaltennamen, die die Felder zum Clustern der Zieltabelle in einer Abfrage angibt. Bei der Partitionierung wird die Tabelle zuerst partitioniert und dann werden die Partitionen anhand der bereitgestellten Spalten geclustert.
--connection_property=KEY=VALUEEin Schlüssel/Wert-Paar, mit dem Sie Eigenschaften auf Verbindungsebene angeben können, um das Abfrageverhalten anzupassen. Definieren Sie dieses Flag wiederholt, um weitere Attribute anzugeben.
Die unterstützten Verbindungseigenschaften sind:
dataset_project_id: Stellt das Standardprojekt für Datasets dar, die in der Abfrage verwendet werden, ähnlich der@@dataset_project_id-Systemvariablen.query_label: Weist die Abfrage einem bestimmten Joblabel zu. Wenn diese Option festgelegt ist, haben alle nachfolgenden Abfragen in einem Skript oder einer Sitzung dieses Label. Weitere Informationen zu den Formatierungsanforderungen für Abfragelabels finden Sie im FeldlabelsderJobConfiguration-Ressource.service_account: Gibt ein Dienstkonto an, das zum Ausführen der Abfrage verwendet werden soll. Beispiel:--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com.session_id: Ordnet die Abfrage einer bestimmten Sitzung zu.time_zone: Die Standardzeitzone, die zum Ausführen der Abfrage verwendet werden soll.
--continuous={true|false}Wenn Sie eine kontinuierliche Abfrage ausführen möchten, legen Sie
truefest. Der Standardwert istfalse.--destination_kms_key=KEYGibt eine Cloud KMS-Schlüsselressourcen-ID an, um die Zieltabellendaten zu verschlüsseln.
--destination_schema={PATH_TO_FILE|SCHEMA}Der Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennten Liste von Spaltendefinitionen im Format
FIELD:DATA_TYPE, FIELD:DATA_TYPE.Schemaänderungen erfolgen in einem anderen Vorgang als der Abfrageausführung. Wenn Sie Abfrageergebnisse in eine Tabelle schreiben, indem Sie das Flag
--destination_tableangeben, und die Abfrage anschließend eine Ausnahme auslöst, werden alle Schemaänderungen möglicherweise übersprungen. Prüfen Sie in diesem Fall das Zieltabellenschema und aktualisieren Sie es manuell, falls erforderlich.--destination_table=TABLEWenn dieses Flag angegeben ist, werden die Abfrageergebnisse unter
TABLEgespeichert. Geben SieTABLEim folgenden Format an:PROJECT:DATASET.TABLE. WennPROJECTnicht angegeben ist, wird vom aktuellen Projekt ausgegangen. Wenn das Flag--destination_tablenicht angegeben ist, werden die Abfrageergebnisse in einer temporären Tabelle gespeichert.Beispiele:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}Wenn dieses Flag angegeben ist, wird die Abfrage überprüft, aber nicht ausgeführt.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Gibt den Tabellennamen und die Tabellendefinition für eine externe Tabellenabfrage an. Die Tabellendefinition kann ein Pfad zu einer lokalen JSON-Schemadatei oder eine Inline-Tabellendefinition sein. Das Format für die Bereitstellung der Inline-Tabellendefinition lautet
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. Das Format für den WertSCHEMAist eine durch Kommas getrennte Liste von Spaltendefinitionen im FormatFIELD:DATA_TYPE, FIELD:DATA_TYPE. Wenn Sie eine Tabellendefinitionsdatei verwenden, fügen Sie dem Dateinamen keine Erweiterung hinzu.Beispiel:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Wiederholen Sie dieses Flag, um mehrere Tabellen abzufragen.
--flatten_results={true|false}Wenn verschachtelte und wiederkehrender Felder in den Ergebnissen von Abfragen in Legacy-SQL nicht vereinfacht werden sollen, legen Sie
falsefest. Der Standardwert isttrue.--label=KEY:VALUEGibt ein Label für den Abfragejob an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--max_rows=MAX_ROWSoder-n=MAX_ROWSEine Ganzzahl, die die Anzahl der Zeilen angibt, die in den Abfrageergebnissen zurückgegeben werden sollen. Der Standardwert ist
100.--maximum_bytes_billed=MAX_BYTESEine Ganzzahl, die die für die Abfrage berechneten Byte begrenzt. Abfragen, die dieses Limit überschreiten, schlagen fehl, ohne dass eine Gebühr anfällt. Wenn dieses Flag nicht angegeben ist, wird die Menge der berechneten Byte auf den Standardwert des Projekts eingestellt.
--max_statement_results=VALUEEine Ganzzahl, die die maximale Anzahl von Scriptanweisungen angibt, die für die Abfrageergebnisse angezeigt werden. Der Standardwert ist
100.--min_completion_ratio=RATIO(Experimentell) Eine Zahl zwischen 0 und 1, die den Mindestanteil der Daten angibt, die gescannt werden müssen, bevor eine Abfrage zurückgegeben wird. Wenn das Flag nicht angegeben ist, wird der Standardserverwert
1.0verwendet.--parameter={PATH_TO_FILE|PARAMETER}Entweder eine JSON-Datei mit einer Liste von Abfrageparametern oder ein Abfrageparameter im Format
NAME:TYPE:VALUE. Bei fehlender Namensangabe wird ein Positionsparameter erstellt. WennTYPEweggelassen wird, wird der TypSTRINGangenommen.NULLgibt einen Nullwert an. Wiederholen Sie dieses Flag, um mehrere Parameter anzugeben.Beispiel:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVALWird mit dem Flag
--destination_tableverwendet. Gibt Optionen für die Partitionierung nach Ganzzahlbereich in der Zieltabelle an. Der Wert ist eine durch Kommas getrennte Liste im Formatcolumn_name,start,end,interval, wobeicolumn_nameist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.startist der Anfang der Bereichspartitionierung (einschließlich).endist das Ende der Bereichspartitionierung (ausschließlich).intervalist die Breite des jeweiligen Bereichs in der Partition.
Beispiel:
--range_partitioning=customer_id,0,10000,100
--replace={true|false}Legen Sie
truefest, um die Zieltabelle mit den Abfrageergebnissen zu überschreiben. Alle vorhandenen Daten und Schemas werden gelöscht. Cloud KMS-Schlüssel werden ebenfalls entfernt, wenn Sie nicht das Flag--destination_kms_keyangeben. Der Standardwert istfalse.--require_cache={true|false}Wenn dieses Flag angegeben ist, wird die Abfrage nur ausgeführt, wenn Ergebnisse aus dem Cache abgerufen werden können.
--require_partition_filter={true|false}Wenn dieses Flag angegeben wird, ist für Abfragen der bereitgestellten Tabelle ein Partitionsfilter erforderlich. Es kann nur für eine partitionierte Tabelle verwendet werden.
- **
--reservation_id=RESERVATION Vorschau. Wenn angegeben, die Reservierung, in der die Abfrage ausgeführt wird.
--rpc={true|false}Wenn Sie die Abfrage-API im RPC-Format anstelle der REST API-Methode
jobs.insertverwenden möchten, legen Sietruefest. Der Standardwert istfalse.--schedule="SCHEDULE"Macht aus einer Abfrage eine wiederkehrende geplante Abfrage. Hierfür ist ein Zeitplan erforderlich, der angibt, wie häufig die Abfrage ausgeführt werden soll.
Beispiele:
--schedule="every 24 hours"
--schedule="every 3 hours"
Eine Beschreibung der Zeitplansyntax finden Sie unter Zeitplan formatieren.
--schema_update_option=OPTIONGibt beim Anfügen von Daten an eine Tabelle (in einem Ladejob oder einem Abfragejob) oder beim Überschreiben einer Tabellenpartition an, wie das Schema der Zieltabelle aktualisiert wird. Verwenden Sie einen der folgenden Werte:
ALLOW_FIELD_ADDITION: Ermöglicht das Einfügen neuer Felder zur Schemadefinition.ALLOW_FIELD_RELAXATION: Ermöglicht das Ändern vonREQUIRED-Feldern inNULLABLE.
Wiederholen Sie dieses Flag, um mehrere Optionen für die Schemaaktualisierung anzugeben.
--start_row=ROW_NUMBERoder-s=ROW_NUMBEREine Ganzzahl, die die erste Zeile angibt, die im Abfrageergebnis zurückgegeben werden soll. Der Standardwert ist
0.--target_dataset=DATASETBei Angabe dieses Flags mit
--schedulewird das Ziel-Dataset für eine geplante Abfrage aktualisiert. Die Abfrage muss in DDL oder DML vorliegen.--time_partitioning_expiration=SECONDSWird mit dem Flag
--destination_tableverwendet. Eine Ganzzahl, die in Sekunden angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.--time_partitioning_field=COLUMN_NAMEWird mit dem Flag
--destination_tableverwendet. Gibt die Partitionierungsspalte für eine zeitbasierte Partitionierung an. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Aufnahmezeit partitioniert.--time_partitioning_type=INTERVALWird mit dem Flag
--destination_tableverwendet. Gibt den Partitionstyp für die Zieltabelle an. Verwenden Sie einen der folgenden Werte:DAYHOURMONTHYEAR
--udf_resource=FILEDieses Flag gilt nur für Legacy-SQL-Abfragen. Gibt den Cloud Storage-URI oder den Pfad zu einer lokalen Datei an, die eine benutzerdefinierte Funktionsressource enthält, die von einer Legacy-SQL-Abfrage verwendet werden muss. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.
--use_cache={true|false}Wenn Sie das Caching von Abfrageergebnissen nicht zulassen möchten, legen Sie
falsefest. Der Standardwert isttrue.--use_legacy_sql={true|false}Zum Ausführen einer GoogleSQL-Abfrage legen Sie
falsefest. Der Standardwert wird durch Ihre Konfigurationseinstellungen bestimmt. Wenn die Konfigurationseinstellung nicht angegeben ist, wird der Standardwerttrueverwendet. Der Befehl verwendet Legacy-SQL.--job_timeout_ms={string (Int64Value)}Gibt die maximale Zeit für die Ausführung einer Abfrage in Millisekunden an. Wenn dieses Zeitlimit überschritten wird, versucht BigQuery, den Job zu beenden.
QUERYDie Abfrage, die Sie ausführen möchten. Sie können die Abfrage mit einer der folgenden Methoden angeben:
Geben Sie einen String an, der die Abfrage enthält.
Wenn Sie innerhalb der Abfrage zusätzliche Stringliterale verwenden müssen, folgen Sie den Anführungszeichen für die verwendete Shell, z. B. Bash oder PowerShell.
Das folgende Beispiel zeigt einen typischen Ansatz in Bash, bei dem Stringliterale in der Abfrage mit doppelten Anführungszeichen und die Abfrage selbst mit einfachen Anführungszeichen gekennzeichnet werden:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
Wenn Sie die Abfrage von einem anderen Ort kopieren, müssen Sie auch alle Kommentare in der Abfrage entfernen.
Übergeben Sie ein SQL-Skript, das die Abfrage enthält. Im folgenden Beispiel wird gezeigt, wie ein SQL-Skript in der Bash-Shell übergeben wird:
bq query --use_legacy_sql=false < query.sql
Weitere Informationen zur Verwendung des Befehls bq query finden Sie unter Abfrage ausführen.
bq remove-iam-policy-binding
Rufen Sie mit dem Befehl bq remove-iam-policy-binding die IAM-Richtlinie für eine Ressource ab und entfernen Sie eine Bindung aus der Richtlinie, in einem Schritt.
Die Ressource kann eine Tabelle oder eine Ansicht sein.
Dieser Befehl ist eine Alternative zum folgenden dreistufigen Prozess:
- Mit dem Befehl
bq get-iam-policydie Richtliniendatei abrufen (im JSON-Format). - Richtliniendatei bearbeiten.
- Die Richtlinie mit dem Befehl
bq set-iam-policyohne die Bindung aktualisieren.
Zusammenfassung
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
Flags und Argumente
Der Befehl bq remove-iam-policy-binding verwendet die folgenden Flags und Argumente:
--member=MEMBER_TYPE:MEMBERErforderlich. Verwenden Sie das Flag
--member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag--memberist zusammen mit dem Flag--roleerforderlich. Eine Kombination aus--member- und--role-Flags entspricht einer Bindung.Der Wert
MEMBER_TYPEgibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:userserviceAccountgroupdomain
Der Wert
MEMBERgibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.--role=ROLEErforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag
--roleist zusammen mit dem Flag--membererforderlich. Eine Kombination aus--member- und--role-Flags entspricht einer Bindung.--table={true|false}oder-t={true|false}Optional. Wenn Sie eine Bindung aus der IAM-Richtlinie einer Tabelle oder Ansicht entfernen möchten, legen Sie
truefest. Der Standardwert istfalse.
RESOURCE ist die Tabelle oder Ansicht, deren Richtlinienbindung Sie entfernen möchten.
Weitere Informationen finden Sie in der IAM-Richtlinienreferenz.
bq rm
Verwenden Sie den Befehl bq rm, um eine BigQuery-Ressource zu löschen.
Zusammenfassung
bq rm [FLAGS] RESOURCE
Flags und Argumente
Der Befehl bq rm verwendet die folgenden Flags und Argumente:
--capacity_commitment={false|true}- Wenn Sie eine Kapazitätszusicherung löschen möchten, legen Sie
truefest, geben Sie mit dem Flag--locationden Standort der Zusicherung an, die Sie entfernen möchten, und ersetzen SieRESOURCEdurch die ID der Zusicherung, die Sie entfernen möchten. --dataset={true|false}oder-d={true|false}- Wenn Sie ein Dataset löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --force={true|false}oder-f={true|false}- Wenn Sie eine Ressource ohne Eingabeaufforderung löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --job={true|false}oder-j={true|false}- Wenn Sie einen Job löschen möchten, setzen Sie den Wert auf "true". Der Standardwert ist "false".
--model={true|false}oder-m={true|false}- Wenn Sie ein BigQuery ML-Modell löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --recursive={true|false}oder-r{true|false}- Wenn Sie ein Dataset und alle darin enthaltenen Tabellen, Tabellendaten oder Modelle löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --reservation={true|false}- Wenn Sie eine Reservierung löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --reservation_assignment={true|false}- Wenn Sie eine Reservierungszuweisung löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --routine={true|false}- Wenn Sie einen Ablauf löschen möchten, setzen Sie auf
true. Der Standardwert istfalse. Ein Ablauf kann eine persistente benutzerdefinierte Funktion, eine Tabellenfunktion (Vorschau) oder ein gespeichertes Verfahren sein. --table={true|false}oder-t={true|false}- Wenn Sie eine Tabelle oder Ansicht löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --transfer_config={true|false}- Wenn Sie eine Übertragungskonfiguration löschen möchten, legen Sie
truefest. Der Standardwert istfalse. RESOURCE- Die Ressource, die Sie entfernen möchten.
Weitere Informationen zur Verwendung des Befehls bq rm finden Sie hier:
- Datasets verwalten
- Jobs verwalten
- Tabellen verwalten
- Ansichten verwalten
- Mit Übertragungen arbeiten
- Tabellen-Snapshots löschen
bq set-iam-policy
Verwenden Sie den Befehl bq set-iam-policy, um die IAM-Richtlinie für eine Ressource anzugeben oder zu aktualisieren. Die Ressource kann eine Tabelle, eine Ansicht oder eine Slot-Reservierung sein.
Nach dem Festlegen der Richtlinie wird die neue Richtlinie in stdout ausgegeben. Die Richtlinie hat das JSON-Format.
Das Feld etag in der aktualisierten Richtlinie muss mit dem Wert etag der aktuellen Richtlinie übereinstimmen. Andernfalls schlägt die Aktualisierung fehl. Diese Funktion verhindert gleichzeitige Aktualisierungen.
Sie können die aktuelle Richtlinie und den etag-Wert für eine Ressource mit dem Befehl bq get-iam-policy abrufen.
Zusammenfassung
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
Beispiele
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
Flags und Argumente
Der Befehl bq set-iam-policy verwendet die folgenden Flags und Argumente.
--table={true|false}oder-t={true|false}- Optional. Wenn Sie die IAM-Richtlinie einer Tabelle oder Ansicht festlegen möchten, legen Sie
truefest. Der Standardwert istfalse. --reservation={true|false}- Wenn Sie die IAM-Richtlinie einer Reservierung festlegen möchten, legen Sie
truefest (Vorabversion). Der Standardwert istfalse. Wenn dieses Flag verwendet wird, wirdRESOURCEals Reservierungs-ID behandelt. Die Reservierung kann optionale Projekt- und Standortpräfixe haben:myProject:myLocation.myReservation.
RESOURCE ist die Tabelle oder Ansicht, deren Richtlinie Sie aktualisieren möchten.
FILE_NAME ist der Name einer Datei, die die Richtlinie im JSON-Format enthält.
Weitere Informationen zum bq set-iam-policy-Befehl finden Sie unter Zugriff auf Ressourcen mit IAM steuern.
bq show
Verwenden Sie den Befehl bq show, um Informationen zu einer Ressource aufzurufen.
Zusammenfassung
bq show [FLAGS] [RESOURCE]
Flags und Argumente
Der Befehl bq show verwendet die folgenden Flags und Argumente:
--assignee_id=ASSIGNEE- Gibt bei Verwendung mit dem Flag
--reservation_assignmentdie ID eines Ordners, einer Organisation oder eines Projekts an. Mit dem Flag--assignee_typegeben Sie an, welche Art von Zuständigen angezeigt werden soll. --assignee_type=TYPE- Gibt bei Verwendung mit dem Flag
--reservation_assignmentden Typ der abzurufenden Entität an. Verwenden Sie einen der folgenden Werte:FOLDERORGANIZATIONPROJECT
--connection={true|false}- Legen Sie
truefest, um Informationen zu einer Verbindung anzeigen zu lassen. Der Standardwert istfalse. Weitere Informationen finden Sie unter Verbindungsressource abrufen. --dataset={true|false}oder-d={true|false}- Legen Sie
truefest, um Informationen zu einer Reservierung abzurufen. Der Standardwert istfalse. --encryption_service_account={true|false}- Um das Verschlüsselungsdienstkonto für ein Projekt abzurufen, falls vorhanden, oder ein Dienstkonto zu erstellen, falls nicht vorhanden, legen Sie
truefest. Der Standardwert istfalse. Wird mit dem Flag--project_idverwendet. --job={true|false}oder-j={true|false}- Um Informationen zu einem Job aufzurufen, legen Sie
truefest. Der Standardwert istfalse. --job_type=JOB_TYPE- Gibt bei Verwendung mit dem Flag
--reservation_assignmentden Jobtyp der Reservierungszuweisungen an, die angezeigt werden sollen. Verwenden Sie einen der folgenden Werte:QUERYPIPELINEML_EXTERNAL
--model={true|false}oder-m={true|false}- Legen Sie
truefest, um Informationen zu einem BigQuery ML-Modell abzurufen. Der Standardwert istfalse. --reservation={true|false}- Legen Sie
truefest, um Informationen zu einer Reservierung abzurufen. Der Standardwert istfalse. --reservation_assignment={true|false}- Wenn dieser Wert auf
truegesetzt ist, zeigt der Befehl Reservierungszuweisungen für einen bestimmten Ordner, eine bestimmte Organisation oder ein bestimmtes Projekt an. Der Befehl zeigt gegebenenfalls die expliziten Zuweisungen der Zielressource an. Andernfalls werden Zuweisungen angezeigt, die von den übergeordneten Ressourcen übernommen wurden. Ein Projekt kann beispielsweise Zuweisungen vom übergeordneten Ordner übernehmen. Wenn Sie dieses Flag verwenden, werden die Flags--job_type,--assignee_typeund--assignee_idangewendet. Der Standardwert istfalse. --routine={true|false}- Legen Sie
truefest, um Informationen zu einem Ablauf anzeigen zu lassen. Der Standardwert istfalse. Ein Ablauf kann eine persistente benutzerdefinierte Funktion, eine Tabellenfunktion (Vorschau) oder ein gespeichertes Verfahren sein. --schema={true|false}- Wenn Sie nur das Schema der Tabelle anzeigen lassen möchten, legen Sie
truefest. Der Standardwert istfalse. --transfer_config={true|false}- Legen Sie
truefest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert istfalse. --transfer_run={true|false}- Legen Sie
truefest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert istfalse. --view={true|false}- Legen Sie
truefest, um Informationen zu einer Ansicht aufzurufen. Der Standardwert istfalse. RESOURCE- Die Ressource, deren Informationen Sie aufrufen möchten.
Weitere Informationen zur Verwendung des Befehls bq show finden Sie hier:
- Informationen zu Datasets abrufen
- Tabellen erstellen und verwenden
- Informationen zu Ansichten abrufen
- Mit Übertragungen arbeiten
- Jobs verwalten
- Informationen zu einem Tabellen-Snapshot abrufen
bq update
Verwenden Sie den Befehl bq update, um eine Ressource zu ändern.
Zusammenfassung
bq update [FLAGS] [RESOURCE]
Flags und Argumente
Der Befehl bq update verwendet die folgenden Flags und Argumente:
--add_tags=TAGS- Nur für Datasets und Tabellen verfügbar. Gibt die Tags an, die Sie an die Ressource anhängen, getrennt durch Kommas. Beispiel:
556741164180/env:prod,myProject/department:sales. Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- die Anzahl der Autoscaling-Slots, die der Reservierung zugewiesen sind. Dieser Wert entspricht dem Wert der maximalen Reservierungsgröße abzüglich der Anzahl der Referenzslots. Nur mit dem Flag
--reservationverfügbar und wenn die Reservierung mit einer Version erstellt wurde. --capacity_commitment={true|false}- Zum Aktualisieren einer Kapazitätszusicherung legen Sie
truefest. Verwenden Sie dieses Flag mit den Flags--merge,--plan,--renewal_plan,--splitund--slots. --clear_all_tags={true|false}- Nur für Datasets und Tabellen verfügbar. Wenn Sie alle Tags aus einer Ressource löschen möchten, legen Sie
truefest. Der Standardwert istfalse. --clear_label=KEY:VALUE- Entfernt ein Label aus der Ressource. Verwenden Sie das Format
KEY:VALUE, um das zu entfernende Label anzugeben. Verwenden Sie dieses Flag wiederholt, um mehrere Labels zu entfernen. --clustering_fields=COLUMNS- Aktualisiert die Clustering-Spezifikation einer Tabelle. Der Wert COLUMNS ist eine durch Kommas getrennte Liste von Spaltennamen, die für das Clustering verwendet werden. Zum Entfernen des Clusterings legen Sie für COLUMNS den Wert
""(leerer String) fest. Weitere Informationen finden Sie unter Clustering-Spezifikation ändern. --target_job_concurrency=CONCURRENCY- Gibt bei Verwendung mit dem Flag
--reservationdie Zielanzahl der Abfragen an, die gleichzeitig ausgeführt werden. Der Standardwert ist 0, was bedeutet, dass die Gleichzeitigkeit automatisch anhand der Reservierungsgröße festgelegt wird. Weitere Informationen finden Sie unter Abfragewarteschlangen verwenden. --dataset={true|false}oder-d={true|false}- Wenn Sie ein Dataset aktualisieren möchten, legen Sie
truefest. Der Standardwert istfalse. --default_kms_key=KEY- Gibt die standardmäßige Cloud KMS-Schlüsselressourcen-ID zum Verschlüsseln von Tabellendaten in einem Dataset an. Der Standardschlüssel wird verwendet, wenn bei der Tabellenerstellung oder -abfrage kein expliziter Schlüssel angegeben wird.
--default_partition_expiration=SECONDSEine Ganzzahl, die die Standardablaufzeit in Sekunden für alle Partitionen in neu erstellten partitionierten Tabellen im Dataset angibt. Für dieses Flag gilt kein Mindestwert.
Die Ablaufzeit einer Partition entspricht dem UTC-Datum der Partition plus dem ganzzahligen Wert. Wenn dieses Attribut festgelegt ist, wird der Ablauf der Standardtabelle auf Dataset-Ebene überschrieben, sofern vorhanden. Wenn Sie beim Erstellen oder Aktualisieren einer partitionierten Tabelle das Flag
--time_partitioning_expirationangeben, hat der Ablauf der Partition auf Tabellenebene Vorrang vor dem Ablaufdatum der Standardpartition auf Dataset-Ebene. Geben Sie0an, um einen vorhandenen Ablauf zu entfernen.--default_table_expiration=SECONDSEine Ganzzahl, die die Standardlebensdauer in Sekunden für neu erstellte Tabellen in einem Dataset aktualisiert. Die Ablaufzeit entspricht der aktuellen UTC-Zeit plus dem ganzzahligen Wert. Geben Sie
0an, um den vorhandenen Ablauf zu entfernen.--description=DESCRIPTIONAktualisiert die Beschreibung eines Datasets, einer Tabelle, eines Tabellen-Snapshots, eines Modells oder einer Ansicht.
--destination_reservation_id=RESERVATION_IDBei Verwendung mit dem Flag
--reservation_assignmentwird eine vorhandene Reservierungszuweisung in die angegebene Reservierung verschoben. Der Wert ist die ID der Zielreservierung. Weitere Informationen finden Sie unter Zuweisung in eine andere Reservierung verschieben.--display_name=DISPLAY_NAMEAktualisiert den Anzeigenamen für eine Übertragungskonfiguration.
--etag=ETAGFungiert als Filter. Aktualisiert die Ressource nur, wenn die Ressource über ein ETag verfügt, das mit dem im Argument
ETAGangegebenen String übereinstimmt.--expiration SECONDSWenn Sie die Ablaufzeit für die Tabelle, das Modell, den Tabellen-Snapshot oder die Ansicht aktualisieren möchten, fügen Sie dieses Flag ein. Ersetzen Sie
SECONDSdurch die Anzahl der Sekunden von der Aktualisierungszeit bis zur Ablaufzeit. Wenn Sie die Ablaufzeit für eine Tabelle, ein Modell, einen Tabellen-Snapshot oder eine Ansicht entfernen möchten, setzen Sie das ArgumentSECONDSauf 0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}Aktualisiert eine externe Tabelle mit der angegebenen Tabellendefinition. Die Tabellendefinition kann ein Pfad zu einer lokalen JSON-Tabellendefinitionsdatei oder eine Inline-Tabellendefinition im Format
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URIsein. Der WertSCHEMAist eine durch Kommas getrennte Liste von Spaltendefinitionen im FormatFIELD:DATA_TYPE, FIELD:DATA_TYPE. Wenn Sie eine Tabellendefinitionsdatei verwenden, fügen Sie dem Dateinamen keine Erweiterung hinzu.Beispiel:
--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}Wird mit dem Flag
--reservationverwendet. Legen Sietruefest, wenn Sie die Jobs beschränken möchten, die in der angegebenen Reservierung ausgeführt werden, sodass nur Slots verwendet werden, die dieser Reservierung zugewiesen sind. Der Standardwert istfalse. Jobs in der angegebenen Reservierung können inaktive Slots aus anderen Reservierungen oder Slots verwenden, die keiner Reservierung zugewiesen sind. Weitere Informationen finden Sie unter Inaktive Slots.--max_staleness=INTERVALGibt einen INTERVAL-Wert an, der die maximal zulässige Veralterung beim Abfragen einer materialisierten Ansicht oder einer externen Tabelle bestimmt. Der Standardwert ist
0-0 0 0:0:0.Beispiel:
- 1 Tag:
0-0 1 0:0:0 - 1 Stunde:
0-0 0 1:0:0
Wenn Sie dieses Flag verwenden möchten, müssen Sie mit dem Flag
--external_table_definitioneine Tabellendefinition angeben.- 1 Tag:
--max_time_travel_hours=HOURSGibt die Dauer des Zeitreisefensters für das neue Dataset in Stunden an. Der Wert
--max_time_travel_hoursmuss eine Ganzzahl sein, die als Vielfaches von 24 (48, 72, 96, 120, 144, 168) zwischen 48 (2 Tagen) und 168 (7 Tage) ausgedrückt wird.--merge={true|false}Wenn Sie zwei Kapazitätszusicherungen zusammenführen möchten, setzen Sie
--mergeauftrue. Setzen Sie das Flag--capacity_commitmentauftrue, geben Sie mit dem Flag--locationden Standort der Zusicherungen an, die Sie zusammenführen möchten, und ersetzen SieRESOURCEdurch die IDs der beiden Zusicherungen, die Sie zusammenführen möchten, durch ein Komma getrennt. Weitere Informationen finden Sie unter Zwei Zusicherungen zusammenführen.--metadata_cache_mode=METADATA_CACHE_MODEAktiviert den Metadaten-Cache für eine externe Tabelle mit einer Verbindung. Verwenden Sie einen der folgenden Werte:
AUTOMATICMANUAL
Geben Sie
AUTOMATICan, um die im Cache gespeicherten Metadaten automatisch zu aktualisieren. Geben SieMANUALan, um die automatische Aktualisierung zu beenden. Wenn Sie dieses Flag verwenden möchten, müssen Sie mit dem Flag--external_table_definitioneine Tabellendefinition angeben.--model={true|false}oder-m={true|false}Legen Sie
truefest, um Metadaten für ein BigQuery ML-Modell zu aktualisieren. Der Standardwert istfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}Aktualisiert Parameter für eine Übertragungskonfiguration. Die Parameter variieren je nach Datenquelle. Weitere Informationen finden Sie in der Einführung in BigQuery Data Transfer Service.
--plan=PLANWenn eine Kapazitätszusicherung mit dem Flag
--capacity_commitmentverwendet wird, wird sie in den angegebenen Zusicherungsplan mit längerer Dauer umgewandelt. Ersetzen SiePLANdurch einen der folgenden Werte:ANNUALTHREE_YEAR
--refresh_window_days=DAYSEine Ganzzahl, die ein aktualisiertes Aktualisierungsfenster (in Tagen) für eine Übertragungskonfiguration angibt.
--remove_tags=TAG_KEYSNur für Datasets und Tabellen verfügbar. Gibt die Tags an, die Sie aus der Ressource entfernen, getrennt durch Kommas. Beispiel:
556741164180/env,myProject/department. Jeder Tag-Schlüssel muss den Namespace-Schlüsselnamen haben.--renewal_plan=PLANBei Verwendung mit dem Flag
--capacity_commitmentwird der Verlängerungstarif für eine jährliche Kapazitätszusicherung aktualisiert. Ersetzen SiePLANdurch einen der folgenden Werte:ANNUALTHREE_YEARNONE
Kunden, die die alte Pauschalpreisabrechnung nutzen, können auch einen der folgenden Werte verwenden:
FLEXMONTHLYANNUAL
--reservation={true|false}Gibt an, ob eine Reservierung aktualisiert werden soll. Der Standardwert ist
false.--reservation_assignment={true|false}Gibt an, ob eine Reservierungszuweisung aktualisiert werden soll. Der Standardwert ist
false.--schema={SCHEMA_FILE|SCHEMA}Gibt entweder den Pfad zu einer lokalen JSON-Schemadatei oder eine durch Kommas getrennte Liste von Spaltendefinitionen im Format
FIELD:DATA_TYPE, FIELD:DATA_TYPEan. Wenn Sie eine Schemadatei verwenden, fügen Sie dem Dateinamen keine Erweiterung hinzu.Beispiel:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTGibt ein Dienstkonto an, das als Anmeldedaten für eine Übertragungskonfiguration verwendet werden soll.
--set_label=KEY:VALUEGibt das zu aktualisierende Label an. Zum Aktualisieren mehrerer Labels wiederholen Sie dieses Flag.
--slots=NUMBER_OF_BASELINE_SLOTSGibt bei Verwendung mit den Flags
--capacity_commitmentund--splitdie Anzahl der Referenzslots an, die von einer vorhandenen Kapazitätszusicherung in eine neue Zusicherung aufgeteilt werden sollen. Ersetzen SieRESOURCEdurch die ID der Zusicherung, die Sie aufteilen möchten.Bei Verwendung mit dem Flag
--reservationwird die Anzahl der Slots in einer Reservierung aktualisiert.--source=FILEDer Pfad zu einer lokalen JSON-Datei, die eine Nutzlast zum Aktualisieren einer Ressource enthält. Mit diesem Flag können Sie beispielsweise eine JSON-Datei angeben, die eine Dataset-Ressource mit einem aktualisierten
access-Attribut enthält. Die Datei wird verwendet, um die Zugriffssteuerungen des Datasets zu überschreiben. Die JSON-Datei darf keine Bytereihenfolge-Marke (Byte Order Mark, BOM) enthalten.--split={true|false}Wenn dieser Wert auf
truegesetzt und mit dem Flag--capacity_commitmentverwendet wird, geben Sie an, dass Sie eine vorhandene Kapazitätszusicherung aufteilen möchten. Verwenden Sie das Flag--location, um den Standort der Zusicherung anzugeben, die Sie aufteilen möchten, und das Flag--slots, um die Anzahl der Slots anzugeben, die Sie aufteilen möchten. Ersetzen SieRESOURCEdurch die ID der Zusicherung, die Sie aufteilen möchten. Weitere Informationen finden Sie unter Zusicherung aufteilen.--storage_billing_model=BILLING_MODELGibt das Speicherabrechnungsmodell für ein Dataset an. Legen Sie den Wert
--storage_billing_modelaufPHYSICALfest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder aufLOGICAL, um logische Byte zu verwenden.Wenn Sie das Abrechnungsmodell eines Datasets ändern, dauert es 24 Stunden, bis die Änderung wirksam wird.
Nachdem Sie das Speicherabrechnungsmodell eines Datasets geändert haben, müssen Sie 14 Tage warten, bevor Sie das Speicherabrechnungsmodell wieder ändern können.
--table={true|false}oder-t={true|false}Gibt an, ob eine Tabelle aktualisiert werden soll. Der Standardwert ist
false.--target_dataset=DATASETAktualisiert das Ziel-Dataset für eine Übertragungskonfiguration.
--time_partitioning_expiration=SECONDSEine Ganzzahl, die (in Sekunden) aktualisiert wird, wenn eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert. Eine negative Zahl bedeutet, dass es keine Ablaufzeit gibt.
--time_partitioning_field=COLUMN_NAMEAktualisiert das Feld, mit dem festgelegt wird, wie eine zeitbasierte Partition erstellt wird. Bei Aktivierung der zeitbasierten Partitionierung ohne Angabe dieses Werts wird die Tabelle basierend auf der Ladezeit partitioniert.
--time_partitioning_type=INTERVALGibt den Partitionierungstyp an. Verwenden Sie einen der folgenden Werte:
DAYHOURMONTHYEAR
Sie können den Partitionierungstyp einer vorhandenen Tabelle nicht ändern.
--transfer_config={true|false}Gibt an, ob eine Übertragungskonfiguration aktualisiert werden soll. Der Standardwert ist
false.--update_credentials={true|false}Gibt an, ob die Anmeldedaten für die Übertragungskonfiguration aktualisiert werden sollen. Der Standardwert ist
false.--use_legacy_sql={true|false}Legen Sie
falsefest, um die SQL-Abfrage für eine Ansicht von Legacy-SQL auf GoogleSQL zu aktualisieren. Der Standardwert wird durch Ihre Konfigurationseinstellungen bestimmt. Wenn die Konfigurationseinstellung nicht angegeben ist, wird der Standardwerttrueverwendet. Die Abfrage verwendet Legacy-SQL.--vertex_ai_model_id=VERTEX_AI_MODEL_IDAktualisiert die Modell-ID für ein BigQuery ML-Modell, das in der Vertex AI Model Registry registriert ist.
--view=QUERYWenn dieses Flag angegeben ist, wird die SQL-Abfrage für eine Ansicht aktualisiert.
--view_udf_resource=FILEAktualisiert den Cloud Storage-URI oder den Pfad zu einer lokalen Codedatei, die sofort als benutzerdefinierte Funktionsressource in die SQL-Abfrage einer Ansicht geladen und dort ausgewertet wird. Wiederholen Sie dieses Flag, um mehrere Dateien anzugeben.
RESOURCEDie Ressource, die Sie aktualisieren möchten.
Weitere Informationen zur Verwendung des Befehls bq update finden Sie hier:
- Dataset-Attribute aktualisieren
- Tabellen verwalten
- Ansichten aktualisieren
- Labels aktualisieren
- Mit Übertragungen arbeiten
- Metadaten eines Tabellen-Snapshots aktualisieren
bq version
Verwenden Sie den Befehl bq version, um die Versionsnummer Ihres bq-Befehlszeilentools aufzurufen.
Zusammenfassung
bq version
bq wait
Verwenden Sie den Befehl bq wait, um eine angegebene Anzahl von Sekunden darauf zu warten, dass ein Job abgeschlossen wird. Wenn kein Job angegeben ist, wartet der Befehl, bis der aktuelle Job abgeschlossen ist.
Zusammenfassung
bq wait [FLAGS] [JOB] [SECONDS]
Beispiele
bq wait
bq wait --wait_for_status=RUNNING 12345 100
Flags und Argumente
Der Befehl bq wait verwendet die folgenden Flags und Argumente:
--fail_on_error={true|false}- Um den Job als erfolgreich zurückzugeben, wenn der Job während der Wartezeit abgeschlossen wurde, auch wenn er fehlgeschlagen ist, legen Sie
falsefest. Der Standardwert isttrue. Nach Ablauf der Wartezeit wird der Befehl mit einem Fehler beendet, wenn der Job noch ausgeführt wird oder abgeschlossen wurde, aber fehlgeschlagen ist. --wait_for_status=STATUSWenn angegeben, wird auf einen bestimmten Jobstatus gewartet, bevor der Vorgang beendet wird. Verwenden Sie einen der folgenden Werte:
PENDINGRUNNINGDONE
Der Standardwert ist
DONE.JOBGibt den Job an, auf den gewartet werden soll. Mit dem Befehl
bq ls --jobs myProjectkönnen Sie nach einer Jobkennung suchen.SECONDSGibt die maximale Wartezeit in Sekunden dafür an, dass der Job abgeschlossen wird. Wenn Sie
0eingeben, fragt der Befehl den Job ab und wird nach dessen Abschluss sofort zurückgegeben. Wenn Sie keinen ganzzahligen Wert angeben, wartet der Befehl, bis der Job abgeschlossen ist.