Referenz zum bq-Befehlszeilentool

In diesem Dokument werden die Syntax, Befehle, Flags und Argumente für das BigQuery-Befehlszeilentool bq beschrieben. Es richtet sich an Nutzer, die mit BigQuery vertraut sind, aber wissen möchten, wie ein bestimmter Befehl des bq-Befehlszeilentools verwendet wird. Allgemeine Informationen zur Verwendung des bq-Befehlszeilentools finden Sie unter bq-Befehlszeilentool verwenden.

Zusammenfassung

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.

Boolesche Flags

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.

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.

Onlinehilfe

Dokumentation im bq-Befehlszeilentool ist so verfügbar:

Beschreibung Format des Hilfebefehls Beispiel
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

Ressourcenspezifikation

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.

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=FILE

Loggt alle API-Anfragen und -Antworten in der von FILE angegebenen 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 geloggt
  • stderr: API-Anfragen und -Antworten werden im Standardfehler geloggt
  • false: API-Anfragen und -Antworten werden nicht geloggt (Standard)
--bigqueryrc=PATH

Gibt den Pfad zur Konfigurationsdatei des bq-Befehlszeilentools an. Wenn Sie das Flag --bigqueryrc nicht angeben, verwendet der Befehl die Umgebungsvariable BIGQUERYRC. Wenn die Umgebungsvariable nicht festgelegt ist, wird $HOME/.bigqueryrc verwendet. Wenn diese Datei nicht vorhanden ist, wird ~/.bigqueryrc verwendet. Weitere Informationen finden Sie unter Standardwerte für Befehlszeilen-Flags festlegen.

--ca_certificates_file=PATH

Gibt den Speicherort der CA-Datei (Certificate Authority Service) an.

--dataset_id=DATASET_ID

Gibt 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_ID im Format PROJECT:DATASET oder DATASET angeben. Wenn der Teil PROJECT fehlt, wird das Standardprojekt verwendet. Sie können die Standardprojekteinstellung durch Angabe des Flags --project_id überschreiben.

--debug_mode={true|false}

Wenn auf true festgelegt, werden Tracebacks für Python-Ausnahmen angezeigt. Der Standardwert ist false.

--disable_ssl_validation={true|false}

Wenn auf true festgelegt, wird die HTTPS-Zertifikatsprüfung aktiviert. Der Standardwert ist false.

--discovery_file=PATH

Gibt die JSON-Datei an, die für die Erkennung gelesen werden soll.

--enable_gdrive={true|false}

Wenn auf false festgelegt, wird ein neues OAuth-Token ohne Google Drive-Bereich angefordert. Der Standardwert ist true, mit dem ein neues OAuth-Token mit dem Drive-Bereich angefordert wird.

--fingerprint_job_id={true|false}

Wenn Sie eine Job-ID verwenden möchten, die von einem Fingerabdruck der Jobkonfiguration abgeleitet wird, legen Sie true fest. Dadurch wird verhindert, dass derselbe Job versehentlich mehrmals ausgeführt wird. Der Standardwert ist false.

--format=FORMAT

Gibt das Format der Ausgabe des Befehls an. Verwenden Sie einen der folgenden Werte:

  • pretty: Formatierte Tabellenausgabe
  • sparse: Einfachere Tabellenausgabe
  • prettyjson: Leicht lesbares JSON-Format
  • json: Maximal komprimiertes JSON
  • csv: CSV-Format mit Header

pretty, sparse und prettyjson sind für Menschen lesbar. json und csv sind für die Verwendung durch ein anderes Programm vorgesehen. Wenn none angegeben ist, erzeugt der Befehl keine Ausgabe. Wenn das Flag --format fehlt, wird basierend auf dem Befehl ein geeignetes Ausgabeformat ausgewählt.

--headless={true|false}

Legen Sie true fest, um die bq-Sitzung ohne Nutzerinteraktion auszuführen. So wird beispielsweise der Debugger durch debug_mode nicht unterbrochen, und die Häufigkeit des Informationsdrucks verringert sich. Der Standardwert ist false.

--httplib2_debuglevel=DEBUG_LEVEL

Gibt an, ob HTTP-Informationen zur Fehlerbehebung angezeigt werden sollen. Wenn DEBUG_LEVEL größer als 0 ist, loggt der Befehl zusätzlich zu Fehlermeldungen HTTP-Serveranfragen und -Antworten an stderr. Wenn DEBUG_LEVEL nicht > 0 ist oder wenn das Flag --httplib2_debuglevel nicht verwendet wird, werden nur Fehlermeldungen angezeigt.

Beispiel:

--httplib2_debuglevel=1

--job_id=JOB_ID

Gibt eine Jobkennung für einen neuen Job an. Dieses Flag gilt nur für Befehle, die Jobs erstellen: cp, extract, load und query. Wenn Sie das Flag --job_id nicht verwenden, generieren die Befehle eine eindeutige Jobkennung. Weitere Informationen finden Sie unter Jobs programmatisch ausführen.

--job_property=KEY:VALUE

Ein 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=LOCATION

Ein String, der Ihrer Region oder Ihrem multiregionalen Standort entspricht. Für den Befehl bq cancel und den Befehl bq show ist das Standort-Flag erforderlich, wenn Sie das Flag --jobs zum Abrufen von Jobinformationen verwenden. Für die folgenden Befehle ist das Standort-Flag optional:

  • query
  • cp
  • load
  • extract
  • partition
  • update
  • wait
  • mk, wenn Sie die Flags --dataset, --reservation, --capacity_commitment oder --reservation_assignment verwenden
  • ls, wenn Sie die Flags --reservation, --capacity_commitment oder --reservation_assignment verwenden

Alle anderen Befehle ignorieren das Flag --location.

--max_rows_per_request=MAX_ROWS

Eine Ganzzahl, die die maximale Anzahl von Zeilen angibt, die pro Lesevorgang zurückgegeben werden.

--project_id=PROJECT

Gibt das Projekt an, das für Befehle verwendet werden soll.

--proxy_address=PROXY

Gibt den Namen oder die IP-Adresse des Proxyhosts an, der für die Verbindung mit Google Cloud verwendet werden soll.

--proxy_password=PASSWORD

Gibt das Passwort an, das zur Authentifizierung beim Proxyhost verwendet werden soll.

--proxy_port=PORT

Gibt die Portnummer zum Herstellen der Verbindung mit dem Proxyhost an.

--proxy_username=USERNAME

Gibt den Nutzernamen für die Authentifizierung beim Proxyhost an.

--quiet={true|false} oder -q={true|false}

Legen Sie true fest, um Statusaktualisierungen während der Ausführung von Jobs zu unterdrücken. Der Standardwert ist false.

--synchronous_mode={true|false} oder -sync={true|false}

Legen Sie false fest, um den Job zu erstellen und sofort einen erfolgreichen Abschlussstatus als Fehlercode zurückzugeben. Wenn dieses Flag auf true festgelegt 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 ist true.

--trace=token:TOKEN

Gibt 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_endpoints auf true und das Flag --location auf die Region, mit der Sie eine Verbindung herstellen möchten. Der Standardwert ist false.

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:

  1. Mit dem Befehl bq get-iam-policy die Richtliniendatei abrufen (im JSON-Format).
  2. Richtliniendatei bearbeiten.
  3. Mit dem Befehl bq set-iam-policy die 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:MEMBER

Erforderlich. Verwenden Sie das Flag --member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag --member ist zusammen mit dem Flag --role erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

Der Wert MEMBER_TYPE gibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:

  • user
  • serviceAccount
  • group
  • domain

Der Wert MEMBER gibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.

--role=ROLE

Erforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag --role ist zusammen mit dem Flag --member erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

--table={true|false}

Wenn Sie einen Fehler zurückgeben möchten, wenn das Argument RESOURCE keine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag --table auf true. Der Standardwert ist false. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.

RESOURCE

Die 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 cancel ausgeführt wurde, legen Sie das globale Flag --synchronous_mode auf false fest. Die Standardeinstellung ist true.
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:

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 true fest. Der Standardwert ist false.

Sie können die Flag-Einstellungen --append_table=true und --clone=true nicht gleichzeitig verwenden.

--clone={true|false}

Zum Erstellen eines Tabellenklons legen Sie true fest. Die Basistabelle kann eine Tabelle, ein Tabellenklon oder ein Tabellen-Snapshot sein. Die Zieltabelle ist ein Tabellenklon. Der Standardwert ist false. Wenn weder --clone=true noch --snapshot=true angegeben ist, ist die Zieltabelle derselbe Tabellentyp wie die Basistabelle.

Sie können die Flag-Einstellungen --append_table=true und --clone=true nicht gleichzeitig verwenden.

--destination_kms_key=KEY

Gibt 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=SECONDS

Die 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 --snapshot verwendet.

--force={true|false} oder -f={true|false}

Wenn Sie die Zieltabelle, falls sie vorhanden ist, ohne Eingabeaufforderung überschreiben möchten, legen Sie true fest. Der Standardwert ist false; 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 true fest. Der Standardwert ist false; wenn die Zieltabelle vorhanden ist, wird sie überschrieben.

--restore={true|false}

Dieses Flag wird verworfen. Verwenden Sie den Befehl bq cp oder bq 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 Argument SOURCE_TABLE angegeben ist. Die Basistabelle kann eine Standardtabelle, ein Tabellenklon oder ein anderer Tabellen-Snapshot sein. Der Standardwert ist false. Wenn weder --clone=true noch --snapshot=true angegeben ist, ist die Zieltabelle derselbe Tabellentyp wie die Basistabelle. Erfordert das Flag --no_clobber.

SOURCE_TABLE

Die Tabelle, die Sie kopieren möchten.

DESTINATION_TABLE

Die Tabelle, in die Sie kopieren möchten.

Weitere Informationen zur Verwendung des Befehls cp finden Sie hier:

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_TYPE

Gibt den Komprimierungstyp an, der für exportierte Dateien verwendet werden soll. Folgende Werte sind möglich:

  • GZIP
  • DEFLATE
  • SNAPPY
  • NONE

Der Standardwert ist NONE.

Informationen dazu, welche Formate für die einzelnen Komprimierungstypen unterstützt werden, finden Sie unter Formate und Komprimierungstypen.

--destination_format=FORMAT

Gibt das Format für die exportierten Daten an. Folgende Werte sind möglich:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • PARQUET

Der Standardwert ist CSV.

--field_delimiter=DELIMITER

Gibt 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 \t oder tab verwenden, um Tabulatortrennzeichen anzugeben.

--print_header={true|false}

Wenn Sie das Drucken von Kopfzeilen für Formate mit Headern unterdrücken möchten, legen Sie false fest. Der Standardwert ist true; Headerzeilen sind enthalten.

RESOURCE

Die Tabelle, aus der Sie exportieren.

DESTINATION

Der 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 oder eine Ansicht sein. Die Richtlinie hat das JSON-Format.

Zusammenfassung

bq get-iam-policy [FLAGS] RESOURCE

Beispiel

bq get-iam-policy myDataset.myTable

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 RESOURCE keine Tabellen- oder Ansichts-ID ist, setzen Sie das Flag --table auf true. Der Standardwert ist false. Dieses Flag wird für die Konsistenz mit anderen Befehlen unterstützt.
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 true fest. Der Standardwert ist false. 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 true festgelegt 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 auf false gesetzt ist, werden Zeilen mit Daten, die nicht mit dem Schema der Tabelle übereinstimmen, nicht eingefügt. Der Standardwert ist false.
--skip_invalid_rows={true|false} oder -s={true|false}
Wenn true festgelegt ist, versucht BigQuery, gültige Zeilen einzufügen, auch wenn ungültige Zeilen vorhanden sind. Wenn false festgelegt ist, schlägt der Befehl fehl, wenn ungültige Zeilen vorhanden sind. Der Standardwert ist false.
--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 true fest.
--preserve_ascii_control_characters={true|false}
Um eingebettete ASCII-Steuerzeichen in CSV-Daten zuzulassen, legen Sie auf true fest.
--allow_quoted_newlines={true|false}
Um Zeilenumbrüche in CSV-Daten in Anführungszeichen zuzulassen, legen Sie true fest.
--autodetect={true|false}
Um die automatische Schemaerkennung für CSV- und JSON-Daten zu aktivieren, legen Sie true fest. Die Standardeinstellung ist false. Wenn --autodetect den Wert false hat und mit dem Flag --schema kein 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.
--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 \t oder tab verwenden, um Tabulatortrennzeichen anzugeben.
--ignore_unknown_values={true|false}
Wenn dieses Flag für CSV- und JSON-Dateien auf true festgelegt 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 auf true festgelegt ist, werden Felder im Dateischema, die nicht im Tabellenschema vorhanden sind, ignoriert und nicht geladen.
--json_extension=JSON_TYPE

Gibt 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_format auf NEWLINE_DELIMITED_JSON gesetzt sein.

Weitere Informationen finden Sie unter Durch Zeilenumbruch getrennte GeoJSON-Dateien laden.

--max_bad_records=MAX

Eine 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=STRING

Ein optionaler benutzerdefinierter String, der einen NULL-Wert in CSV-Daten darstellt.

--projection_fields=PROPERTY_NAMES

Wenn Sie --source_format auf DATASTORE_BACKUP setzen, 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=CHARACTER

Gibt ein Anführungszeichen zum Hervorheben von Feldern in CSV-Daten an. Das Argument CHARACTER kann 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 true fest, 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_key angeben. Der Standardwert ist false.

Entspricht dem WRITE_TRUNCATE-Wert für JobConfigurationLoad.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_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiel:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

Wenn kein Schema angegeben ist, --autodetect den Wert false hat und die Zieltabelle vorhanden ist, wird das Schema der Zieltabelle verwendet.

--schema_update_option=OPTION

Gibt 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 von REQUIRED-Feldern in NULLABLE

Wiederholen Sie dieses Flag, wenn Sie mehrere Optionen für die Schemaaktualisierung angeben möchten.

--skip_leading_rows=NUMBER_OF_ROWS

Eine Ganzzahl, die die Anzahl der zu überspringenden Zeilen am Anfang der Quelldatei angibt. Der Standardwert ist 0.

--file_set_spec_type=FILE_SET_SPEC_TYPE

Gibt 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. Alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.

Wenn Sie beispielsweise den Quell-URI "gs://bucket/path/file" haben und file_set_spec_type den Wert FILE_SYSTEM_MATCH hat, wird die Datei direkt als Datendatei verwendet. Wenn file_set_spec_type den Wert NEW_LINE_DELIMITED_MANIFEST hat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.

--source_format=FORMAT

Das Format der Quelldaten. Verwenden Sie einen der folgenden Werte:

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP (diesen Wert für Filestore verwenden)
  • PARQUET
  • ORC
--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_field=COLUMN_NAME

Gibt 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=INTERVAL

Aktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR

Der Standardpartitionstyp für die zeitbasierte Partitionierung ist DAY.

--use_avro_logical_types={true|false}

Wenn das Flag --source_format auf AVRO gesetzt ist, legen Sie dieses Flag auf true fest, um logische Typen in die entsprechenden Typen wie TIMESTAMP zu konvertieren, anstatt nur deren Rohtypen (z. B. INTEGER) zu verwenden.

--decimal_target_types=DECIMAL_TYPE

Bestimmt, wie ein logischer Decimal-Typ konvertiert wird. Entspricht JobConfigurationLoad.decimalTargetTypes. Wiederholen Sie dieses Flag, um mehrere Zieltypen anzugeben.

--parquet_enum_as_string={true|false}

Wenn das Flag --source_format auf PARQUET festgelegt ist und BigQuery die logischen Typen von ENUM-Parquet als STRING-Werte ableiten soll, setzen Sie dieses Flag auf true. Der Standardwert ist false.

--parquet_enable_list_inference={true|false}

Wenn das Flag --source_format auf PARQUET festgelegt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LIST verwendet werden sollen.

--reference_file_schema_uri=URI

Gibt den Pfad zu einer Referenzdatei mit dem erwarteten Tabellenschema zum Erstellen externer Tabellen an. Entspricht ExternalDataConfiguration.referenceFileSchemaUri. Dieses Flag ist für Avro-, ORC- und PARQUET-Formate aktiviert.

DESTINATION_TABLE

Die Tabelle, in die Sie Daten laden möchten.

SOURCE_DATA

Der Cloud Storage-URI der Datei mit den Daten, die Sie laden möchten.

SCHEMA

Das Schema für die Zieltabelle.

Weitere Informationen zum Laden von Daten aus Cloud Storage mit dem Befehl bq load finden Sie hier:

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 true fest. 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 ist false.
--capacity_commitment={true|false}

Legen Sie zum Auflisten der Kapazitätszusicherungen den Wert true fest und geben Sie den Standort mit dem Flag --location an. 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 ist false.

--filter="FILTER"

Die aufgeführten Ressourcen werden nach dem FILTER-Argument gefiltert.

Bei Datasets besteht FILTER aus einem oder mehreren durch Leerzeichen getrennten Trips im Format labels.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 Operator AND, nicht OR). Wenn Sie mehr als ein Tripel angeben möchten, dann setzen Sie den Wert FILTER in 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 dataSourceIds als Schlüssel und eine der folgenden Datenquellen als Wert, um nach Übertragungskonfigurationen zu filtern:

Beispiel:

   --filter labels.dataSourceIds:dcm_dt
   

Verwenden Sie für Übertragungsausführungen die states als Schlüssel und einen der folgenden Übertragungsstatus als Wert: +SUCCEEDED +FAILED +PENDING +RUNNING +CANCELLED

 For example:
 <pre>
 --filter labels.states:FAILED
 </pre>

Für Jobs wird das Filterflag nicht unterstützt.

--jobs={true|false} oder -j={true|false}
Wenn Sie Jobs auflisten möchten, legen Sie dieses Flag auf true fest. Der Standardwert ist false. Es gilt standardmäßig ein Limit von 100.000 Ergebnissen.
--max_creation_time=MAX_CREATION_TIME_MS
Eine Ganzzahl, die einen Unix-Epoch-Zeitstempel in Millisekunden darstellt. Bei Angabe mit dem Flag --jobs listet 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_token verwenden, um alle Jobs mit Paginierung aufzulisten.
--min_creation_time=MIN_CREATION_TIME_MS
Eine Ganzzahl, die einen UNIX-Zeitstempel in Millisekunden darstellt. Bei Angabe mit dem Flag --jobs listet dieses Flag nur die Jobs auf, die nach dem Zeitstempel erstellt wurden.
--message_type=messageTypes:MESSAGE_TYPE

Um nur Logmeldungen für Übertragungsjobs eines bestimmten Typs aufzulisten, geben Sie messageTypes:MESSAGE_TYPE an. Folgende Werte sind möglich:

  • INFO
  • WARNING
  • ERROR
--models={true|false} oder -m={true|false}

Legen Sie true fest, um BigQuery ML-Modelle aufzulisten. Der Standardwert ist false.

--page_token=TOKEN oder -k=TOKEN

Listet Elemente ab dem angegebenen Seitentoken auf.

--projects={true|false} oder -p={true|false}

Legen Sie true fest, um alle Projekte anzeigen zu lassen. Der Standardwert ist false.

--reservation={true|false}

Um alle Reservierungen für ein bestimmtes Projekt und einen bestimmten Standort aufzulisten, setzen Sie den Wert true. Der Standardwert ist false. Verwenden Sie ihn mit den Flags --project_id und --location.

Beispiel:

bq ls --reservation=true --project_id=myProject --location=us

--reservation_assignment={true|false}

Legen Sie true fest, um alle Reservierungszuweisungen für ein bestimmtes Projekt und einen Standort aufzulisten. Der Standardwert ist false. Wird mit den Flags --project_id und --location verwendet.

--routines={true|false}

Legen Sie true fest, um alle Abläufe im angegebenen Dataset aufzulisten. Der Standardwert ist false. Zu den Abläufen gehören nichtflüchtige benutzerdefinierte Funktionen, Tabellenfunktionen (Vorschau) und gespeicherte Prozeduren.

--row_access_policies

Listet 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.table angeben.

--run_attempt=RUN_ATTEMPT

Wird mit dem Flag --transfer_run verwendet. Legen Sie RUN_ATTEMPT_UNSPECIFIED fest, um alle Ausführungsversuche für die angegebene Übertragungsausführung aufzulisten. Legen Sie LATEST fest, um nur den letzten Ausführungsversuch aufzulisten. Der Standardwert ist LATEST.

--transfer_config={true|false}

Legen Sie true fest, um Übertragungskonfigurationen im angegebenen Projekt und am angegebenen Standort aufzulisten. Wird mit den Flags --transfer_location und --project_id verwendet. Der Standardwert ist false.

--transfer_location=LOCATION

Listet Übertragungskonfigurationen am angegebenen Standort auf. Sie legen den Übertragungsort bei der Erstellung der Übertragung fest.

--transfer_log={true|false}

Wird mit dem Flag --transfer_run verwendet. Legen Sie true fest, um Übertragungslogmeldungen für die angegebene Übertragungsausführung aufzulisten. Der Standardwert ist false.

--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

RESOURCE

Die 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:

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.

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 true fest. Wenn die Ressource bereits vorhanden ist, ist der Exit-Code 0, aber das Festlegen des Flags auf true bewirkt nicht, dass der Befehl bq mk die Ressource überschreibt. Der Standardwert ist false.

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 Speicherort der Zusicherung an.
--plan=PLAN_TYPE

Gibt den Typ des Zusicherungsplans an Dies muss einer der folgenden Werte sein:

  • ANNUAL
  • THREE_YEAR

Kunden, die die bisherigen Pauschalpreise nutzen, können auch einen der folgenden Werte verwenden:

  • FLEX
  • MONTHLY
  • ANNUAL
--renewal_plan=RENEWAL_TYPE

Gibt den Typ des Verlängerungsplans an. Erforderlich für Zusicherungspläne vom Typ ANNUAL oder THREE_YEAR. Muss einer der folgenden Werte sein:

  • ANNUAL
  • THREE_YEAR
  • NONE

Kunden, die die bisherigen Pauschalpreise nutzen, können auch einen der folgenden Werte verwenden:

  • FLEX
  • MONTHLY
  • ANNUAL
--project_id=PROJECT_ID

Gibt das Projekt an, das die Slots verwaltet.

--slots=NUMBER_OF_BASELINE_SLOTS

Gibt die Anzahl der Referenzslots an, die gekauft werden sollen.

--edition=EDITION

Die mit der Kapazitätszusicherung verknüpfte Version. Dies muss einer der folgenden Datentypen sein:

  • ENTERPRISE
  • ENTERPRISE_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_SQL für Cloud SQL-Verbindungen.
--properties=PROPERTIES

Verbindungsspezifische Parameter im JSON-Format. instanceId, database und type müssen angegeben werden.

Wenn Sie eine Spanner-Verbindung erstellen und Data Boost verwenden möchten, geben Sie die Paare "useParallelism":true und "useDataBoost":true an.

--connection_credential=CONNECTION_CREDENTIAL

Die Anmeldedaten der Verbindung im JSON-Format. username und password müssen angegeben werden.

--project_id=PROJECT_ID

Gibt die ID des Projekts an, zu dem die Verbindung gehört.

--location=LOCATION

Gibt den Standort an, an dem die Verbindung gespeichert wird.

--display_name=DISPLAY_NAME

Gibt einen optionalen Anzeigenamen für die Verbindung an.

--description=DESCRIPTION

Gibt eine optionale Beschreibung der Verbindung an.

--iam_role_id=ROLE_ID

Gibt 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_ID

Gibt für BigQuery Omni in Azure die Mandanten-ID des Azure-Verzeichnisses an, das das Azure Storage-Konto enthält.

CONNECTION_ID

Gibt 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 den neuen Datensatz 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_expiration angeben, 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 einen föderierten Datensatz erstellen.
--label=KEY:VALUE
Gibt ein Label für das Dataset an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.
--location=LOCATION oder --data_location=LOCATION
Gibt den Speicherort des Datasets an. Ziehen Sie das Flag --location vor. Das Flag --data_location ist 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_hours muss 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_MODEL

Gibt das Speicherabrechnungsmodell für ein Dataset an. Legen Sie den Wert --storage_billing_model auf PHYSICAL fest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder auf LOGICAL, um logische Byte zu verwenden. Standardmäßig ist LOGICAL ausgewä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 false fest. Der Standardwert beim Erstellen einer materialisierten Ansicht ist true.
--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 true fest. Der Standardwert ist false. 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:
  • STANDARD
  • ENTERPRISE
  • ENTERPRISE_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 --edition verfügbar.

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:
  • FOLDER
  • ORGANIZATION
  • PROJECT
--job_type=JOB_TYPE
GIbt die Art des Jobs, der der Reservierung zugewiesen werden soll. Einer der folgenden:
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
  • BACKGROUND
--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 --expiration nicht angeben, erstellt BigQuery die Tabelle mit der Standardlebensdauer des Datasets für Tabellen oder die Tabelle läuft nicht ab.
--external_table_definition=STRING

Gibt 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 DEFINITION lautet SCHEMA@FORMAT=URI.
  • Das Format für den Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. Sie können den Wert SCHEMA weglassen, wenn das Datenformat selbstbeschreibend ist (z. B. Avro) oder wenn Sie die automatische Schemaerkennung verwenden.

  • Der Wert FORMAT gibt das Datenformat an. Beispiele:

    • AVRO
    • CSV
    • DATASTORE_BACKUP (diesen Wert für Filestore verwenden)
    • ICEBERG
    • NEWLINE_DELIMITED_JSON
    • ORC
    • PARQUET

Wenn Sie eine Tabellendefinitionsdatei angeben, verwenden Sie keine Endung.

Beispiel:

--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv

Für Bigtable-externe 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 FORMAT gibt das Datenformat an. Beispiele:

    • AVRO
    • CSV
    • NEWLINE_DELIMITED_JSON
    • ICEBERG
    • ORC
    • PARQUET
  • BUCKET_PATH ist der Pfad zu einer oder mehreren Dateien in Cloud Storage, die die BigLake-Tabellendaten enthalten. Sie können BUCKET_PATH in 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 Bucketn: 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/*.parquet an. 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.

Für Objekttabellen:

--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME :

  • BUCKET_PATH ist der Pfad zu dem Cloud Storage-Bucket, das die durch die Objekttabelle dargestellten Objekte im Format gs://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/*.pdf an. 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_TYPE

Gibt 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. Alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.

Wenn Sie beispielsweise den Quell-URI "gs://bucket/path/file" haben und file_set_spec_type den Wert FILE_SYSTEM_MATCH hat, wird die Datei direkt als Datendatei verwendet. Wenn file_set_spec_type den Wert NEW_LINE_DELIMITED_MANIFEST hat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.

--reference_file_schema_uri=URI

Gibt den Pfad zu einer Referenzdatei mit dem erwarteten Tabellenschema zum Erstellen externer Tabellen an. Entspricht ExternalDataConfiguration.referenceFileSchemaUri. Dieses Flag ist für Avro-, ORC- und PARQUET-Formate aktiviert.

--label=KEY:VALUE

Gibt ein Label für die Tabelle an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.

--max_staleness=INTERVAL

Gibt 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 Formats Y-M D H:M:S. Beispiel: Geben Sie 0-0 0 4:0:0 fü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=STRING

Legen Sie den Wert dieser Option beim Erstellen einer Objekttabelle auf SIMPLE fest.

Nur erforderlich, wenn Sie eine Objekttabelle erstellen.

--range_partitioning=COLUMN_NAME,START,END,INTERVAL

Gibt Optionen für eine Partition nach Ganzzahlbereich so an:

  • column_name ist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.
  • start ist der Anfang der Bereichspartitionierung (einschließlich).
  • end ist das Ende der Bereichspartitionierung (ausschließlich).
  • interval ist 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 true fest. Es gilt nur für partitionierte Tabellen. 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_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiele:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--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_field=COLUMN_NAME

Gibt 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=INTERVAL

Aktiviert die zeitbasierte Partitionierung für eine Tabelle und legt den Partitionstyp fest. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR
--use_avro_logical_types={true|false}

Wenn der Teil FORMAT des Flags --external_table_definition auf AVRO gesetzt 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 auf PARQUET festgelegt ist, gibt dieses Flag an, obSchemainferenz für Parquet-LIST logische Typen verwendet werden sollen.

--parquet_enum_as_string={true|false}

Wenn der Teil FORMAT des --external_table_definition-Flags auf PARQUET gesetzt ist, gibt dieses Flag an, ob Parquet für ENUM logische Typen als STRING-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:
--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_ads verwendet. Der Parameter TABLES ist eine durch Kommas getrennte Liste von Tabellen, die in die Übertragung einbezogen werden sollen. Wenn Sie eine Tabelle ausschließen möchten, stellen Sie ihr einen Bindestrich (-) voran. Der Standardwert umfasst alle Tabellen in der Übertragung.

Informationen zum Verwenden des Befehls bq mk mit BigQuery Data Transfer Service finden Sie unter:

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 den 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 SECONDS den Wert 0 hat, läuft die Ansicht nicht ab. Wenn Sie das Flag --expiration nicht 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 false fest, um eine Google SQL-Abfrage zum Erstellen einer Ansicht zu verwenden. Der Standardwert ist true; verwendet Legacy-SQL.
--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_mode

Gibt 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_prefix

Gibt 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 CUSTOM fü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.avro
  • gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro

Wenn Sie den AUTO- oder STRINGS-Modus verwenden, sind die folgenden Werte akzeptabel:

  • gs://bucket/path_to_table
  • gs://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=STRING

Gibt an, ob der Metadaten-Cache für die Tabelle automatisch oder manuell aktualisiert wird.

Legen Sie AUTOMATIC fest, damit der Metadaten-Cache in einem systemdefinierten Intervall aktualisiert wird, normalerweise zwischen 30 und 60 Minuten.

Legen Sie MANUAL fest, 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_CACHE aufrufen, um den Cache zu aktualisieren.

Sie müssen das Flag --metadata_cache_mode festlegen, wenn Sie das Flag --max_staleness mit dem Befehl bq mk festlegen.

--parquet_enable_list_inference={true|false}

Wenn source_format auf PARQUET gesetzt ist, gibt dieses Flag an, ob Schemainferenz für logische Typen von Parquet-LIST verwendet werden sollen. Der Standardwert ist false.

--parquet_enum_as_string={true|false}

Wenn source_format auf PARQUET gesetzt ist, gibt dieses Flag an, ob die logischen Typen von Parquet-ENUM als STRING-Werte abgeleitet werden sollen. Der Standardwert ist false.

--file_set_spec_type=FILE_SET_SPEC_TYPE

Gibt 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. Alle referenzierten Datendateien müssen sich im selben Bucket wie das Manifest befinden.

Wenn Sie beispielsweise den Quell-URI "gs://bucket/path/file" haben und file_set_spec_type den Wert FILE_SYSTEM_MATCH hat, wird die Datei direkt als Datendatei verwendet. Wenn file_set_spec_type den Wert NEW_LINE_DELIMITED_MANIFEST hat, wird jede Zeile in der Datei als URI interpretiert, der auf eine Datendatei verweist.

--source_format=FORMAT

Gibt das Format der Quelldaten an. Verwenden Sie einen der folgenden Werte:

  • AVRO
  • CSV
  • DATASTORE_BACKUP (diesen Wert für Filestore verwenden)
  • GOOGLE_SHEETS
  • NEWLINE_DELIMITED_JSON
  • ORC
  • PARQUET

Der Standardwert ist CSV.

--use_avro_logical_types={true|false}

Wenn das Flag --source_format auf AVRO gesetzt 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 ist false.

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 true fest. Der Standardwert ist false. 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=INTERVAL

Gibt den Partitionstyp an. Die folgende Tabelle enthält die möglichen Werte für das Flag INTERVAL und das erwartete Format für das Zeit-Einheit-Suffix:

INTERVAL Suffix
HOUR YYYYMMDDHH
DAY YYYYMMDD
MONTH YYYYMM
YEAR YYYY
SOURCE_TABLE_BASE_NAME

Der Basisname der Tabellengruppe mit Zeit-Einheit-Suffixen.

PARTITION_TABLE

Der 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 true fest. Der Standardwert ist false.
--append_table={true|false}
Wenn Sie Daten an eine Zieltabelle anfügen möchten, legen Sie true fest. Der Standardwert ist false.
--batch={true|false}
Wenn Sie die Abfrage im Batchmodus ausführen möchten, legen Sie true fest. Der Standardwert ist false.
--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:VALUE

Ein 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.

Folgende Verbindungseigenschaften werden unterstützt:

  • dataset_project_id: Stellt das Standardprojekt für Datasets dar, die in der Abfrage verwendet werden, ähnlich wie die @@dataset_project_id-Systemvariable.
  • query_label: Hiermit wird die Abfrage mit einem bestimmten Joblabel verknüpft. Wenn diese Option festgelegt ist, haben alle nachfolgenden Abfragen in einem Script oder einer Sitzung dieses Label. Weitere Informationen zu den Anforderungen an die Formatierung von Abfragelabels finden Sie im Feld labels der Ressource JobConfiguration.
  • 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: Verknüpft die Abfrage mit einer bestimmten Sitzung.
  • time_zone: Die Standardzeitzone, die für die Ausführung der Abfrage verwendet werden soll.
--continuous={true|false}

Wenn Sie eine kontinuierliche Abfrage (Vorabversion) ausführen möchten, legen Sie true fest. Der Standardwert ist false.

--destination_kms_key=KEY

Gibt 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 mit dem Flag --destination_table in eine Tabelle schreiben 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=TABLE

Wenn dieses Flag angegeben ist, werden die Abfrageergebnisse unter TABLE gespeichert. Geben Sie TABLE im folgenden Format an: PROJECT:DATASET.TABLE. Wenn PROJECT nicht angegeben ist, wird vom aktuellen Projekt ausgegangen. Wenn das Flag --destination_table nicht 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 Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE usw. Wenn Sie eine Tabellendefinitionsdatei verwenden, verwenden Sie keine Endung.

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 false fest. Der Standardwert ist true.

--label=KEY:VALUE

Gibt ein Label für den Abfragejob an. Wiederholen Sie dieses Flag, um mehrere Labels anzugeben.

--max_rows=MAX_ROWS oder -n=MAX_ROWS

Eine Ganzzahl, die die Anzahl der Zeilen angibt, die in den Abfrageergebnissen zurückgegeben werden sollen. Der Standardwert ist 100.

--maximum_bytes_billed=MAX_BYTES

Eine 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=VALUE

Eine 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.0 verwendet.

--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. Wenn TYPE weggelassen wird, wird der Typ STRING angenommen. NULL gibt 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,INTERVAL

Wird mit dem Flag --destination_table verwendet. Gibt Optionen für die Partitionierung nach Ganzzahlbereich in der Zieltabelle an. Der Wert ist eine durch Kommas getrennte Liste im Format column_name,start,end,interval, wobei

  • column_name ist die Spalte, die zum Erstellen der Partitionen nach Ganzzahlbereich verwendet wird.
  • start ist der Anfang der Bereichspartitionierung (einschließlich).
  • end ist das Ende der Bereichspartitionierung (ausschließlich).
  • interval ist die Breite des jeweiligen Bereichs in der Partition.

Beispiel:

--range_partitioning=customer_id,0,10000,100

--replace={true|false}

Legen Sie true fest, 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_key angeben. Der Standardwert ist false.

--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.

--rpc={true|false}

Wenn Sie die Abfrage-API im RPC-Format anstelle der REST API-Methode jobs.insert verwenden möchten, legen Sie true fest. Der Standardwert ist false.

--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=OPTION

Gibt 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 von REQUIRED-Feldern in NULLABLE.

Wiederholen Sie dieses Flag, um mehrere Optionen für die Schemaaktualisierung anzugeben.

--start_row=ROW_NUMBER oder -s=ROW_NUMBER

Eine Ganzzahl, die die erste Zeile angibt, die im Abfrageergebnis zurückgegeben werden soll. Der Standardwert ist 0.

--target_dataset=DATASET

Bei Angabe dieses Flags mit --schedule wird das Ziel-Dataset für eine geplante Abfrage aktualisiert. Die Abfrage muss in DDL oder DML vorliegen.

--time_partitioning_expiration=SECONDS

Wird mit dem Flag --destination_table verwendet. 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_NAME

Wird mit dem Flag --destination_table verwendet. 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=INTERVAL

Wird mit dem Flag --destination_table verwendet. Gibt den Partitionstyp für die Zieltabelle an. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR
--udf_resource=FILE

Dieses 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 false fest. Der Standardwert ist true.

--use_legacy_sql={true|false}

Zum Ausführen einer GoogleSQL-Abfrage legen Sie false fest. Der Standardwert ist true. 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.

QUERY

Die 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: Die Stringliterale in der Abfrage werden in doppelte Anführungszeichen gesetzt und die Abfrage selbst in einfache Anführungszeichen:

    'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
    

    Wenn Sie die Abfrage von einem anderen Speicherort kopieren, müssen Sie auch alle Kommentare in der Abfrage entfernen.

  • Geben Sie ein SQL-Script mit der Abfrage ein. Im folgenden Beispiel wird gezeigt, wie ein SQL-Script 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:

  1. Mit dem Befehl bq get-iam-policy die Richtliniendatei abrufen (im JSON-Format).
  2. Richtliniendatei bearbeiten.
  3. Die Richtlinie mit dem Befehl bq set-iam-policy ohne 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:MEMBER

Erforderlich. Verwenden Sie das Flag --member, um den Mitgliedsteil der IAM-Richtlinienbindung anzugeben. Das Flag --member ist zusammen mit dem Flag --role erforderlich. Eine Kombination aus --member- und --role-Flags entspricht einer Bindung.

Der Wert MEMBER_TYPE gibt den Typ des Mitglieds in der IAM-Richtlinienbindung an. Verwenden Sie einen der folgenden Werte:

  • user
  • serviceAccount
  • group
  • domain

Der Wert MEMBER gibt die E-Mail-Adresse oder Domain des Mitglieds in der IAM-Richtlinienbindung an.

--role=ROLE

Erforderlich. Gibt den Rollenteil der IAM-Richtlinienbindung an. Das Flag --role ist zusammen mit dem Flag --member erforderlich. 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 true fest. Der Standardwert ist false.

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 true fest, geben Sie mit dem Flag --location den Standort der Zusicherung an, die Sie entfernen möchten, und ersetzen Sie RESOURCE durch 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 true fest. Der Standardwert ist false.
--force={true|false} oder -f={true|false}
Wenn Sie eine Ressource ohne Eingabeaufforderung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--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 true fest. Der Standardwert ist false.
--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 true fest. Der Standardwert ist false.
--reservation={true|false}
Wenn Sie eine Reservierung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--reservation_assignment={true|false}
Wenn Sie eine Reservierungszuweisung löschen möchten, legen Sie true fest. Der Standardwert ist false.
--routine={true|false}
Wenn Sie einen Ablauf löschen möchten, setzen Sie auf true. Der Standardwert ist false. 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 true fest. Der Standardwert ist false.
--transfer_config={true|false}
Wenn Sie eine Übertragungskonfiguration löschen möchten, legen Sie true fest. Der Standardwert ist false.
RESOURCE
Die Ressource, die Sie entfernen möchten.

Weitere Informationen zur Verwendung des Befehls bq rm finden Sie hier:

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 oder eine Ansicht 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

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 true fest. Der Standardwert ist false.

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_assignment die ID eines Ordners, einer Organisation oder eines Projekts an. Mit dem Flag --assignee_type geben Sie an, welche Art von Zuständigen angezeigt werden soll.
--assignee_type=TYPE
Gibt bei Verwendung mit dem Flag --reservation_assignment den Typ der abzurufenden Entität an. Verwenden Sie einen der folgenden Werte:
  • FOLDER
  • ORGANIZATION
  • PROJECT
--connection={true|false}
Legen Sie true fest, um Informationen zu einer Verbindung anzeigen zu lassen. Der Standardwert ist false. Weitere Informationen finden Sie unter Verbindungsressource abrufen.
--dataset={true|false} oder -d={true|false}
Legen Sie true fest, um Informationen zu einer Reservierung abzurufen. Der Standardwert ist false.
--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 true fest. Der Standardwert ist false. Wird mit dem Flag --project_id verwendet.
--job={true|false} oder -j={true|false}
Um Informationen zu einem Job aufzurufen, legen Sie true fest. Der Standardwert ist false.
--job_type=JOB_TYPE
Gibt bei Verwendung mit dem Flag --reservation_assignment den Jobtyp der Reservierungszuweisungen an, die angezeigt werden sollen. Verwenden Sie einen der folgenden Werte:
  • QUERY
  • PIPELINE
  • ML_EXTERNAL
--model={true|false} oder -m={true|false}
Legen Sie true fest, um Informationen zu einem BigQuery ML-Modell abzurufen. Der Standardwert ist false.
--reservation={true|false}
Legen Sie true fest, um Informationen zu einer Reservierung abzurufen. Der Standardwert ist false.
--reservation_assignment={true|false}
Wenn dieser Wert auf true gesetzt 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_type und --assignee_id angewendet. Der Standardwert ist false.
--routine={true|false}
Legen Sie true fest, um Informationen zu einem Ablauf anzeigen zu lassen. Der Standardwert ist false. 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 true fest. Der Standardwert ist false.
--transfer_config={true|false}
Legen Sie true fest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert ist false.
--transfer_run={true|false}
Legen Sie true fest, um Informationen zu einer Übertragungsausführung aufzurufen. Der Standardwert ist false.
--view={true|false}
Legen Sie true fest, um Informationen zu einer Ansicht aufzurufen. Der Standardwert ist false.
RESOURCE
Die Ressource, deren Informationen Sie aufrufen möchten.

Weitere Informationen zur Verwendung des Befehls bq show finden Sie hier:

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 Datensätze 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 --reservation verfügbar und wenn die Reservierung mit einer Version erstellt wurde.
--capacity_commitment={true|false}
Zum Aktualisieren einer Kapazitätszusicherung legen Sie true fest. Verwenden Sie dieses Flag mit den Flags --merge, --plan, --renewal_plan, --split und --slots.
--clear_all_tags={true|false}
Nur für Datensätze und Tabellen verfügbar. Wenn Sie alle Tags aus einer Ressource löschen möchten, legen Sie true fest. Der Standardwert ist false.
--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 --reservation die 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 true fest. Der Standardwert ist false.
--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=SECONDS

Eine 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_expiration angeben, hat der Ablauf der Partition auf Tabellenebene Vorrang vor dem Ablaufdatum der Standardpartition auf Dataset-Ebene. Geben Sie 0 an, um einen vorhandenen Ablauf zu entfernen.

--default_table_expiration=SECONDS

Eine 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 0 an, um den vorhandenen Ablauf zu entfernen.

--description=DESCRIPTION

Aktualisiert die Beschreibung eines Datasets, einer Tabelle, eines Tabellen-Snapshots, eines Modells oder einer Ansicht.

--destination_reservation_id=RESERVATION_ID

Bei Verwendung mit dem Flag --reservation_assignment wird 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_NAME

Aktualisiert den Anzeigenamen für eine Übertragungskonfiguration.

--etag=ETAG

Fungiert als Filter. Aktualisiert die Ressource nur, wenn die Ressource über ein ETag verfügt, das mit dem im Argument ETAG angegebenen String übereinstimmt.

--expiration SECONDS

Wenn 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 SECONDS durch 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 Argument SECONDS auf 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_URI sein. Der Wert SCHEMA ist eine durch Kommas getrennte Liste von Spaltendefinitionen im Format FIELD:DATA_TYPE, FIELD:DATA_TYPE. Wenn Sie eine Tabellendefinitionsdatei verwenden, verwenden Sie keine Endung.

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 --reservation verwendet. Legen Sie true fest, 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 ist false. 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_time_travel_hours=HOURS

Gibt die Dauer des Zeitreisefensters für das neue Dataset in Stunden an. Der Wert --max_time_travel_hours muss 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 --merge auf true. Setzen Sie das Flag --capacity_commitment auf true, geben Sie mit dem Flag --location den Standort der Zusicherungen an, die Sie zusammenführen möchten, und ersetzen Sie RESOURCE durch die IDs der beiden Zusicherungen, die Sie zusammenführen möchten, durch ein Komma getrennt. Weitere Informationen finden Sie unter Zwei Zusicherungen zusammenführen.

--model={true|false} oder -m={true|false}

Legen Sie true fest, um Metadaten für ein BigQuery ML-Modell zu aktualisieren. Der Standardwert ist false.

--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=PLAN

Wenn eine Kapazitätszusicherung mit dem Flag --capacity_commitment verwendet wird, wird sie in den angegebenen Zusicherungsplan mit längerer Dauer umgewandelt. Ersetzen Sie PLAN durch einen der folgenden Werte:

  • ANNUAL
  • THREE_YEAR
--refresh_window_days=DAYS

Eine Ganzzahl, die ein aktualisiertes Aktualisierungsfenster (in Tagen) für eine Übertragungskonfiguration angibt.

--remove_tags=TAG_KEYS

Nur für Datensätze 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=PLAN

Bei Verwendung mit dem Flag --capacity_commitment wird der Verlängerungstarif für eine jährliche Kapazitätszusicherung aktualisiert. Ersetzen Sie PLAN durch einen der folgenden Werte:

  • ANNUAL
  • THREE_YEAR
  • NONE

Kunden, die die bisherigen Pauschalpreise nutzen, können auch einen der folgenden Werte verwenden:

  • FLEX
  • MONTHLY
  • ANNUAL
--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_TYPE usw. an. Wenn Sie eine Schemadatei verwenden, sollten Sie der Datei keine Erweiterung hinzufügen.

Beispiel:

--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER

--service_account_name=SERVICE_ACCOUNT

Gibt ein Dienstkonto an, das als Anmeldedaten für eine Übertragungskonfiguration verwendet werden soll.

--set_label=KEY:VALUE

Gibt das zu aktualisierende Label an. Zum Aktualisieren mehrerer Labels wiederholen Sie dieses Flag.

--slots=NUMBER_OF_BASELINE_SLOTS

Gibt bei Verwendung mit den Flags --capacity_commitment und --split die Anzahl der Referenzslots an, die von einer vorhandenen Kapazitätszusicherung in eine neue Zusicherung aufgeteilt werden sollen. Ersetzen Sie RESOURCE durch die ID der Zusicherung, die Sie aufteilen möchten.

Bei Verwendung mit dem Flag --reservation wird die Anzahl der Slots in einer Reservierung aktualisiert.

--source=FILE

Der 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 true gesetzt und mit dem Flag --capacity_commitment verwendet 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 Sie RESOURCE durch die ID der Zusicherung, die Sie aufteilen möchten. Weitere Informationen finden Sie unter Zusicherung aufteilen.

--storage_billing_model=BILLING_MODEL

Gibt das Speicherabrechnungsmodell für ein Dataset an. Legen Sie den Wert --storage_billing_model auf PHYSICAL fest, um physische Bytes bei der Berechnung der Speichergebühren zu verwenden, oder auf LOGICAL, 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=DATASET

Aktualisiert das Ziel-Dataset für eine Übertragungskonfiguration.

--time_partitioning_expiration=SECONDS

Eine 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_NAME

Aktualisiert 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=INTERVAL

Gibt den Partitionierungstyp an. Verwenden Sie einen der folgenden Werte:

  • DAY
  • HOUR
  • MONTH
  • YEAR

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 false fest, um die SQL-Abfrage für eine Ansicht von Legacy-SQL auf GoogleSQL zu aktualisieren. Der Standardwert ist true. Die Abfrage verwendet Legacy-SQL.

--vertex_ai_model_id=VERTEX_AI_MODEL_ID

Wenn angegeben, wird die Modell-ID für ein BigQuery ML-Modell aktualisiert, das in der Vertex AI Model Registry registriert ist.

--view=QUERY

Wenn dieses Flag angegeben ist, wird die SQL-Abfrage für eine Ansicht aktualisiert.

--view_udf_resource=FILE

Aktualisiert 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.

RESOURCE

Die Ressource, die Sie aktualisieren möchten.

Weitere Informationen zur Verwendung des Befehls bq update finden Sie hier:

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 false fest. Der Standardwert ist true. 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=STATUS

Wenn angegeben, wird auf einen bestimmten Jobstatus gewartet, bevor der Vorgang beendet wird. Verwenden Sie einen der folgenden Werte:

  • PENDING
  • RUNNING
  • DONE

Der Standardwert ist DONE.

JOB

Gibt den Job an, auf den gewartet werden soll. Mit dem Befehl bq ls --jobs myProject können Sie nach einer Jobkennung suchen.

SECONDS

Gibt die maximale Wartezeit in Sekunden dafür an, dass der Job abgeschlossen wird. Wenn Sie 0 eingeben, 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.