Bigtable-zu-JSON-Vorlage

Die Vorlage „Bigtable für JSON“ ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und im JSON-Format in einen Cloud Storage-Bucket schreibt.

Pipelineanforderungen

  • Die Bigtable-Tabelle muss vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, bevor Sie die Pipeline ausführen.

Vorlagenparameter

Erforderliche Parameter

  • bigtableProjectId: Die ID des Google Cloud-Projekts, das die Bigtable-Instanz enthält, aus der Sie Daten lesen möchten.
  • bigtableInstanceId: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • bigtableTableId: Die ID der Bigtable-Tabelle, aus der gelesen werden soll.
  • filenamePrefix: Das Präfix des JSON-Dateinamens. Beispiel: table1-. Wenn kein Wert angegeben ist, wird standardmäßig part verwendet.

Optionale Parameter

  • outputDirectory: Der Cloud Storage-Pfad, in dem die JSON-Ausgabedateien gespeichert werden. Beispiel: gs://your-bucket/your-path/.
  • userOption: Mögliche Werte sind FLATTEN oder NONE. FLATTEN vereinfacht die Zeile auf die Einzelebene. NONE speichert die gesamte Zeile als JSON-String. Die Standardeinstellung ist NONE.
  • columnsAliases: Eine durch Kommas getrennte Liste der Spalten, die für den Vertex AI-Vektorsuchindex erforderlich sind. Die Spalten id und embedding sind für die Vektorsuche in Vertex AI erforderlich. Sie können die Schreibweise fromfamily:fromcolumn;to verwenden. Wenn die Spalten beispielsweise rowkey und cf:my_embedding sind und rowkey einen anderen Namen als die Einbettungsspalte hat, geben Sie cf:my_embedding;embedding und rowkey;id an. Verwenden Sie diese Option nur, wenn der Wert für userOption FLATTEN ist.
  • bigtableAppProfileId: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Bigtable das Standardanwendungsprofil der Instanz: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf.
  2. Zur Seite "Job aus Vorlage erstellen“
  3. Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Die Standardregion ist us-central1.

    Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.

  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Bigtable to JSON templateaus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud-CLI

Führen Sie die Vorlage in der Shell oder im Terminal aus:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_Json \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       bigtableProjectId=BIGTABLE_PROJECT_ID,\
       bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
       bigtableTableId=BIGTABLE_TABLE_ID,\
       filenamePrefix=FILENAME_PREFIX,\

Ersetzen Sie dabei Folgendes:

  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • REGION_NAME: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: die Projekt-ID
  • BIGTABLE_INSTANCE_ID: die Instanz-ID
  • BIGTABLE_TABLE_ID: die Tabellen-ID
  • FILENAME_PREFIX: das JSON-Dateipräfix

API

Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_Bigtable_to_GCS_Json
{
   "jobName": "JOB_NAME",
   "parameters": {
     "bigtableProjectId": "BIGTABLE_PROJECT_ID",
     "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
     "bigtableTableId": "BIGTABLE_TABLE_ID",
     "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "maxWorkers": "10" }
}

Ersetzen Sie dabei Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Projekts, in dem Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • LOCATION: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: die Projekt-ID
  • BIGTABLE_INSTANCE_ID: die Instanz-ID
  • BIGTABLE_TABLE_ID: die Tabellen-ID
  • FILENAME_PREFIX: das JSON-Dateipräfix

Nächste Schritte