Von Google bereitgestellte Batchvorlagen

Google bietet eine Reihe von Open-Source-Vorlagen für Cloud Dataflow. Allgemeine Informationen zu Vorlagen finden Sie unter Dataflow-Vorlagen. Eine Liste aller verfügbaren Kategorien finden Sie unter Kategorien.

In diesem Leitfaden werden Batchvorlagen beschrieben.

BigQuery für Cloud Storage TFRecords

Die Vorlage "BigQuery für Cloud Storage TFRecords" ist eine Pipeline, die Daten aus einer BigQuery-Abfrage liest und in einen Cloud Storage-Bucket im TFRecord-Format schreibt. Sie können die Aufteilung der Prozentsätze für Training, Tests und Validierungen festlegen. Standardmäßig beträgt die Aufteilung 1 oder 100 % für den Trainingssatz und 0 oder 0 % für Test- und Validierungssätze. Beachten Sie, dass bei der Dataset-Aufteilung die Summe aus Training, Tests und Validierungen in der Addition 1 oder 100 % ergeben muss (z. B. 0,6 + 0,2 + 0,2). Dataflow bestimmt automatisch die optimale Anzahl von Shards für jedes Ausgabe-Dataset.

Voraussetzungen für diese Pipeline:

  • Das BigQuery-Dataset und die Tabelle müssen vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vor der Pipelineausführung vorhanden sein. Unterverzeichnisse, Training und Validierungen müssen nicht bereits vorhanden sein und werden automatisch generiert.

Vorlagenparameter

Parameter Beschreibung
readQuery Eine BigQuery SQL-Abfrage, die Daten aus der Quelle extrahiert. Beispiel: select * from dataset1.sample_table.
outputDirectory Das Präfix der obersten Ebene des Cloud Storage-Pfads, unter dem die TFRecord-Dateien für Training, Tests und Validierungen geschrieben werden. z. B. gs://mybucket/output. Unterverzeichnisse für resultierende TFRecord-Dateien für Training, Tests und Validierungen werden automatisch aus outputDirectory generiert. Zum Beispiele gs://mybucket/output/train
trainingPercentage [Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Trainingsdateien zugewiesen sind. Der Standardwert ist 1 oder 100 %.
testingPercentage [Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Testdateien zugewiesen sind. Der Standardwert ist 0 oder 0 %.
validationPercentage [Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Validierungsdateien zugewiesen sind. Der Standardwert ist 0 oder 0 %.
outputSuffix [Optional] Das Dateisuffix für die TFRecord-Dateien für Training, Test und Validierung, die geschrieben werden. Der Standardwert ist .tfrecord.

Vorlage "BigQuery für Cloud Storage TFRecord" ausführen

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. Der regionale Standardendpunkt 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 BigQuery to TFRecords template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records \
    --region REGION_NAME \
    --parameters \
readQuery=READ_QUERY,\
outputDirectory=OUTPUT_DIRECTORY,\
trainingPercentage=TRAINING_PERCENTAGE,\
testingPercentage=TESTING_PERCENTAGE,\
validationPercentage=VALIDATION_PERCENTAGE,\
outputSuffix=OUTPUT_FILENAME_SUFFIX

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • READ_QUERY: Die auszuführende BigQuery-Abfrage
  • OUTPUT_DIRECTORY: Das Cloud Storage-Pfadpräfix für Ausgabe-Datasets
  • TRAINING_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Trainings-Dataset
  • TESTING_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Test-Dataset
  • VALIDATION_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Validierungs-Dataset
  • OUTPUT_FILENAME_SUFFIX: Das bevorzugte Suffix der TensorFlow Record-Ausgabedatei

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/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records
{
   "jobName": "JOB_NAME",
   "parameters": {
       "readQuery":"READ_QUERY",
       "outputDirectory":"OUTPUT_DIRECTORY",
       "trainingPercentage":"TRAINING_PERCENTAGE",
       "testingPercentage":"TESTING_PERCENTAGE",
       "validationPercentage":"VALIDATION_PERCENTAGE",
       "outputSuffix":"OUTPUT_FILENAME_SUFFIX"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • READ_QUERY: Die auszuführende BigQuery-Abfrage
  • OUTPUT_DIRECTORY: Das Cloud Storage-Pfadpräfix für Ausgabe-Datasets
  • TRAINING_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Trainings-Dataset
  • TESTING_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Test-Dataset
  • VALIDATION_PERCENTAGE: Die Dezimalprozentsatzaufteilung für das Validierungs-Dataset
  • OUTPUT_FILENAME_SUFFIX: Das bevorzugte Suffix der TensorFlow Record-Ausgabedatei

BigQuery-Export nach Parquet (über Storage API)

Die Vorlage „BigQuery für Parquet“ ist eine Batchpipeline, die Daten aus einer BigQuery-Tabelle liest und im Parquet-Format in einen Cloud Storage-Bucket schreibt. Diese Vorlage verwendet die BigQuery Storage API zum Exportieren der Daten.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
tableRef Ort der BigQuery-Eingabetabelle. z. B. <my-project>:<my-dataset>.<my-table>
bucket Der Cloud Storage-Ordner, in den die Parquet-Dateien geschrieben werden sollen. z. B. gs://mybucket/exports.
numShards [Optional] Die Anzahl der Shards der Ausgabedatei. Der Standardwert ist 1.
fields (Optional) Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden sollen.

Vorlage „BigQuery für Cloud Storage Parquet“ ausführen

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. Der regionale Standardendpunkt 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 BigQuery export to Parquet (via Storage API) template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet \
    --region=REGION_NAME \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGQUERY_TABLE: Ihr BigQuery-Tabellenname
  • OUTPUT_DIRECTORY: Ihr Cloud Storage-Ordner für Ausgabedateien
  • NUM_SHARDS: Die gewünschte Anzahl von Ausgabedateien-Shards
  • FIELDS: Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden

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/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "tableRef": "BIGQUERY_TABLE",
          "bucket": "OUTPUT_DIRECTORY",
          "numShards": "NUM_SHARDS",
          "fields": "FIELDS"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet",
   }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGQUERY_TABLE: Ihr BigQuery-Tabellenname
  • OUTPUT_DIRECTORY: Ihr Cloud Storage-Ordner für Ausgabedateien
  • NUM_SHARDS: Die gewünschte Anzahl von Ausgabedateien-Shards
  • FIELDS: Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden

BigQuery für Elasticsearch

Die Vorlage "BigQuery für Elasticsearch" ist eine Batchpipeline, die Daten aus einer BigQuery-Tabelle als Dokumente in Elasticsearch aufnimmt. Die Vorlage kann entweder die gesamte Tabelle oder bestimmte Datensätze mithilfe einer angegebenen Abfrage lesen.

Voraussetzungen für diese Pipeline

  • Die BigQuery-Quelltabelle
  • Ein Elasticsearch-Host auf einer GCP-Instanz oder in Elastic Cloud mit Elasticsearch Version 7.0 oder höher, der über die Dataflow-Worker-Maschinen zugänglich sein sollte

Vorlagenparameter

Parameter Beschreibung
connectionUrl Elasticsearch-URL im Format https://hostname:[port] oder geben Sie die CloudID an, wenn Elastic Cloud verwendet wird.
apiKey Base64-codierter API-Schlüssel für die Authentifizierung.
index Elasticsearch-Index, an den die Anfragen gestellt werden, z. B. my-index.
inputTableSpec (Optional) BigQuery-Tabelle, aus der gelesen werden soll, um Daten in Elasticsearch einzufügen. Es muss entweder eine Tabelle oder eine Abfrage angegeben werden. z. B. projectId:datasetId.tablename.
query (Optional) SQL-Abfrage zum Abrufen von Daten aus BigQuery. Es muss entweder eine Tabelle oder eine Abfrage angegeben werden.
useLegacySql (Optional) Legen Sie den Wert "true" fest, um Legacy-SQL zu verwenden (nur anwendbar, wenn eine Abfrage bereitstellt wird). Standardeinstellung: false.
batchSize (Optional) Batchgröße in der Anzahl an Dokumenten. Standardeinstellung: 1000.
batchSizeBytes (Optional) Batchgröße in der Anzahl an Byte. Standardeinstellung: 5242880 (5 MB).
maxRetryAttempts (Optional) Maximale Wiederholungsversuche, muss > 0 sein. Standardeinstellung: no retries.
maxRetryDuration (Optional) Maximale Wiederholungsdauer in Millisekunden, muss > 0 sein. Standardeinstellung: no retries.

Vorlage "BigQuery für Elasticsearch" ausführen

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. Der regionale Standardendpunkt 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 BigQuery to Elasticsearch template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch \
    --parameters \
inputTableSpec=INPUT_TABLE_SPEC,\
connectionUrl=CONNECTION_URL,\
apiKey=APIKEY,\
index=INDEX

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • REGION_NAME: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • INPUT_TABLE_SPEC: ist der BigQuery-Tabellenname
  • CONNECTION_URL: ist die Elasticsearch-URL
  • APIKEY: ist der base64-codierte API-Schlüssel für die Authentifizierung
  • INDEX: ist ihr Elasticsearch-Index

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/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputTableSpec": "INPUT_TABLE_SPEC",
          "connectionUrl": "CONNECTION_URL",
          "apiKey": "APIKEY",
          "index": "INDEX"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch",
   }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • INPUT_TABLE_SPEC: ist der BigQuery-Tabellenname
  • CONNECTION_URL: ist die Elasticsearch-URL
  • APIKEY: ist der base64-codierte API-Schlüssel für die Authentifizierung
  • INDEX: ist ihr Elasticsearch-Index

Bigtable für Cloud Storage Avro

Die Vorlage "Cloud Bigtable für Cloud Storage Avro" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im Avro-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu verschieben.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu exportierenden Bigtable-Tabelle.
outputDirectory Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder
filenamePrefix Das Präfix des Avro-Dateinamens. Beispiel: output-

Vorlage „Bigtable für Cloud Storage Avro” ausführen

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. Der regionale Standardendpunkt 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 Cloud Bigtable to Avro Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • OUTPUT_DIRECTORY: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des Avro-Dateinamens, z. B. output-

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/VERSION/Cloud_Bigtable_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • OUTPUT_DIRECTORY: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des Avro-Dateinamens, z. B. output-

Bigtable für Cloud Storage Parquet

Die Vorlage "Cloud Bigtable für Cloud Storage Parquet" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im Parquet-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu verschieben.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu exportierenden Bigtable-Tabelle.
outputDirectory Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder
filenamePrefix Das Präfix des Parquet-Dateinamens. Beispiel: output-
numShards Die Anzahl von Shards für Ausgabedateien. Beispiel: 2

Vorlage „Bigtable für Cloud Storage Parquet” ausführen

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. Der regionale Standardendpunkt 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 Cloud Bigtable to Parquet Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX,\
numShards=NUM_SHARDS

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • OUTPUT_DIRECTORY: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des Parquet-Dateinamens, z. B. output-
  • NUM_SHARDS: Die Anzahl der auszugebenden Parquet-Dateien, z. B. 1

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/VERSION/Cloud_Bigtable_to_GCS_Parquet
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
       "numShards": "NUM_SHARDS"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • OUTPUT_DIRECTORY: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des Parquet-Dateinamens, z. B. output-
  • NUM_SHARDS: Die Anzahl der auszugebenden Parquet-Dateien, z. B. 1

Bigtable für Cloud Storage SequenceFile

Die Vorlage "Cloud Bigtable für Cloud Storage SequenceFile" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im SequenceFile-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu kopieren.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
bigtableProject Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu exportierenden Bigtable-Tabelle.
bigtableAppProfileId Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Bigtable das Standard-Anwendungsprofil der Instanz.
destinationPath Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder
filenamePrefix Das Präfix des SequenceFile-Dateinamens. Beispiel: output-

Vorlage "Cloud Bigtable für Cloud Storage SequenceFile" ausführen

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. Der regionale Standardendpunkt 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 Cloud Bigtable to SequenceFile Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
destinationPath=DESTINATION_PATH,\
filenamePrefix=FILENAME_PREFIX

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • APPLICATION_PROFILE_ID: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • DESTINATION_PATH: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des SequenceFile-Dateinamens. Beispiel: output-.

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/VERSION/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "destinationPath": "DESTINATION_PATH",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • APPLICATION_PROFILE_ID: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • DESTINATION_PATH: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B. gs://mybucket/somefolder
  • FILENAME_PREFIX: Das Präfix des SequenceFile-Dateinamens. Beispiel: output-.

Datastore für Cloud Storage Text [verworfen]

Diese Vorlage wurde verworfen und wird in Q1 2022 entfernt. Bitte migrieren Sie die Vorlage Firestore zu Cloud Storage Text.

Die Vorlage "Datastore für Cloud Storage Text" ist eine Batchpipeline, die Datastore-Entitäten liest und als Textdateien in Cloud Storage schreibt. Sie können eine Funktion zum Verarbeiten aller Entitäten als JSON-Strings bereitstellen. Wenn Sie keine derartige Funktion bereitstellen, ist jede Zeile in der Ausgabedatei eine JSON-serialisierte Entität.

Voraussetzungen für diese Pipeline:

Datastore muss im Projekt eingerichtet werden, bevor Sie die Pipeline ausführen.

Vorlagenparameter

Parameter Beschreibung
datastoreReadGqlQuery Eine GQL-Abfrage, die angibt, welche Entitäten abgerufen werden sollen. Beispiel: SELECT * FROM MyKind
datastoreReadProjectId Die Google Cloud-Projekt-ID der Datastore-Instanz, aus der Daten gelesen werden sollen.
datastoreReadNamespace Der Namespace der angeforderten Entitäten. Lassen Sie diesen Parameter leer, um den Standard-Namespace zu verwenden.
javascriptTextTransformGcsPath (Optional) Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
javascriptTextTransformFunctionName (Optional) Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten. Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
textWritePrefix Das Präfix des Cloud Storage-Pfads zum Angeben des Orts, an dem die Daten geschrieben werden. Beispiel: gs://mybucket/somefolder/.

Vorlage "Datastore für Cloud Storage Text" ausführen

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. Der regionale Standardendpunkt 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 Datastore to Text Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Datastore_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\
datastoreReadProjectId=DATASTORE_PROJECT_ID,\
datastoreReadNamespace=DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://BUCKET_NAME/output/

Dabei gilt:

  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • REGION_NAME: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • DATASTORE_PROJECT_ID: Die ID des Cloud-Projekts, in dem die Datastore-Instanz vorhanden ist
  • DATASTORE_KIND: der Typ Ihrer Datastore-Entitäten
  • DATASTORE_NAMESPACE: der Namespace Ihrer Datastore-Entitäten
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js

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/VERSION/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND"
       "datastoreReadProjectId": "DATASTORE_PROJECT_ID",
       "datastoreReadNamespace": "DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • DATASTORE_PROJECT_ID: Die ID des Cloud-Projekts, in dem die Datastore-Instanz vorhanden ist
  • DATASTORE_KIND: der Typ Ihrer Datastore-Entitäten
  • DATASTORE_NAMESPACE: der Namespace Ihrer Datastore-Entitäten
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js

Firestore für Cloud Storage Text

Die Vorlage „Firestore für Cloud Storage Text“ ist eine Batchpipeline, die Firestore-Entitäten liest und als Textdateien in Cloud Storage schreibt. Sie können eine Funktion zum Verarbeiten aller Entitäten als JSON-Strings bereitstellen. Wenn Sie keine derartige Funktion bereitstellen, ist jede Zeile in der Ausgabedatei eine JSON-serialisierte Entität.

Voraussetzungen für diese Pipeline:

Firestore muss im Projekt eingerichtet werden, bevor Sie die Pipeline ausführen.

Vorlagenparameter

Parameter Beschreibung
firestoreReadGqlQuery Eine GQL-Abfrage, die angibt, welche Entitäten abgerufen werden sollen. Beispiel: SELECT * FROM MyKind.
firestoreReadProjectId Die Google Cloud-Projekt-ID der Firestore-Instanz, aus der Daten gelesen werden sollen.
firestoreReadNamespace Der Namespace der angeforderten Entitäten. Lassen Sie diesen Parameter leer, um den Standard-Namespace zu verwenden.
javascriptTextTransformGcsPath (Optional) Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
javascriptTextTransformFunctionName (Optional) Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten. Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
textWritePrefix Das Präfix des Cloud Storage-Pfads zum Angeben des Orts, an dem die Daten geschrieben werden. Beispiel: gs://mybucket/somefolder/.

Vorlage „Firestore für Cloud Storage Text“ ausführen

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. Der regionale Standardendpunkt 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 Firestore to Text Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Firestore_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
firestoreReadGqlQuery="SELECT * FROM FIRESTORE_KIND",\
firestoreReadProjectId=FIRESTORE_PROJECT_ID,\
firestoreReadNamespace=FIRESTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://BUCKET_NAME/output/

Dabei gilt:

  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • REGION_NAME: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • FIRESTORE_PROJECT_ID: Die ID des Cloud-Projekts, in dem die Firestore-Instanz vorhanden ist
  • FIRESTORE_KIND: Typ Ihrer Firestore-Entitäten
  • FIRESTORE_NAMESPACE: Namespace Ihrer Firestore-Entitäten
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js

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/VERSION/Firestore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "firestoreReadGqlQuery": "SELECT * FROM FIRESTORE_KIND"
       "firestoreReadProjectId": "FIRESTORE_PROJECT_ID",
       "firestoreReadNamespace": "FIRESTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • FIRESTORE_PROJECT_ID: Die ID des Cloud-Projekts, in dem die Firestore-Instanz vorhanden ist
  • FIRESTORE_KIND: Typ Ihrer Firestore-Entitäten
  • FIRESTORE_NAMESPACE: Namespace Ihrer Firestore-Entitäten
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js

Cloud Spanner für Cloud Storage Avro

Die Vorlage "Cloud Spanner für Avro-Dateien in Cloud Storage" ist eine Batchpipeline, die eine vollständige Cloud Spanner-Datenbank im Avro-Format nach Cloud Storage exportiert. Beim Exportieren einer Cloud Spanner-Datenbank wird ein Ordner in dem von Ihnen ausgewählten Bucket erstellt. Der Ordner enthält:

  • Eine spanner-export.json-Datei
  • Eine TableName-manifest.json-Datei für jede Tabelle in der Datenbank, die Sie exportiert haben
  • Mindestens eine TableName.avro-#####-of-#####-Datei

Wenn Sie beispielsweise eine Datenbank mit den zwei Tabellen Singers und Albums exportieren, wird die folgende Dateigruppe erstellt:

  • Albums-manifest.json
  • Albums.avro-00000-of-00002
  • Albums.avro-00001-of-00002
  • Singers-manifest.json
  • Singers.avro-00000-of-00003
  • Singers.avro-00001-of-00003
  • Singers.avro-00002-of-00003
  • spanner-export.json

Voraussetzungen für diese Pipeline:

  • Die Cloud Spanner-Datenbank muss vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein.
  • Zusätzlich zu den IAM-Rollen, die zum Ausführen von Dataflow-Jobs erforderlich sind, müssen Sie die entsprechenden IAM-Rollen haben, um Ihre Cloud Spanner-Daten zu lesen und in Ihren Cloud Storage-Bucket zu schreiben.

Vorlagenparameter

Parameter Beschreibung
instanceId Die Instanz-ID der Cloud Spanner-Datenbank, die Sie exportieren möchten.
databaseId Die Datenbank-ID der Cloud Spanner-Datenbank, die Sie exportieren möchten.
outputDir Der Cloud Storage-Pfad, in den Sie Avro-Dateien exportieren möchten. Der Exportjob erstellt unter diesem Pfad ein neues Verzeichnis, das die exportierten Dateien enthält.
snapshotTime (Optional) Der Zeitstempel für die Version der Cloud Spanner-Datenbank, die Sie lesen möchten. Der Zeitstempel muss im RFC 3339-UTC-"Zulu"-Format angegeben werden. Beispiel: 1990-12-31T23:59:60Z. Der Zeitstempel muss in der Vergangenheit liegen und die maximale Zeitstempelveralterung gilt.
tableNames (Optional) Eine durch Kommas getrennte Liste von Tabellen, die die Teilmenge der zu exportierenden Cloud Spanner-Datenbank angeben. Die Liste muss alle zugehörigen Tabellen enthalten (übergeordnete Tabellen, Fremdschlüssel-Tabellen). Wenn sie nicht explizit aufgeführt sind, muss das Flag "sollteExportBasedTables" für einen erfolgreichen Export gesetzt sein.
shouldExportRelatedTables (Optional) Das Flag, das in Verbindung mit dem Parameter „tableNames“ verwendet wird, um alle zu exportierenden Tabellen einzubeziehen.
spannerProjectId (Optional) Die Google Cloud-Projekt-ID der Cloud Spanner-Datenbank, aus der Daten gelesen werden sollen.

Vorlage „Cloud Spanner für Avro-Dateien in Cloud Storage“ ausführen

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.

    Damit der Job auf der Seite Spanner-Instanzen in der Cloud Console angezeigt wird, muss der Jobname dem folgenden Format entsprechen:

    cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Dabei gilt:

    • SPANNER_INSTANCE_ID: ID Ihrer Spanner-Instanz
    • SPANNER_DATABASE_NAME: Name der Spanner-Datenbank
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt 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 Cloud Spanner to Avro Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro \
    --region REGION_NAME \
    --staging-location GCS_STAGING_LOCATION \
    --parameters \
instanceId=INSTANCE_ID,\
databaseId=DATABASE_ID,\
outputDir=GCS_DIRECTORY

Dabei gilt:

  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl

    Damit der Job im Cloud Spanner-Bereich der Cloud Console angezeigt wird, muss der Jobname folgendes Format haben:cloud-spanner-export-INSTANCE_ID-DATABASE_ID.

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • GCS_STAGING_LOCATION: der Pfad zum Schreiben temporärer Dateien, z. B. gs://mybucket/temp
  • INSTANCE_ID: Ihre Cloud Spanner-Instanz-ID
  • DATABASE_ID: Ihre Cloud Spanner-Datenbank-ID
  • GCS_DIRECTORY: Der Cloud-Speicherpfad, in den die Avro-Dateien exportiert werden,

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/VERSION/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "outputDir": "gs://GCS_DIRECTORY"
   }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl

    Damit der Job im Cloud Spanner-Bereich der Cloud Console angezeigt wird, muss der Jobname folgendes Format haben:cloud-spanner-export-INSTANCE_ID-DATABASE_ID.

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • GCS_STAGING_LOCATION: der Pfad zum Schreiben temporärer Dateien, z. B. gs://mybucket/temp
  • INSTANCE_ID: Ihre Cloud Spanner-Instanz-ID
  • DATABASE_ID: Ihre Cloud Spanner-Datenbank-ID
  • GCS_DIRECTORY: Der Cloud-Speicherpfad, in den die Avro-Dateien exportiert werden,

Cloud Spanner für Cloud Storage Text

Die Vorlage "Cloud Spanner für Cloud Storage Text" ist eine Batchpipeline, die Daten aus einer Cloud Spanner-Tabelle einliest und als CSV-Textdateien in Cloud Storage schreibt.

Voraussetzungen für diese Pipeline:

  • Die Spanner-Tabelle mit den Eingabedaten muss vorhanden sein, bevor Sie die Pipeline ausführen.

Vorlagenparameter

Parameter Beschreibung
spannerProjectId Die Google Cloud-Projekt-ID der Cloud Spanner-Datenbank, aus der Daten gelesen werden sollen.
spannerDatabaseId Die Datenbank-ID der angeforderten Tabelle.
spannerInstanceId Die Instanz-ID der angeforderten Tabelle.
spannerTable Die Tabelle, aus der die Daten gelesen werden sollen.
textWritePrefix Das Verzeichnis, in das Ausgabetextdateien geschrieben werden. Fügen Sie am Ende einen Schrägstrich (/) hinzu. Beispiel: gs://mybucket/somefolder/.
spannerSnapshotTime (Optional) Der Zeitstempel für die Version der Cloud Spanner-Datenbank, die Sie lesen möchten. Der Zeitstempel muss im RFC 3339-UTC-"Zulu"-Format angegeben werden. Beispiel: 1990-12-31T23:59:60Z. Der Zeitstempel muss in der Vergangenheit liegen und die maximale Zeitstempelveralterung gilt.

Vorlage "Cloud Spanner für Cloud Storage Text" ausführen

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. Der regionale Standardendpunkt 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 Cloud Spanner to Text Files on Cloud Storage template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Spanner_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
spannerProjectId=SPANNER_PROJECT_ID,\
spannerDatabaseId=DATABASE_ID,\
spannerInstanceId=INSTANCE_ID,\
spannerTable=TABLE_ID,\
textWritePrefix=gs://BUCKET_NAME/output/

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • SPANNER_PROJECT_ID: die Cloud-Projekt-ID der Spanner-Datenbank, aus der Sie Daten lesen möchten
  • DATABASE_ID: Die Spanner-Datenbank-ID
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • INSTANCE_ID: Die Spanner-Instanz-ID
  • TABLE_ID: Die Spanner-Tabellen-ID
  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

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/VERSION/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "SPANNER_PROJECT_ID",
       "spannerDatabaseId": "DATABASE_ID",
       "spannerInstanceId": "INSTANCE_ID",
       "spannerTable": "TABLE_ID",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • SPANNER_PROJECT_ID: die Cloud-Projekt-ID der Spanner-Datenbank, aus der Sie Daten lesen möchten
  • DATABASE_ID: Die Spanner-Datenbank-ID
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets
  • INSTANCE_ID: Die Spanner-Instanz-ID
  • TABLE_ID: Die Spanner-Tabellen-ID
  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

Cloud Storage Avro für Bigtable

Die Vorlage "Cloud Storage Avro für Cloud Bigtable" ist eine Pipeline, die Daten aus Avro-Dateien in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.

Voraussetzungen für diese Pipeline:

  • Die Bigtable-Tabelle muss vorhanden sein und dieselben Spaltenfamilien haben, die in die Avro-Dateien exportiert wurden.
  • Die Avro-Eingabedateien müssen in einem Cloud Storage-Bucket vorhanden sein, bevor Sie die Pipeline ausführen.
  • Bigtable erwartet ein bestimmtes Schema aus den Avro-Eingabedateien.

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Bigtable-Tabelle.
inputFilePattern Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*.

Vorlage „Cloud Storage Avro für Bigtable” ausführen

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. Der regionale Standardendpunkt 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 Avro Files on Cloud Storage to Cloud Bigtable template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • INPUT_FILE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

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/VERSION/GCS_Avro_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • INPUT_FILE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

Cloud Storage Avro für Cloud Spanner

Die Vorlage "Cloud Storage Avro für Cloud Spanner" ist eine Batchpipeline, die in Cloud Storage gespeicherte Avro-Dateien liest und in eine Cloud Spanner-Datenbank importiert.

Voraussetzungen für diese Pipeline:

  • Die Cloud Spanner-Zieldatenbank muss vorhanden und muss leer sein.
  • Sie benötigen Leseberechtigungen für den Cloud Storage-Bucket und Schreibberechtigungen für die Ziel-Cloud-Spanner-Datenbank.
  • Der Cloud Storage-Eingabepfad muss vorhanden sein und die Datei spanner-export.json mit einer JSON-Beschreibung der zu importierenden Dateien enthalten.

Vorlagenparameter

Parameter Beschreibung
instanceId Die Instanz-ID der Cloud Spanner-Datenbank.
databaseId Die Datenbank-ID der Cloud Spanner-Datenbank.
inputDir Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden.

Vorlage „Cloud Storage Avro zu Cloud Spanner“ ausführen

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.

    Damit der Job auf der Seite Spanner-Instanzen in der Cloud Console angezeigt wird, muss der Jobname dem folgenden Format entsprechen:

    cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Dabei gilt:

    • SPANNER_INSTANCE_ID: ID Ihrer Spanner-Instanz
    • SPANNER_DATABASE_NAME: Name der Spanner-Datenbank
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt 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 Avro Files on Cloud Storage to Cloud Spanner template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner \
    --region REGION_NAME \
    --staging-location GCS_STAGING_LOCATION \
    --parameters \
instanceId=INSTANCE_ID,\
databaseId=DATABASE_ID,\
inputDir=GCS_DIRECTORY

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • INSTANCE_ID: Die ID der Spanner-Instanz, die die Datenbank enthält
  • DATABASE_ID: Die ID der Spanner-Datenbank, in die importiert werden soll
  • GCS_DIRECTORY: Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden, z. B. gs://mybucket/somefolder

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/VERSION/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "inputDir": "gs://GCS_DIRECTORY"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • INSTANCE_ID: Die ID der Spanner-Instanz, die die Datenbank enthält
  • DATABASE_ID: Die ID der Spanner-Datenbank, in die importiert werden soll
  • GCS_DIRECTORY: Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden, z. B. gs://mybucket/somefolder

Cloud Storage Parquet für Cloud Bigtable

Die Vorlage "Cloud Storage Parquet für Cloud Bigtable" ist eine Pipeline, die Daten aus Parquet-Dateien in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.

Voraussetzungen für diese Pipeline:

  • Die Bigtable-Tabelle muss vorhanden sein und dieselben Spaltenfamilien haben, die in die Parquet-Dateien exportiert wurden.
  • Die Parquet-Eingabedateien müssen in einem Cloud Storage-Bucket vorhanden sein, bevor Sie die Pipeline ausführen.
  • Bigtable erwartet ein bestimmtes Schema aus den Parquet-Eingabedateien.

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Bigtable-Tabelle.
inputFilePattern Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*.

Vorlage „Cloud Storage Parquet für Bigtable” ausführen

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. Der regionale Standardendpunkt 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 Parquet Files on Cloud Storage to Cloud Bigtable template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • INPUT_FILE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

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/VERSION/GCS_Parquet_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • INPUT_FILE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

Cloud Storage SequenceFile für Bigtable

Die Vorlage "Cloud Storage SequenceFile für Cloud Bigtable" ist eine Pipeline, die Daten aus SequenceFiles in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.

Voraussetzungen für diese Pipeline:

  • Die Bigtable-Tabelle muss vorhanden sein.
  • Die Eingabe-SequenceFiles müssen in einem Cloud Storage-Bucket vorhanden sein, bevor die Pipeline ausgeführt wird.
  • Die Eingabe-SequenceFiles müssen aus Bigtable oder HBase exportiert worden sein.

Vorlagenparameter

Parameter Beschreibung
bigtableProject Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen.
bigtableInstanceId Die ID der Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Bigtable-Tabelle.
bigtableAppProfileId Die ID des Bigtable-Anwendungsprofils, das für den Import verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Bigtable das Standard-Anwendungsprofil der Instanz.
sourcePattern Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*.

Vorlage „Cloud Storage SequenceFile für Bigtable” ausführen

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. Der regionale Standardendpunkt 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 Parquet Files on Cloud Storage to Cloud Bigtable template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_PATTERN

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • APPLICATION_PROFILE_ID: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • SOURCE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

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/VERSION/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "sourcePattern": "SOURCE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • BIGTABLE_PROJECT_ID: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • INSTANCE_ID: Die ID der Bigtable-Instanz, die die Tabelle enthält.
  • TABLE_ID: Die ID der zu exportierenden Bigtable-Tabelle.
  • APPLICATION_PROFILE_ID: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • SOURCE_PATTERN: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix*

Cloud Storage Text für BigQuery

Die Pipeline "Cloud Storage Text für BigQuery" ist eine Batchpipeline, mit der Sie in Cloud Storage gespeicherte Textdateien lesen, diese mit einer von Ihnen bereitgestellten benutzerdefinierten JavaScript-Funktion (User Defined Function, UDF) transformieren und das Ergebnis an eine BigQuery-Tabelle anhängen können.

Voraussetzungen für diese Pipeline:

  • Erstellen Sie eine JSON-Datei, die Ihr BigQuery-Schema beschreibt.

    Stellen Sie ein JSON-Array der obersten Ebene mit dem Namen BigQuery Schema bereit, dessen Inhalt dem Muster {"name": "COLUMN_NAME", "type": "DATA_TYPE"} folgt.

    Die Batchvorlage "Cloud Storage Text für BigQuery" unterstützt nicht den Import von Daten in Felder des Typs STRUCT (Eintrag) in der BigQuery-Zieltabelle.

    Der folgende JSON-Code beschreibt ein BigQuery-Beispielschema:

    {
      "BigQuery Schema": [
        {
          "name": "location",
          "type": "STRING"
        },
        {
          "name": "name",
          "type": "STRING"
        },
        {
          "name": "age",
          "type": "STRING"
        },
        {
          "name": "color",
          "type": "STRING"
        },
        {
          "name": "coffee",
          "type": "STRING"
        }
      ]
    }
    
  • Erstellen Sie eine JavaScript-Datei (.js) mit Ihrer UDF, die die Logik für die Transformation der Textzeilen bereitstellt. Ihre Funktion muss einen JSON-String zurückgeben.

    Diese Funktion teilt beispielsweise jede Zeile einer CSV-Datei auf und gibt nach der Transformation der Werte einen JSON-String zurück.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }

Vorlagenparameter

Parameter Beschreibung
javascriptTextTransformFunctionName ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten. Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
JSONPath Der gs://-Pfad zur JSON-Datei, die Ihr BigQuery-Schema definiert und in Cloud Storage gespeichert wird. Beispiel: gs://path/to/my/schema.json.
javascriptTextTransformGcsPath Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
inputFilePattern Der gs://-Pfad zum Text in Cloud Storage, den Sie verarbeiten möchten. Beispiel: gs://path/to/my/text/data.txt.
outputTable Der BigQuery-Tabellenname, den Sie zum Speichern Ihrer verarbeiteten Daten erstellen möchten. Wenn Sie eine vorhandene BigQuery-Tabelle wiederverwenden, werden die Daten an die Zieltabelle angehängt. z. B. my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory Das temporäre Verzeichnis für den BigQuery-Ladevorgang. z. B. gs://my-bucket/my-files/temp_dir.

Vorlage "Cloud Storage Text für BigQuery" ausführen

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. Der regionale Standardendpunkt 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 Text Files on Cloud Storage to BigQuery (Batch) template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery \
    --region REGION_NAME \
    --parameters \
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_BIGQUERY_SCHEMA_JSON: der Cloud Storage-Pfad zur JSON-Datei, die die Schemadefinition enthält
  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • PATH_TO_TEXT_DATA: Der Cloud Storage-Pfad zu Ihrem Text-Dataset
  • BIGQUERY_TABLE: Ihr BigQuery-Tabellenname
  • PATH_TO_TEMP_DIR_ON_GCS: Der Cloud Storage-Pfad zum temporären Verzeichnis

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/VERSION/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_BIGQUERY_SCHEMA_JSON: der Cloud Storage-Pfad zur JSON-Datei, die die Schemadefinition enthält
  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • PATH_TO_TEXT_DATA: Der Cloud Storage-Pfad zu Ihrem Text-Dataset
  • BIGQUERY_TABLE: Ihr BigQuery-Tabellenname
  • PATH_TO_TEMP_DIR_ON_GCS: Der Cloud Storage-Pfad zum temporären Verzeichnis

Cloud Storage Text für Datastore [verworfen]

Diese Vorlage wurde verworfen und wird in Q1 2022 entfernt. Bitte migrieren Sie zu der Vorlage Cloud Storage Text für Firestore.

Die Vorlage "Cloud Storage Text für Datastore" ist eine Batchpipeline, die aus in Cloud Storage gespeicherten Textdateien liest und JSON-codierte Entitäten in Datastore schreibt. Jede Zeile in den Eingabetextdateien muss das angegebene JSON-Format haben.

Voraussetzungen für diese Pipeline:

  • Cloud Datastore muss im Zielprojekt aktiviert sein.

Vorlagenparameter

Parameter Beschreibung
textReadPattern Ein Cloud Storage-Pfadmuster, das den Speicherort Ihrer Textdatendateien angibt. z. B. gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath (Optional) Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
javascriptTextTransformFunctionName (Optional) Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten. Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
datastoreWriteProjectId Die Google Cloud-Projekt-ID, in der die Datastore-Entitäten geschrieben werden sollen.
datastoreHintNumWorkers (Optional) Hinweis für die erwartete Anzahl von Workern im Schritt zur Drosselung der Erhöhung in Datastore. Standardwert ist 500.
errorWritePath Die Ausgabedatei des Fehler-Logs für Schreibfehler, die während der Verarbeitung auftreten. Beispiel: gs://bucket-name/errors.txt.

Vorlage "Cloud Storage Text für Datastore" ausführen

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. Der regionale Standardendpunkt 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 Text Files on Cloud Storage to Datastore template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Datastore \
    --region REGION_NAME \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • PATH_TO_INPUT_TEXT_FILES: Das Muster der Eingabedateien in Cloud Storage
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage

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/VERSION/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • PATH_TO_INPUT_TEXT_FILES: Das Muster der Eingabedateien in Cloud Storage
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage

Cloud Storage Text für Firestore

Die Vorlage „Cloud Storage Text für Firestore“ ist eine Batchpipeline, die aus in Cloud Storage gespeicherten Textdateien liest und JSON-codierte Entitäten in Datastore schreibt. Jede Zeile in den Eingabetextdateien muss das angegebene JSON-Format haben.

Voraussetzungen für diese Pipeline:

  • Cloud Firestore muss im Zielprojekt aktiviert sein.

Vorlagenparameter

Parameter Beschreibung
textReadPattern Ein Cloud Storage-Pfadmuster, das den Speicherort Ihrer Textdatendateien angibt. z. B. gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath (Optional) Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
javascriptTextTransformFunctionName (Optional) Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten. Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
firestoreWriteProjectId Die Google Cloud-Projekt-ID, in der die Firestore-Entitäten geschrieben werden sollen.
firestoreHintNumWorkers (Optional) Hinweis für die erwartete Anzahl von Workern im Schritt zur Drosselung der Erhöhung in Firestore. Standardwert ist 500.
errorWritePath Die Ausgabedatei des Fehler-Logs für Schreibfehler, die während der Verarbeitung auftreten. Beispiel: gs://bucket-name/errors.txt.

Vorlage „Cloud Storage Text für Firestore“ ausführen

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. Der regionale Standardendpunkt 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 Text Files on Cloud Storage to Firestore template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Firestore \
    --region REGION_NAME \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
firestoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Dabei gilt:

  • 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • PATH_TO_INPUT_TEXT_FILES: Das Muster der Eingabedateien in Cloud Storage
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage

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/VERSION/GCS_Text_to_Firestore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "firestoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • PATH_TO_INPUT_TEXT_FILES: Das Muster der Eingabedateien in Cloud Storage
  • JAVASCRIPT_FUNCTION: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.

    Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.

  • PATH_TO_JAVASCRIPT_UDF_FILE Der Cloud Storage-URI der Datei .js, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage

Cloud Storage Text für Pub/Sub (Batch)

Diese Vorlage erstellt eine Batchpipeline, die Datensätze aus Textdateien liest, die in Cloud Storage gespeichert sind. Diese Datensätze werden dann in einem Pub/Sub-Thema veröffentlicht. Die Vorlage kann zum Veröffentlichen von Datensätzen in einer JSON-Datei mit Zeilenumbruch oder in einer CSV-Datei für ein Pub/Sub-Thema zur Echtzeitverarbeitung genutzt werden. Sie können diese Vorlage verwenden, um Daten in Pub/Sub wiederzugeben.

Diese Vorlage legt keinen Zeitstempel für die einzelnen Datensätze fest. Die Ereigniszeit entspricht der Veröffentlichungszeit während der Ausführung. Wenn Ihre Pipeline für die Verarbeitung eine korrekte Ereigniszeit benötigt, müssen Sie diese Pipeline nicht verwenden.

Voraussetzungen für diese Pipeline:

  • Die zu lesenden Dateien müssen in einem durch Zeilenumbruch getrennten JSON- oder CSV-Format vorliegen. Einträge, die sich über mehrere Zeilen in den Quelldateien erstrecken, können später Probleme verursachen, da jede Zeile in den Dateien als Nachricht an Pub/Sub veröffentlicht wird.
  • Das Pub/Sub-Thema muss vorhanden sein, bevor die Pipeline ausgeführt wird.

Vorlagenparameter

Parameter Beschreibung
inputFilePattern Das Muster der Eingabedatei, aus der gelesen werden soll. Beispiel: gs://bucket-name/files/*.json.
outputTopic Das Pub/Sub-Eingabethema, in das geschrieben werden soll. Der Name muss das Format projects/<project-id>/topics/<topic-name> haben.

Vorlage "Cloud Storage Text für Pub/Sub (Batch)" ausführen

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. Der regionale Standardendpunkt 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 Text Files on Cloud Storage to Pub/Sub (Batch) template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub \
    --region REGION_NAME \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/files/*.json,\
outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-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: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • TOPIC_NAME: der Name Ihres Pub/Sub-Themas
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets

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/VERSION/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/files/*.json",
       "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Dabei gilt:

  • PROJECT_ID: die Cloud-Projekt-ID, in der 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/latest/
    • Den Versionsnamen wie 2021-09-20-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
  • LOCATION: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • TOPIC_NAME: der Name Ihres Pub/Sub-Themas
  • BUCKET_NAME: der Name Ihres Cloud Storage-Buckets

Cloud Storage Text für Cloud Spanner

Die Vorlage "Cloud Storage Text für Cloud Spanner" ist eine Batchpipeline, die CSV-Textdateien aus Cloud Storage liest und in eine Cloud Spanner-Datenbank importiert.

Voraussetzungen für diese Pipeline:

  • Die Cloud Spanner-Zieldatenbank und -tabelle müssen vorhanden sein.
  • Sie benötigen Leseberechtigungen für den Cloud Storage-Bucket und Schreibberechtigungen für die Ziel-Cloud-Spanner-Datenbank.
  • Der Cloud Storage-Eingabepfad mit den CSV-Dateien muss vorhanden sein.
  • Sie müssen eine Importmanifestdatei mit einer JSON-Beschreibung der CSV-Dateien erstellen. Sie müssen diese Manifestdatei in Cloud Storage speichern.
  • Wenn die Ziel-Cloud-Spanner-Datenbank bereits über ein Schema verfügt, müssen alle in der Manifestdatei angegebenen Spalten dieselben Datentypen wie die entsprechenden Spalten im Schema der Zieldatenbank haben.
  • Die ASCII- oder UTF-8-codierte Manifestdatei muss folgendem Format entsprechen:

  • Zu importierende Textdateien müssen im CSV-Format mit ASCII- oder UTF-8-Codierung vorliegen. Wir empfehlen, in UTF-8-codierten Dateien keine Bytereihenfolge-Marke (Byte Order Mark, BOM) zu verwenden.
  • Die Daten müssen einem der folgenden Typen entsprechen:
    • INT64
    • FLOAT64
    • BOOL
    • STRING
    • DATE
    • TIMESTAMP

Vorlagenparameter

Parameter Beschreibung
instanceId Die Instanz-ID der Cloud Spanner-Datenbank.
databaseId Die Datenbank-ID der Cloud Spanner-Datenbank.
importManifest Der Pfad in Cloud Storage zur Importmanifestdatei.
columnDelimiter Das Spaltentrennzeichen, das in der Quelldatei verwendet wird. Der Standardwert ist ,.
fieldQualifier Das Zeichen, das jeden Wert in der Quelldatei, die das columnDelimiter enthält, einschließen muss. Der Standardwert ist ".
trailingDelimiter Gibt an, ob die Zeilen in den Quelldateien nachgestellte Trennzeichen haben (ob das Zeichen columnDelimiter also am Ende jeder Zeile nach dem letzten Spaltenwert erscheint). Der Standardwert ist true.
escape Das von der Quelldatei verwendete Escapezeichen. Dieser Parameter ist standardmäßig nicht gesetzt und die V