Tabellendefinitionsdatei für eine externe Datenquelle erstellen

Auf dieser Seite wird gezeigt, wie Sie eine Tabellendefinitionsdatei für eine externe Datenquelle erstellen. Eine externe Datenquelle (auch "föderierte Datenquelle" genannt) ist eine Datenquelle, für die auch dann direkt eine Abfrage ausgeführt werden kann, wenn die Daten nicht in BigQuery gespeichert sind.

Tabellendefinitionsdateien

Eine Tabellendefinitionsdatei enthält die Schemadefinition und die Metadaten einer externen Tabelle, z. B. das Datenformat und zugehörige Eigenschaften. Beim Erstellen einer Tabellendefinitionsdatei können Sie mit der automatischen Schemaerkennung das Schema für eine externe Datenquelle definieren. Sie haben auch die Möglichkeit, das Schema inline (in der Befehlszeile) oder durch eine JSON-Datei bereitzustellen, die die Schemadefinition enthält.

Tabellendefinitionsdateien werden mit dem bq-Befehlszeilentool verwendet. Wenn Sie die REST API nutzen, werden die Attribute in einer Tabellendefinitionsdatei auch für das Erstellen einer ExternalDataConfiguration-Konfiguration angewendet. Für das Erstellen einer externen Tabelle mithilfe der Cloud Console oder der klassischen Web-UI von BigQuery werden keine Tabellendefinitionsdateien benötigt.

Tabellendefinitionsdateien können für die folgenden externen Datenquellen erstellt werden:

  • Cloud Storage

    • Kommagetrennte Werte (CSV)
    • Durch Zeilenumbruch getrenntes JSON
    • Avro-Dateien
    • Datastore-Exportdateien
    • ORC-Dateien (Beta)
    • Parquet-Dateien (Beta)
    • Firestore-Exportdateien
  • Google Drive

    • Kommagetrennte Werte (CSV)
    • Durch Zeilenumbruch getrenntes JSON
    • Avro-Dateien
    • Google Tabellen
  • Cloud Bigtable

Hinweis

Zum Erstellen einer Tabellendefinitionsdatei benötigen Sie den URI für die Datenquelle:

Permanente und temporäre externe Tabellen

Sie können eine externe Datenquelle in BigQuery mithilfe einer permanenten Tabelle oder einer temporären Tabelle abfragen. Eine permanente Tabelle ist eine Tabelle, die in einem Dataset erstellt und mit Ihrer externen Datenquelle verknüpft wird. Da die Tabelle permanent ist, können Sie sie mithilfe von Zugriffssteuerungen für andere Nutzer freigeben, die ebenfalls Zugriff auf die zugrunde liegende externe Datenquelle haben. Außerdem können Sie die Tabelle jederzeit abfragen.

Wenn Sie eine externe Datenquelle mithilfe einer temporären Tabelle abfragen, senden Sie einen Befehl, der eine Abfrage enthält und durch den eine nicht permanente, mit der externen Datenquelle verknüpfte Tabelle erstellt wird. Wenn Sie eine temporäre Tabelle verwenden, erstellen Sie keine Tabelle in einem Ihrer BigQuery-Datasets. Da die Tabelle nicht permanent in einem Dataset gespeichert wird, kann sie nicht für andere Nutzer freigegeben werden. Das Abfragen einer externen Datenquelle mithilfe einer temporären Tabelle eignet sich für einmalige Ad-hoc-Abfragen von externen Daten sowie für ETL-Vorgänge (Extraktion, Transformation, Laden).

Sie können eine Tabellendefinitionsdatei verwenden, um eine permanente oder temporäre externe Tabelle zu beschreiben.

Tabellendefinition mithilfe der automatischen Schemaerkennung erstellen

Bei Angabe einer CSV-, JSON- oder Google Tabellen-Datei ohne Inline-Schemabeschreibung und ohne Schemadatei können Sie mit dem Flag --autodetect und dem Wert true für die Option "autodetect" die automatische Schemaerkennung in der Tabellendefinitionsdatei festlegen. Wenn diese aktiviert ist, versucht BigQuery, das Schema automatisch zu ermitteln. Weitere Informationen finden Sie unter Automatische Schemaerkennung für externe Datenquellen.

Sie können die automatische Schemaerkennung verwenden, wenn Sie Tabellendefinitionen für Folgendes erstellen:

  • JSON-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • CSV-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • Google Tabellen-Dateien, die in Google Drive gespeichert sind

cl

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinition für eine Cloud Storage-Datenquelle:

  1. Verwenden Sie den Befehl mkdef des bq-Tools mit dem Flag --autodetect, um eine Tabellendefinition zu erstellen. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • source_format durch das Dateiformat NEWLINE_DELIMITED_JSON, CSV oder GOOGLE_SHEETS.
    • file_name durch den Namen der Tabellendefinitionsdatei.
    • bucket_uri durch den Cloud Storage-URI, z. B. gs://mybucket/myfile.
    bq mkdef \
    --autodetect \
    --source_format=source_format \
    "bucket_uri" > /tmp/file_name
    
  2. Optional: Öffnen Sie die Tabellendefinitionsdatei in einem Texteditor. So kann die Datei z. B. mit dem Befehl nano /tmp/file_name in Nano geöffnet werden. Die Datei für eine externe CSV-Datenquelle sollte in etwa wie unten dargestellt aussehen. Beachten Sie, dass für "autodetect" der Wert true festgelegt ist.

    {
    "autodetect": true,
    "csvOptions": {
      "allowJaggedRows": false,
      "allowQuotedNewlines": false,
      "encoding": "UTF-8",
      "fieldDelimiter": ",",
      "quote": "\"",
      "skipLeadingRows": 0
    },
    "sourceFormat": "CSV",
    "sourceUris": [
      "bucket_uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für JSON-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

Extern partitionierte Daten

Zum Konfigurieren einer Tabellendefinitionsdatei für extern partitionierte Daten in Cloud Storage finden Sie entsprechende Informationen unter Extern partitionierte Daten abfragen.

Google Drive

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinition für eine Google Drive-Datenquelle:

  1. Verwenden Sie den Befehl mkdef des bq-Tools mit dem Flag --autodetect, um eine Tabellendefinition zu erstellen. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • source_format durch das Dateiformat NEWLINE_DELIMITED_JSON, CSV oder GOOGLE_SHEETS.
    • file_name durch den Namen der Tabellendefinitionsdatei.
    • drive_uri durch den Google Drive-URI, z. B. https://drive.google.com/open?id=123ABCD123AbcD123Abcd.
    bq mkdef \
    --autodetect \
    --source_format=source_format \
    "drive_uri" > /tmp/file_name
    
  2. Öffnen Sie die Datei in einem Texteditor. Mit dem Befehl nano /tmp/file_name wird die Datei z. B. in Nano geöffnet. Die Datei sollte für eine externe Google Tabellen-Datenquelle wie unten dargestellt aussehen. Beachten Sie, dass für "autodetect" der Wert true festgelegt ist.

    {
    "autodetect": true,
    "sourceFormat": "GOOGLE_SHEETS",
    "sourceUris": [
      "drive_uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für JSON-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

  4. Wenn Sie ein bestimmtes Tabellenblatt oder einen Zellenbereich in einer Google Tabellen-Datei angeben möchten, fügen Sie der Tabellendefinitionsdatei das Attribut range hinzu. Zur Abfrage eines speziellen Tabellenblatts geben Sie den Tabellenblattnamen an. Für die Abfrage eines Zellenbereichs geben Sie den Bereich im Format sheet_name!top_left_cell_id:bottom_right_cell_id an, z. B. "Sheet1!A1:B20". Wenn Sie den Parameter range nicht festlegen, wird das erste Tabellenblatt der Datei verwendet.

Tabellendefinition mithilfe eines Inline-Schemas erstellen

Wenn Sie die automatische Schemaerkennung nicht verwenden möchten, können Sie eine Tabellendefinitionsdatei mithilfe einer Inline-Schemadefinition erstellen. Zum Anlegen einer Inline-Schemadefinition müssen Sie die Felder und Datentypen in der Befehlszeile im folgenden Format angeben: field:data_type,field:data_type.

Sie können eine Inline-Schemadefinition für Tabellendefinitionen folgender Dateien verwenden:

  • JSON-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • CSV-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • Google Tabellen-Dateien, die in Google Drive gespeichert sind

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinition für eine Cloud Storage-Datenquelle mithilfe einer Inline-Schemadefinition:

  1. Verwenden Sie den Befehl mkdef des bq-Tools mit dem Flag --noautodetect, um eine Tabellendefinition zu erstellen. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • source_format durch das Dateiformat NEWLINE_DELIMITED_JSON, CSV oder GOOGLE_SHEETS.
    • uri durch den Cloud Storage-URI oder den Google Drive-URI, z. B. https://drive.google.com/open?id=123ABCD123AbcD123Abcd für Google Drive oder gs://mybucket/myfile für Cloud Storage.
    • field:data_type,field:data_type durch Ihre Schemadefinition, z. B. Name:STRING,Address:STRING, ....
    • file_name durch den Namen der Tabellendefinitionsdatei.
    bq mkdef \
    --noautodetect \
    --source_format=source_format \
    "uri" \
    field:data_type,field:data_type > /tmp/file_name
    
  2. Optional: Öffnen Sie die Tabellendefinitionsdatei in einem Texteditor. So kann die Datei z. B. mit dem Befehl nano /tmp/file_name in Nano geöffnet werden. Die Datei sollte in etwa wie im Folgenden dargestellt aussehen. Beachten Sie, dass "autodetect" nicht aktiviert ist und die Schemainformationen in die Tabellendefinitionsdatei geschrieben werden.

    {
    "schema": {
      "fields": [
        {
          "name": "field",
          "type": "data_type"
        },
        {
          "name": "field",
          "type": "data_type"
        }
        ...
      ]
    },
    "sourceFormat": "NEWLINE_DELIMITED_JSON",
    "sourceUris": [
      "uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für JSON-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

Tabellendefinition mithilfe einer JSON-Schemadatei erstellen

Wenn Sie weder die automatische Erkennung noch eine Inline-Schemadefinition verwenden möchten, können Sie eine JSON-Schemadatei erstellen und beim Erstellen der Tabellendefinition darauf verweisen. Sie müssen die JSON-Schemadatei manuell erstellen und sie muss sich auf Ihrem lokalen Computer befinden. Der Verweis auf eine JSON-Schemadatei in Cloud Storage oder Google Drive wird nicht unterstützt.

Sie können eine JSON-Schemadatei verwenden, wenn Sie Tabellendefinitionen für Folgendes erstellen:

  • JSON-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • CSV-Dateien, die in Cloud Storage oder Google Drive gespeichert sind
  • Google Tabellen-Dateien, die in Google Drive gespeichert sind

cl

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinition für eine Cloud Storage-Datenquelle mithilfe einer JSON-Schemadatei:

  1. Verwenden Sie den Befehl mkdef des bq-Tools mit dem Flag --noautodetect, um eine Tabellendefinition zu erstellen. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • source_format durch das Dateiformat NEWLINE_DELIMITED_JSON, CSV oder GOOGLE_SHEETS.
    • file_name durch den Namen der Tabellendefinitionsdatei.
    • bucket_uri durch den Cloud Storage-URI, z. B. gs://mybucket/myfile.
    • path_to_schema_file durch den Speicherort der JSON-Schemadatei auf Ihrem lokalen Computer.
    bq mkdef \
    --noautodetect \
    --source_format=source_format \
    "bucket_uri" \
    path_to_schema_file > /tmp/file_name
    
  2. Optional: Öffnen Sie die Tabellendefinitionsdatei in einem Texteditor. Mit dem Befehl nano /tmp/file_name wird die Datei z. B. in
    Nano geöffnet. Die Datei sollte in etwa wie im Folgenden dargestellt aussehen. Beachten Sie, dass "autodetect" nicht aktiviert ist und die Schemainformationen in die Tabellendefinitionsdatei geschrieben werden.

    {
    "schema": {
      "fields": [
        {
          "name": "field",
          "type": "data_type"
        },
        {
          "name": "field",
          "type": "data_type"
        }
        ...
      ]
    },
    "sourceFormat": "NEWLINE_DELIMITED_JSON",
    "sourceUris": [
      "bucket_uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für JSON-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

Google Drive

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinition für eine Google Drive-Datenquelle mithilfe einer JSON-Schemadatei:

  1. Verwenden Sie den Befehl mkdef des bq-Tools mit dem Flag --noautodetect, um eine Tabellendefinition zu erstellen. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • source_format durch das Dateiformat NEWLINE_DELIMITED_JSON, CSV oder GOOGLE_SHEETS.
    • drive_uri durch den Google Drive-URI, z. B. https://drive.google.com/open?id=123ABCD123AbcD123Abcd.
    • path_to_schema_file durch den Speicherort der JSON-Schemadatei auf Ihrem lokalen Computer.
    • file_name durch den Namen der Tabellendefinitionsdatei.
    bq mkdef \
    --noautodetect \
    --source_format=source_format \
    "drive_uri" \
    path_to_schema_file > /tmp/file_name
    
  2. Öffnen Sie die Datei in einem Texteditor. Mit dem Befehl nano /tmp/file_name wird die Datei z. B. in Nano geöffnet. Die Datei sollte wie unten dargestellt aussehen. Beachten Sie, dass "autodetect" nicht aktiviert ist und die Schemainformationen in die Tabellendefinitionsdatei geschrieben werden.

    {
    "schema": {
      "fields": [
        {
          "name": "field",
          "type": "data_type"
        },
        {
          "name": "field",
          "type": "data_type"
        }
        ...
      ]
    },
    "sourceFormat": "GOOGLE_SHEETS",
    "sourceUris": [
      "drive_uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für JSON-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

  4. Wenn Sie ein bestimmtes Tabellenblatt oder einen Zellenbereich in einer Google Tabellen-Datei angeben möchten, fügen Sie der Tabellendefinitionsdatei das Attribut range hinzu. Zur Abfrage eines speziellen Tabellenblatts geben Sie den Tabellenblattnamen an. Für die Abfrage eines Zellenbereichs geben Sie den Bereich im Format sheet_name!top_left_cell_id:bottom_right_cell_id an, z. B. "Sheet1!A1:B20". Wenn Sie den Parameter range nicht festlegen, wird das erste Tabellenblatt der Datei verwendet.

Avro-Tabellendefinitionen erstellen

Wenn Sie eine Avro-Datei als externe Datenquelle verwenden, ruft BigQuery das Schema automatisch über die Quelldaten ab. Sie müssen beim Erstellen einer Tabellendefinition für Avro-Dateien keine automatische Schemaerkennung verwenden und keine Inline-Schemadefinition bzw. Schemadatei angeben.

Sie können eine Tabellendefinitionsdatei für Avro-Daten erstellen, die in Cloud Storage oder Google Drive gespeichert sind.

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinitionsdatei für Avro-Daten:

  1. Verwenden Sie den Befehl mkdef des bq-Tools, um eine Tabellendefinition zu erstellen. Das Flag --noautodetect muss für Avro-Dateien nicht verwendet werden, da die automatische Schemaerkennung für diese Dateien deaktiviert ist. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in die Datei /tmp/file_name geschrieben.

    Ersetzen Sie im Befehl Folgendes:

    • uri durch den Cloud Storage-URI oder den Google Drive-URI, z. B. https://drive.google.com/open?id=123ABCD123AbcD123Abcd für Google Drive oder gs://mybucket/myfile für Cloud Storage.
    • file_name durch den Namen der Tabellendefinitionsdatei.
    bq mkdef \
    --source_format=AVRO \
    "uri" > /tmp/file_name
    
  2. Optional: Öffnen Sie die Tabellendefinitionsdatei in einem Texteditor. Mit dem Befehl nano /tmp/file_name wird die Datei z. B. in Nano geöffnet. Die Datei sollte in etwa wie im Folgenden dargestellt aussehen. Beachten Sie, dass die Einstellung "autodetect" nicht erforderlich ist.

    {
    "sourceFormat": "AVRO",
    "sourceUris": [
      "uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, wenn Sie allgemeine Einstellungen wie maxBadRecords oderignoreUnknownValues ändern, hinzufügen oder löschen möchten. Für Avro-Quelldateien sind keine speziellen Konfigurationseinstellungen vorhanden. Dagegen gibt es entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

Tabellendefinitionen für Datastore- und Firestore-Exporte erstellen

Wenn Sie einen Datastore- oder Firestore-Export als externe Datenquelle verwenden, ruft BigQuery das Schema automatisch aus den selbstbeschreibenden Quelldaten ab. Sie müssen also beim Erstellen einer Tabellendefinition für Datastore- und Firestore-Sicherungsdateien keine automatische Schemaerkennung festlegen und auch keine Inline-Schemadefinition bzw. Schemadatei angeben.

Sie können eine Tabellendefinitionsdatei für Datastore- und Firestore-Exportdaten erstellen, die in Cloud Storage gespeichert sind.

So erstellen Sie mit dem bq-Befehlszeilentool eine Tabellendefinitionsdatei für Datastore- oder Firestore-Exportdaten:

  1. Verwenden Sie den Befehl mkdef des bq-Tools, um eine Tabellendefinition zu erstellen. Das Flag --noautodetect muss für Datastore- oder Firestore-Sicherungsdateien nicht verwendet werden. Die automatische Schemaerkennung ist für diese Dateitypen deaktiviert. Der Befehl mkdef erzeugt eine Tabellendefinitionsdatei im JSON-Format. Im folgenden Beispiel wird eine Tabellendefinition erstellt und die Ausgabe in eine Datei geschrieben: /tmp/file_name.

    Ersetzen Sie im Befehl Folgendes:

    • bucket_uri durch den Cloud Storage-URI.
    • file_name durch den Namen der Tabellendefinitionsdatei.

    Das DATASTORE_BACKUP-Quellformat wird sowohl für Datastore als auch Firestore verwendet.

    bq mkdef \
    --source_format=DATASTORE_BACKUP \
    "uri" > /tmp/file_name
    
  2. Optional: Öffnen Sie die Tabellendefinitionsdatei in einem Texteditor. Mit dem Befehl nano /tmp/file_name wird die Datei z. B. in Nano geöffnet. Die Datei sollte in etwa wie im Folgenden dargestellt aussehen. Beachten Sie, dass die Einstellung "autodetect" nicht erforderlich ist.

    {
    "sourceFormat": "DATASTORE_BACKUP",
    "sourceUris": [
      "gs://bucket_uri"
    ]
    }
    
  3. Optional: Bearbeiten Sie die Tabellendefinitionsdatei manuell, um Einstellungen wie maxBadRecords oder ignoreUnknownValues zu ändern, hinzuzufügen oder zu löschen. Für Datastore- und Firestore-Exportdateien sind keine speziellen Konfigurationseinstellungen vorhanden. Es gibt jedoch entsprechende Einstellungen für CSV-Dateien und Google Tabellen-Dateien. Weitere Informationen finden Sie in der API-Referenz unter ExternalDataConfiguration.

Cloud Bigtable-Tabellendefinitionen erstellen

Eine Tabellendefinitionsdatei für Cloud Bigtable erstellen Sie manuell im JSON-Format. Der Befehl mkdef zum Erstellen einer Tabellendefinition wird derzeit für Cloud Bigtable-Datenquellen nicht unterstützt. Auch die automatische Schemaerkennung wird für Cloud Bigtable nicht unterstützt. Eine Liste der Optionen für Cloud Bigtable-Tabellendefinitionen finden Sie in der REST API-Referenz unter BigtableOptions.

Im Folgenden ist ein Beispiel für eine JSON-Tabellendefinitionsdatei für Cloud Bigtable dargestellt. Mit dieser Tabellendefinitionsdatei liest BigQuery Daten aus einer einzelnen Spaltenfamilie und interpretiert dabei die Werte als binär codierte Ganzzahlen.

{
    "sourceFormat": "BIGTABLE",
    "sourceUris": [
        "https://googleapis.com/bigtable/projects/project_id/instances/instance_id/tables/table_name"
    ],
    "bigtableOptions": {
        "columnFamilies" : [
            {
                "familyId": "family_int",
                "type": "INTEGER",
                "encoding": "BINARY"
            }
        ]
    }
}

Unterstützung von Platzhaltern für Tabellendefinitionsdateien

Wenn Ihre Cloud Storage-Daten in mehrere Dateien mit einem gemeinsamen Basisnamen aufgeteilt sind, können Sie im URI in der Tabellendefinitionsdatei einen Platzhalter verwenden. Dazu hängen Sie ein Sternchen (*) an den Basisnamen an und setzen den Bucket und den Dateinamen in Anführungszeichen. Beispiel: Bei zwei Dateien namens fed-sample000001.csv und fed-sample000002.csv lautet der Bucket-URI "gs://mybucket/fed-sample*".

Sie können nur einen Platzhalter für Objekte (Dateinamen) in Ihrem Bucket verwenden. Der Platzhalter muss dabei innerhalb oder am Ende des Objektnamens stehen. Das Anhängen eines Platzhalters an den Bucketnamen wird nicht unterstützt.

Für Cloud Bigtable-Daten kann nur ein URI angegeben werden. Dieser muss eine vollständige und gültige HTTPS-URL für eine Cloud Bigtable-Tabelle sein. Auch für Datastore-Sicherungen lässt sich nur ein URI festlegen. Dieser muss auf .backup_info enden.

Das Platzhalterzeichen * ist nicht zulässig, wenn Tabellendefinitionsdateien für folgende Datenquellen erstellt werden:

  • Cloud Bigtable-Datenquellen
  • In Cloud Storage gespeicherte Datastore-Exporte
  • Firestore-Exporte, die in Cloud Storage gespeichert sind
  • In Google Drive gespeicherte Daten