Von Google bereitgestellte Batchvorlagen

Google bietet eine Reihe von Open-Source-Vorlagen für Cloud Dataflow. Allgemeine Informationen zu Vorlagen finden Sie auf der Seite Übersicht. Eine Liste aller von Google bereitgestellten Vorlagen finden Sie auf der Seite Erste Schritte mit von Google bereitgestellten Vorlagen.

Auf dieser Seite 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. Beachten Sie, dass die Unterverzeichnisse für Training, Tests und Validierungen nicht bereits vorhanden sein müssen und automatisch generiert werden.

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. Beispiel: gs://mybucket/output. Unterverzeichnisse für resultierende TFRecord-Dateien für Training, Tests und Validierungen werden automatisch auf der Grundlage von outputDirectory erstellt. Beispiel: 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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Zum Ausführen von Vorlagen mit dem gcloud-Befehlszeilentool benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records

Ersetzen Sie die folgenden Werte, um die HTTP-Anfrage zu stellen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [READ_QUERY] durch die BigQuery-Abfrage, die ausgeführt werden soll.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch das Cloud Storage-Pfadpräfix für Ausgabe-Datasets.
  • Ersetzen Sie [TRAINING_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Trainings-Dataset.
  • Ersetzen Sie [TESTING_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Test-Dataset.
  • Ersetzen Sie [VALIDATION_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Validierungs-Dataset.
  • Ersetzen Sie [OUTPUT_SUFFIX] durch das bevorzugte Suffix der TensorFlow Record-Ausgabedatei.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_BigQuery_to_GCS_TensorFlow_Records \
    --parameters readQuery=[READ_QUERY],outputDirectory=[OUTPUT_DIRECTORY],trainingPercentage=[TRAINING_PERCENTAGE],testingPercentage=[TESTING_PERCENTAGE],validationPercentage=[VALIDATION_PERCENTAGE],outputSuffix=[FILENAME_SUFFIX]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records

Zum Ausführen dieser Vorlage mithilfe der REST API senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Ersetzen Sie die folgenden Werte, um die HTTP-Anfrage zu stellen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [READ_QUERY] durch die BigQuery-Abfrage, die ausgeführt werden soll.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch das Cloud Storage-Pfadpräfix für Ausgabe-Datasets.
  • Ersetzen Sie [TRAINING_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Trainings-Dataset.
  • Ersetzen Sie [TESTING_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Test-Dataset.
  • Ersetzen Sie [VALIDATION_PERCENTAGE] durch die Dezimalprozentsatzaufteilung für das Validierungs-Dataset.
  • Ersetzen Sie [OUTPUT_SUFFIX] durch das bevorzugte Suffix der TensorFlow Record-Ausgabedatei.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/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":"[FILENAME_SUFFIX]"
   },
   "environment": { "zone": "us-central1-f" }
}

BigQuery für Cloud Storage Parquet (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-Tabelle mit den Eingabedaten muss vor der Pipelineausführung vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, damit Sie die Pipeline verwenden können.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the BigQuery to Parquet template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Um das gcloud-Befehlszeilentool zum Ausführen von Flex-Vorlagen verwenden zu können, brauchen Sie Cloud SDK Version 284.0.0 oder höher.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/flex/BigQuery_To_Parquet

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie BIGQUERY_TABLE durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie OUTPUT_DIRECTORY durch Ihren Cloud Storage-Ordner für Ausgabedateien.
  • Ersetzen Sie NUM_SHARDS durch die gewünschte Anzahl von Shards für Ausgabedateien.
  • Ersetzen Sie FIELDS durch die durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden sollen.
  • Ersetzen Sie LOCATION durch den Ausführungsbereich. Beispiel: us-central1
gcloud beta dataflow flex-template run JOB_NAME \
    --project=YOUR_PROJECT_ID} \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/BigQuery_To_Parquet \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/flex/BigQuery_To_Parquet

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie BIGQUERY_TABLE durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie OUTPUT_DIRECTORY durch Ihren Cloud Storage-Ordner für Ausgabedateien.
  • Ersetzen Sie NUM_SHARDS durch die gewünschte Anzahl von Shards für Ausgabedateien.
  • Ersetzen Sie FIELDS durch die durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden sollen.
  • Ersetzen Sie LOCATION durch den Ausführungsbereich. Beispiel: us-central1
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_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/latest/flex/BigQuery_To_Parquet",
   }
}

Cloud Bigtable für Cloud Storage Avro

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

Voraussetzungen für diese Pipeline:

  • Die Cloud Bigtable-Tabelle muss vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, damit Sie die Pipeline verwenden können.

Vorlagenparameter

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

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Bigtable to Avro template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des Avro-Dateinamens. Beispiel: output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des Avro-Dateinamens. Beispiel: output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable für Cloud Storage Parquet

Die Vorlage „Cloud Bigtable für Cloud Storage Parquet“ ist eine Pipeline, die Daten aus einer Cloud Bigtable-Tabelle liest und im Parquet-Format in einen Cloud Storage-Bucket schreibt. Mit der Vorlage können Daten von Cloud Bigtable zu Cloud Storage verschoben werden.

Voraussetzungen für diese Pipeline:

  • Die Cloud Bigtable-Tabelle muss vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, damit Sie die Pipeline verwenden können.

Vorlagenparameter

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

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Bigtable to Parquet template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des Parquet-Dateinamens. Beispiel: output-.
  • Ersetzen Sie [NUM_SHARDS] durch die Anzahl der auszugebenden Parquet-Dateien. Beispiel: 1.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX],numShards=[NUM_SHARDS]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [OUTPUT_DIRECTORY] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des Parquet-Dateinamens. Beispiel: output-.
  • Ersetzen Sie [NUM_SHARDS] durch die Anzahl der auszugebenden Parquet-Dateien. Beispiel: 1.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
       "numShards": "[NUM_SHARDS]"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable für Cloud Storage SequenceFile

Die Vorlage "Cloud Bigtable für Cloud Storage SequenceFile" ist eine Pipeline, die Daten aus einer Cloud Bigtable-Tabelle liest und im SequenceFile-Format in einen Cloud Storage-Bucket schreibt. Mit der Vorlage können Daten von Cloud Bigtable in Cloud Storage kopiert werden.

Voraussetzungen für diese Pipeline:

  • Die Cloud Bigtable-Tabelle muss vorhanden sein.
  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, damit Sie die Pipeline verwenden können.

Vorlagenparameter

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

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Bigtable to SequenceFile template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [APPLICATION_PROFILE_ID] durch die ID des Cloud Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • Ersetzen Sie [DESTINATION_PATH] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des SequenceFile-Dateinamens. Beispiel: output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],destinationPath=[DESTINATION_PATH],filenamePrefix=[FILENAME_PREFIX]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [APPLICATION_PROFILE_ID] durch die ID des Cloud Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • Ersetzen Sie [DESTINATION_PATH] durch den Cloud Storage-Pfad, in den die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder.
  • Ersetzen Sie [FILENAME_PREFIX] durch das Präfix des SequenceFile-Dateinamens. Beispiel: output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "destinationPath": "[DESTINATION_PATH]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Datastore für 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 Ein Cloud Storage-Pfad, der Ihren gesamten JavaScript-Code enthält. Beispiel: gs://mybucket/mytransforms/*.js. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.
javascriptTextTransformFunctionName Der Name der aufzurufenden JavaScript-Funktion. Wenn Ihre JavaScript-Funktion beispielsweise function myTransform(inJson) { ...dostuff...} ist, lautet der Funktionsname myTransform. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.
textWritePrefix Das Präfix des Cloud Storage-Pfads zum Angeben des Orts, an dem die Daten geschrieben werden sollen. Beispiel: gs://mybucket/somefolder/.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Datastore to Cloud Storage Text template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen Ihres Cloud Storage-Buckets.
  • Ersetzen Sie YOUR_DATASTORE_KIND durch den Typ Ihrer Datastore-Entitäten.
  • Ersetzen Sie YOUR_DATASTORE_NAMESPACE durch den Namespace Ihrer Datastore-Entitäten.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM YOUR_DATASTORE_KIND",\
datastoreReadProjectId=YOUR_PROJECT_ID,\
datastoreReadNamespace=YOUR_DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen Ihres Cloud Storage-Buckets.
  • Ersetzen Sie YOUR_DATASTORE_KIND durch den Typ Ihrer Datastore-Entitäten.
  • Ersetzen Sie YOUR_DATASTORE_NAMESPACE durch den Namespace Ihrer Datastore-Entitäten.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM YOUR_DATASTORE_KIND"
       "datastoreReadProjectId": "YOUR_PROJECT_ID",
       "datastoreReadNamespace": "YOUR_DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Spanner für Cloud Storage Avro

Die Vorlage "Cloud Spanner für Cloud Storage" ist eine Batchpipeline, die eine vollständige Cloud Spanner-Datenbank im Avro-Format in 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.

Vorlage ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Spanner to Cloud Storage Avro template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein.
    • Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
    • Der Jobname muss dem Format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] entsprechen, damit er im Cloud Spanner-Bereich der Cloud Console angezeigt wird.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Verwenden Sie diese Beispielsanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie eine tempLocation angeben, für die Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch Ihre Cloud Spanner-Instanz-ID.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch Ihre Cloud Spanner-Datenbank-ID.
  • Ersetzen Sie [YOUR_GCS_DIRECTORY] durch den Cloud Storage-Pfad, in den die Avro-Dateien exportiert werden sollen.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl.
    • Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
    • Der Jobname muss dem Format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] entsprechen, damit er im Cloud Spanner-Bereich der Cloud Console angezeigt wird.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],outputDir=[YOUR_GCS_DIRECTORY]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Verwenden Sie diese Beispielsanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie eine tempLocation angeben, für die Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch Ihre Cloud Spanner-Instanz-ID.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch Ihre Cloud Spanner-Datenbank-ID.
  • Ersetzen Sie [YOUR_GCS_DIRECTORY] durch den Cloud Storage-Pfad, in den die Avro-Dateien exportiert werden sollen.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl.
    • Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
    • Der Jobname muss dem Format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] entsprechen, damit er im Cloud Spanner-Bereich der Cloud Console angezeigt wird.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "outputDir": "gs://[YOUR_GCS_DIRECTORY]"
   }
}

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, die Daten optional über eine von Ihnen bereitgestellte JavaScript-UDF (User Defined Function, benutzerdefinierte Funktion) konvertiert und als CSV-Textdateien in Cloud Storage schreibt.

Voraussetzungen für diese Pipeline:

  • Die Spanner-Tabelle mit den Eingabedaten muss vor der Pipelineausführung vorhanden sein.

Vorlagenparameter

Parameter Beschreibung
spannerProjectId Die GCP-Projekt-ID der Cloud-Spanner-Datenbank, aus der Sie Daten lesen möchten.
spannerDatabaseId Datenbank der angeforderten Tabelle.
spannerInstanceId Instanz der angeforderten Tabelle.
spannerTable Zu exportierende Tabelle.
textWritePrefix Ausgabeverzeichnis, in das die Ausgabe-Textdateien geschrieben werden. Am Ende muss ein / hinzugefügt werden. Beispiel: gs://mybucket/somefolder/.
javascriptTextTransformGcsPath [Optional] Ein Cloud Storage-Pfad, der Ihren gesamten JavaScript-Code enthält. Beispiel: gs://mybucket/mytransforms/*.js. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.
javascriptTextTransformFunctionName [Optional] Name der JavaScript-Funktion, die aufgerufen werden soll. Wenn Ihre JavaScript-Funktion beispielsweise function myTransform(inJson) { ...dostuff...} ist, lautet der Funktionsname myTransform. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Spanner to Cloud Storage Text template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_DATABASE_ID durch die Spanner-Datenbank-ID.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen Ihres Cloud Storage-Buckets.
  • Ersetzen Sie YOUR_INSTANCE_ID durch die Spanner-Instanz-ID.
  • Ersetzen Sie YOUR_TABLE_ID durch die Spanner-Tabellen-ID.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=YOUR_PROJECT_ID,\
spannerDatabaseId=YOUR_DATABASE_ID,\
spannerInstanceId=YOUR_INSTANCE_ID,\
spannerTable=YOUR_TABLE_ID,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_DATABASE_ID durch die Spanner-Datenbank-ID.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen Ihres Cloud Storage-Buckets.
  • Ersetzen Sie YOUR_INSTANCE_ID durch die Spanner-Instanz-ID.
  • Ersetzen Sie YOUR_TABLE_ID durch die Spanner-Tabellen-ID.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "YOUR_PROJECT_ID",
       "spannerDatabaseId": "YOUR_DATABASE_ID",
       "spannerInstanceId": "YOUR_INSTANCE_ID",
       "spannerTable": "YOUR_TABLE_ID",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro für Cloud 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 Cloud Bigtable-Tabelle schreibt. Mit der Vorlage können Daten von Cloud Storage in Cloud Bigtable kopiert werden.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, in die Sie Daten schreiben möchten.
bigtableInstanceId Die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Cloud Bigtable-Tabelle.
inputFilePattern Das Muster für den Cloud Storage-Pfad, in dem sich die Daten befinden. Beispiel: gs://mybucket/somefolder/prefix*.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Spanner to Cloud Storage Text template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [INPUT_FILE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [INPUT_FILE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

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

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Avro to Spanner template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein.
    • Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
    • Der Jobname muss dem Format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] entsprechen, damit er im Cloud Spanner-Bereich der Cloud Console angezeigt wird.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • (Nur API) Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch die ID der Spanner-Instanz, die die Datenbank enthält.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch die ID der Spanner-Datenbank, in die importiert werden soll.
  • (Nur gcloud) Ersetzen Sie [YOUR_GCS_STAGING_LOCATION] durch den Pfad zum Schreiben temporärer Dateien. Beispiel: gs://mybucket/temp
  • Ersetzen Sie [YOUR_GCS_DIRECTORY] durch den Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden sollen. Beispiel: gs://mybucket/somefolder.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --staging-location=[YOUR_GCS_STAGING_LOCATION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],inputDir=[YOUR_GCS_DIRECTORY]'

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • (Nur API) Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch die ID der Spanner-Instanz, die die Datenbank enthält.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch die ID der Spanner-Datenbank, in die importiert werden soll.
  • (Nur gcloud) Ersetzen Sie [YOUR_GCS_STAGING_LOCATION] durch den Pfad zum Schreiben temporärer Dateien. Beispiel: gs://mybucket/temp
  • Ersetzen Sie [YOUR_GCS_DIRECTORY] durch den Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden sollen. Beispiel: gs://mybucket/somefolder.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "inputDir": "gs://[YOUR_GCS_DIRECTORY]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

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 die Daten in eine Cloud Bigtable-Tabelle schreibt. Mit der Vorlage können Daten von Cloud Storage in Cloud Bigtable kopiert werden.

Voraussetzungen für diese Pipeline:

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

Vorlagenparameter

Parameter Beschreibung
bigtableProjectId Die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, in die Sie Daten schreiben möchten.
bigtableInstanceId Die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Cloud Bigtable-Tabelle.
inputFilePattern Das Muster für den Cloud Storage-Pfad, in dem sich die Daten befinden. Beispiel: gs://mybucket/somefolder/prefix*.

Vorlage "Cloud Storage Parquet-Datei für Cloud Bigtable" ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Avro to Spanner template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [INPUT_FILE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_Parquet_to_Cloud_Bigtable \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [INPUT_FILE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Parquet_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage SequenceFile für Cloud 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 Cloud Bigtable-Tabelle schreibt. Mit der Vorlage können Daten von Cloud Storage in Cloud Bigtable kopiert werden.

Voraussetzungen für diese Pipeline:

  • Die Cloud Bigtable-Tabelle muss vorhanden sein.
  • Die Eingabe-SequenceFiles müssen vor Ausführung der Pipeline in einem Cloud Storage-Bucket vorhanden sein.
  • Die Eingabe-SequenceFiles müssen aus Cloud Bigtable oder HBase exportiert worden sein.

Vorlagenparameter

Parameter Beschreibung
bigtableProject Die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, in die Sie Daten schreiben möchten.
bigtableInstanceId Die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
bigtableTableId Die ID der zu importierenden Cloud Bigtable-Tabelle.
bigtableAppProfileId Die ID des Cloud Bigtable-Anwendungsprofils, das für den Import verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Cloud Bigtable das standardmäßige App-Profil der Instanz.
sourcePattern Das Muster für den Cloud Storage-Pfad, in dem sich die Daten befinden. Beispiel: gs://mybucket/somefolder/prefix*.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the SequenceFile Files on Cloud Storage to Cloud Bigtable template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [APPLICATION_PROFILE_ID] durch die ID des Cloud Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • Ersetzen Sie [SOURCE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],sourcePattern=[SOURCE_PATTERN]

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Verwenden Sie diese Beispielanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie einen tempLocation angeben, mit dem Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie [PROJECT_ID] durch die ID des Google Cloud-Projekts der Cloud Bigtable-Instanz, aus der Sie Daten lesen möchten.
  • Ersetzen Sie [INSTANCE_ID] durch die ID der Cloud Bigtable-Instanz, die die Tabelle enthält.
  • Ersetzen Sie [TABLE_ID] durch die ID der zu exportierenden Cloud Bigtable-Tabelle.
  • Ersetzen Sie [APPLICATION_PROFILE_ID] durch die ID des Cloud Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.
  • Ersetzen Sie [SOURCE_PATTERN] durch das Muster für den Cloud Storage-Pfad, in dem die Daten enthalten sind. Beispiel: gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "sourcePattern": "[SOURCE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

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 in BigQuery ausgeben können.

WICHTIG: Wenn Sie eine vorhandene BigQuery-Tabelle wiederverwenden, wird die Tabelle überschrieben.

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

    {
      "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. Beachten Sie, dass Ihre Funktion einen JSON-String zurückgeben muss.

    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 Der Name der Funktion, die Sie aus Ihrer .js-Datei aufrufen.
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 gs://-Pfad zur JavaScript-Datei, die Ihre UDF definiert. Beispiel: gs://path/to/my/javascript_function.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, wird die Tabelle überschrieben. Beispiel: my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory Das temporäre Verzeichnis für den BigQuery-Ladevorgang. Beispiel: gs://my-bucket/my-files/temp_dir.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Text to BigQuery template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer UDF.
  • Ersetzen Sie PATH_TO_BIGQUERY_SCHEMA_JSON durch den Cloud Storage-Pfad der JSON-Datei, die die Schemadefinition enthält.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie PATH_TO_YOUR_TEXT_DATA durch Ihren Cloud Storage-Pfad zu Ihrem Text-Dataset.
  • Ersetzen Sie BIGQUERY_TABLE durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie PATH_TO_TEMP_DIR_ON_GCS durch Ihren Cloud Storage-Pfad zum temporären Verzeichnis.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer UDF.
  • Ersetzen Sie PATH_TO_BIGQUERY_SCHEMA_JSON durch den Cloud Storage-Pfad der JSON-Datei, die die Schemadefinition enthält.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie PATH_TO_YOUR_TEXT_DATA durch Ihren Cloud Storage-Pfad zu Ihrem Text-Dataset.
  • Ersetzen Sie BIGQUERY_TABLE durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie PATH_TO_TEMP_DIR_ON_GCS durch Ihren Cloud Storage-Pfad zum temporären Verzeichnis.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text für Datastore

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 sollte im JSON-Format sein, wie unter https://cloud.google.com/datastore/docs/reference/rest/v1/Entity angegeben.

Voraussetzungen für diese Pipeline:

  • Cloud Datastore muss im Zielprojekt aktiviert sein.

Vorlagenparameter

Parameter Beschreibung
textReadPattern Ein Cloud Storage-Dateipfadmuster, das den Speicherort Ihrer Textdatendateien angibt. Beispiel: gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath Ein Muster für den Cloud Storage-Pfad, der Ihren gesamten JavaScript-Code enthält. Beispiel: gs://mybucket/mytransforms/*.js. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.
javascriptTextTransformFunctionName Der Name der aufzurufenden JavaScript-Funktion. Wenn Ihre JavaScript-Funktion beispielsweise function myTransform(inJson) { ...dostuff...} ist, lautet der Funktionsname myTransform. Wenn Sie keine Funktion bereitstellen möchten, lassen Sie diesen Parameter leer.
datastoreWriteProjectId Die Google Cloud-Projekt-ID, in der die Datastore-Entitäten geschrieben werden sollen.
errorWritePath Die Ausgabedatei des Fehlerlogs für Schreibfehler, die während der Verarbeitung auftreten. Beispiel: gs://bucket-name/errors.txt.

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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Text to Datastore template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie PATH_TO_INPUT_TEXT_FILES durch das Muster der Eingabedateien in Cloud Storage.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie ERROR_FILE_WRITE_PATH durch den gewünschten Pfad zur Fehlerdatei in Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=YOUR_PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie PATH_TO_INPUT_TEXT_FILES durch das Muster der Eingabedateien in Cloud Storage.
  • Ersetzen Sie YOUR_JAVASCRIPT_FUNCTION durch den Namen Ihrer JavaScript-Funktion.
  • Ersetzen Sie PATH_TO_JAVASCRIPT_UDF_FILE durch den Cloud Storage-Pfad zur .js-Datei, die Ihren JavaScript-Code enthält.
  • Ersetzen Sie ERROR_FILE_WRITE_PATH durch den gewünschten Pfad zur Fehlerdatei in Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "YOUR_PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

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

Beachten Sie, dass diese Vorlage keinen Zeitstempel für die einzelnen Datensätze definiert, sodass die Ereigniszeit der Veröffentlichungszeit während der Ausführung entspricht. Wenn Ihre Pipeline bei der Verarbeitung auf eine korrekte Ereigniszeit angewiesen ist, sollten 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. Datensätze, 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

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Text to Pub/Sub (Batch) template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_TOPIC_NAME durch Ihren Pub/Sub-Themennamen.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_TOPIC_NAME durch Ihren Pub/Sub-Themennamen.
  • Ersetzen Sie YOUR_BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

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 dieses Manifest 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 sollte. 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 Vorlage verwendet kein Escapezeichen.
nullString Der String, der einen NULL-Wert darstellt. Dieser Parameter ist standardmäßig nicht gesetzt und die Vorlage verwendet den Null-String nicht.
dateFormat Das zum Parsen der Datumsspalten verwendete Format. Standardmäßig versucht die Pipeline, die Datumsspalten als yyyy-M-d[' 00:00:00'] zu parsen, z. B. als 2019-01-31 oder 2019-1-1 00:00:00. Wenn sich Ihr Datumsformat unterscheidet, geben Sie es mit den Mustern java.time.format.DateTimeFormatter an.
timestampFormat Das zum Parsen der Zeitstempelspalten verwendete Format. Ist der Zeitstempel eine lange Ganzzahl, wird er als UNIX-Epoche geparst. Ansonsten wird er als String mit dem Format java.time.format.DateTimeFormatter.ISO_INSTANT geparst. In anderen Fällen geben Sie Ihren eigenen Musterstring an, z. B. mithilfe von MMM dd yyyy HH:mm:ss.SSSVV für Zeitstempel im Format "Jan 21 1998 01:02:03.456+08:00"..

Wenn Sie benutzerdefinierte Datums- oder Zeitstempelformate verwenden müssen, stellen Sie sicher, dass sie gültige java.time.format.DateTimeFormatter-Muster haben. Die folgende Tabelle zeigt zusätzliche Beispiele für benutzerdefinierte Formate in den Datums- und Zeitstempelspalten:

Typ Eingabewert Format Bemerkung
DATE 2011-3-31 Die Vorlage kann dieses Format standardmäßig parsen. Sie müssen den Parameter dateFormat nicht angeben.
DATE 2011-3-31 00:00:00 Die Vorlage kann dieses Format standardmäßig parsen. Sie müssen das Format nicht angeben. Sie können yyyy-M-d' 00:00:00' verwenden.
DATE 01. Apr 18 tt. MMM jj
DATE Mittwoch, 3. April 2019 EEEE, d. MMMM jjjj
TIMESTAMP 2019-01-02T11:22:33Z
2019-01-02T11:22:33.123Z
2019-01-02T11:22:33.12356789Z
Das Standardformat ISO_INSTANT kann diese Art von Zeitstempel parsen. Sie müssen den Parameter timestampFormat nicht angeben.
TIMESTAMP 1568402363 Standardmäßig kann die Vorlage diese Art von Zeitstempel parsen und sie als Unix-Epochen-Zeit behandeln.
TIMESTAMP Di, 3. Jun 2008 11:05:30 GMT EEE, d. MMM jjjj HH:mm:ss VV
TIMESTAMP 31.12.2018 110530.123PST tt.MM.jjjj HHmmss.SSSSz
TIMESTAMP 2019-01-02T11:22:33Z oder 2019-01-02T11:22:33.123Z jjjj-MM-tt'T'HH:mm:ss[.SSS]VV Wenn die Eingabespalte eine Kombination aus 2019-01-02T11:22:33Z und 2019-01-02T11:22:33.123Z ist, kann das Standardformat diese Art von Zeitstempel parsen. Sie müssen keinen eigenen Formatparameter angeben. Sie können jedoch yyyy-MM-dd'T'HH:mm:ss[.SSS]VV verwenden, um beide Fälle zu verarbeiten. Beachten Sie, dass Sie yyyy-MM-dd'T'HH:mm:ss[.SSS]'Z' nicht verwenden können, da das Postfix "Z" als Zeitzonen-ID und nicht als Zeichenliteral geparst werden muss. Intern wird die Zeitstempelspalte in eine java.time.Instant umgewandelt. Daher muss es in UTC angegeben werden oder mit Zeitzoneninformationen verknüpft sein. Lokales Datum, z. B. 2019-01-02 11:22:33, kann nicht als gültige java.time.Instant geparst werden.

Vorlage ausführen

Console

In der Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Cloud Storage Text to Cloud Spanner template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

gcloud

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

Verwenden Sie diese Beispielsanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie eine tempLocation angeben, für die Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch Ihre Cloud Spanner-Instanz-ID.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch Ihre Cloud Spanner-Datenbank-ID.
  • Ersetzen Sie [GCS_PATH_TO_IMPORT_MANIFEST] durch den Cloud Storage-Pfad zu Ihrer Importmanifestdatei.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname muss dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entsprechen, um gültig zu sein.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Text_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],importManifest=[GCS_PATH_TO_IMPORT_MANIFEST]'

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

Verwenden Sie diese Beispielsanfrage, wie unter REST API verwenden dokumentiert. Diese Anfrage erfordert eine Autorisierung. Außerdem müssen Sie eine tempLocation angeben, für die Sie schreibberechtigt sind. In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie [YOUR_PROJECT_ID] durch Ihre Projekt-ID.
  • Ersetzen Sie [DATAFLOW_REGION] durch die Region, in der der Dataflow-Job ausgeführt werden soll, z. B. us-central1.
  • Ersetzen Sie [YOUR_INSTANCE_ID] durch Ihre Cloud Spanner-Instanz-ID.
  • Ersetzen Sie [YOUR_DATABASE_ID] durch Ihre Cloud Spanner-Datenbank-ID.
  • Ersetzen Sie [GCS_PATH_TO_IMPORT_MANIFEST] durch den Cloud Storage-Pfad zu Ihrer Importmanifestdatei.
  • Ersetzen Sie [JOB_NAME] durch einen Jobnamen Ihrer Wahl. Der Jobname muss dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entsprechen, um gültig zu sein.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Text_to_Cloud_Spanner

{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "importManifest": "[GCS_PATH_TO_IMPORT_MANIFEST]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Java-Datenbankkonnektivität (JDBC) für BigQuery

Die Vorlage "JDBC für BigQuery" ist eine Batchpipeline, die Daten aus einer relationalen Datenbanktabelle in eine vorhandene BigQuery-Tabelle kopiert. Diese Pipeline verwendet JDBC, um eine Verbindung zur relationalen Datenbank herzustellen. Sie können mit dieser Vorlage Daten aus einer beliebigen relationalen Datenbank mit den verfügbaren JDBC-Treibern nach BigQuery kopieren. Als zusätzliche Schutzmaßnahme können Sie auch einen Cloud KMS-Schlüssel zusammen mit einem Base64-codierten Nutzernamen, Passwort und Verbindungsstring-Parametern übergeben, die mit dem Cloud KMS-Schlüssel verschlüsselt sind. Weitere Informationen zum Verschlüsseln von Nutzernamen, Passwörtern und Verbindungsstring-Parametern finden Sie unter Cloud KMS API-Verschlüsselungsendpunkt.

Voraussetzungen für diese Pipeline:

  • Die JDBC-Treiber für die relationale Datenbank müssen verfügbar sein.
  • Die BigQuery-Tabelle muss vor der Pipelineausführung vorhanden sein.
  • Die BigQuery-Tabelle muss ein kompatibles Schema haben.
  • Die relationale Datenbank muss über das Subnetz zugänglich sein, in dem Dataflow ausgeführt wird.

Vorlagenparameter

Parameter Beschreibung
driverJars Durch Kommas getrennte Liste der jar-Dateien für die Treiber. Beispiel: gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar.
driverClassName Der Name der JDBC-Treiberklasse. Beispiel: com.mysql.jdbc.Driver.
connectionURL Der URL-String für die JDBC-Verbindung. Beispiel: jdbc:mysql://some-host:3306/sampledb. Kann als Base64-codierter String übergeben werden, der mit einem Cloud KMS-Schlüssel verschlüsselt ist.
query Abfrage, die in der Quelle zur Extraktion der Daten ausgeführt wird. Beispiel: select * from sampledb.sample_table.
outputTable Der Speicherort der BigQuery-Ausgabetabelle im Format <my-project>:<my-dataset>.<my-table>.
bigQueryLoadingTemporaryDirectory Das temporäre Verzeichnis für den BigQuery-Ladevorgang. Beispiel: gs://<my-bucket>/my-files/temp_dir.
connectionProperties [Optional] Attributstring für die JDBC-Verbindung. Beispiel: unicode=true&characterEncoding=UTF-8.
username [Optional] Nutzername, der für die JDBC-Verbindung verwendet werden soll. Kann als Base64-codierter String übergeben werden, der mit einem Cloud KMS-Schlüssel verschlüsselt ist.
password [Optional] Passwort für die JDBC-Verbindung. Kann als Base64-codierter String übergeben werden, der mit einem Cloud KMS-Schlüssel verschlüsselt ist.
KMSEncryptionKey [Optional] Cloud KMS-Verschlüsselungsschlüssel zur Entschlüsselung des Nutzernamens, Passworts und Verbindungsstrings. Wenn der Cloud KMS-Schlüssel übergeben wird, müssen der Nutzername, das Passwort und der Verbindungsstring verschlüsselt übergeben werden.

Vorlage "Java Database Connectivity (JDBC) für BigQuery" ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the JDBC to BigQuery template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie DRIVER_PATHS durch die kommagetrennten Cloud Storage-Pfade der JDBC-Treiber.
  • Ersetzen Sie DRIVER_CLASS_NAME durch den Laufwerkklassennamen.
  • Ersetzen Sie JDBC_CONNECTION_URL durch die JDBC-Verbindungs-URL.
  • Ersetzen Sie SOURCE_SQL_QUERY durch die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden soll.
  • Ersetzen Sie YOUR_DATASET durch Ihr BigQuery-Dataset und ersetzen Sie YOUR_TABLE_NAME durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie PATH_TO_TEMP_DIR_ON_GCS durch Ihren Cloud Storage-Pfad zum temporären Verzeichnis.
  • Ersetzen Sie CONNECTION_PROPERTIES durch die JDBC-Verbindungsattribute, falls erforderlich.
  • Ersetzen Sie CONNECTION_USERNAME durch den Nutzernamen der JDBC-Verbindung.
  • Ersetzen Sie CONNECTION_PASSWORD durch das JDBC-Verbindungspasswort.
  • Ersetzen Sie KMS_ENCRYPTION_KEY durch den Cloud KMS-Verschlüsselungsschlüssel.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD,\
KMSEncryptionKey=KMS_ENCRYPTION_KEY

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie DRIVER_PATHS durch die kommagetrennten Cloud Storage-Pfade der JDBC-Treiber.
  • Ersetzen Sie DRIVER_CLASS_NAME durch den Laufwerkklassennamen.
  • Ersetzen Sie JDBC_CONNECTION_URL durch die JDBC-Verbindungs-URL.
  • Ersetzen Sie SOURCE_SQL_QUERY durch die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden soll.
  • Ersetzen Sie YOUR_DATASET durch Ihr BigQuery-Dataset und ersetzen Sie YOUR_TABLE_NAME durch Ihren BigQuery-Tabellennamen.
  • Ersetzen Sie PATH_TO_TEMP_DIR_ON_GCS durch Ihren Cloud Storage-Pfad zum temporären Verzeichnis.
  • Ersetzen Sie CONNECTION_PROPERTIES durch die JDBC-Verbindungsattribute, falls erforderlich.
  • Ersetzen Sie CONNECTION_USERNAME durch den Nutzernamen der JDBC-Verbindung.
  • Ersetzen Sie CONNECTION_PASSWORD durch das JDBC-Verbindungspasswort.
  • Ersetzen Sie KMS_ENCRYPTION_KEY durch den Cloud KMS-Verschlüsselungsschlüssel.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD",
       "KMSEncryptionKey":"KMS_ENCRYPTION_KEY"
   },
   "environment": { "zone": "us-central1-f" }
}

Apache Cassandra für Cloud Bigtable

Die Vorlage „Apache Cassandra für Cloud Bigtable“ kopiert eine Tabelle von Apache Cassandra nach Cloud Bigtable. Diese Vorlage erfordert eine minimale Konfiguration und repliziert die Tabellenstruktur in Cassandra so genau wie möglich in Cloud Bigtable.

Die Vorlage "Apache Cassandra für Cloud Bigtable" eignet sich für Folgendes:

  • Migration einer Apache Cassandra-Datenbank, wenn kurze Ausfallzeiten akzeptabel sind.
  • Regelmäßige Replikation von Cassandra-Tabellen in Cloud Bigtable für globale Bereitstellungszwecke.

Voraussetzungen für diese Pipeline:

  • Die Zieltabelle von Cloud Bigtable muss vor dem Ausführen der Pipeline vorhanden sein.
  • Netzwerkverbindung zwischen Dataflow-Workern und Apache Cassandra-Knoten.

Typkonvertierung

Die Vorlage „Apache Cassandra für Cloud Bigtable“ konvertiert Apache Cassandra-Datentypen automatisch in Cloud Bigtable-Datentypen.

Die meisten Primitiven werden in Cloud Bigtable und Apache Cassandra auf die gleiche Weise dargestellt. Die folgenden Primitiven werden jedoch anders dargestellt:

  • Date und Timestamp werden in DateTime-Objekte konvertiert
  • UUID wird konvertiert in String
  • Varint wird konvertiert in BigDecimal

Apache Cassandra unterstützt nativ auch komplexere Typen wie Tuple, List, Set und Map. Tupel werden von dieser Pipeline nicht unterstützt, da es in Apache Beam keinen entsprechenden Typ gibt.

In Apache Cassandra können Sie beispielsweise eine Spalte vom Typ List mit dem Namen „mylist“ und Werte wie die in der folgenden Tabelle haben:

row mylist
1 (a,b,c)

Die Pipeline erweitert die Listenspalte in drei verschiedene Spalten (in Cloud Bigtable als Spaltenqualifizierer bezeichnet). Der Name der Spalten lautet „mylist“, aber die Pipeline hängt den Index des Elements in der Liste an, z. B. „mylist [0]“.

row mylist[0] mylist[1] mylist[2]
1 a b c

Die Pipeline verarbeitet die Sätze wie Listen, fügt jedoch ein zusätzliches Suffix hinzu, das angibt, ob die Zelle ein Schlüssel oder ein Wert ist.

row mymap
1 {"first_key":"first_value","another_key":"different_value"}

Nach der Transformation sieht die Tabelle so aus:

row mymap[0].key mymap[0].value mymap[1].key mymap[1].value
1 first_key first_value another_key different_value

Primärschlüssel-Konvertierung

In Apache Cassandra wird ein Primärschlüssel mithilfe der Datendefinitionssprache definiert. Der Primärschlüssel ist entweder einfach, zusammengesetzt oder mit Clustering-Spalten kombiniert. Cloud Bigtable unterstützt die manuelle Erstellung von Zeilenschlüsseln, die lexikografisch in einem Byte-Array angeordnet sind. Die Pipeline sammelt automatisch Informationen zum Schlüsseltyp und erstellt basierend auf Best Practices zum Erstellen von Zeilenschlüsseln basierend auf mehreren Werten automatisch einen Schlüssel.

Vorlagenparameter

Parameter Beschreibung
cassandraHosts Die Hosts der Apache Cassandra-Knoten in einer durch Kommas getrennten Liste.
cassandraPort (Optional) Der TCP-Port, um Apache Cassandra auf den Knoten zu erreichen (standardmäßig 9042).
cassandraKeyspace Der Apache Cassandra-Schlüsselbereich, in dem sich die Tabelle befindet.
cassandraTable Die zu kopierende Apache Cassandra-Tabelle.
bigtableProjectId Die Google Cloud-Projekt-ID der Cloud Bigtable-Instanz, in die die Apache Cassandra-Tabelle kopiert werden soll.
bigtableInstanceId Die Cloud Bigtable-Instanz-ID, in die die Apache Cassandra-Tabelle kopiert werden soll.
bigtableTableId Der Name der Cloud Bigtable-Tabelle, in die die Apache Cassandra-Tabelle kopiert werden soll.
defaultColumnFamily (Optional) Der Name der Spaltenfamilie der Cloud Bigtable-Tabelle (standardmäßig default).
rowKeySeparator (Optional) Das Trennzeichen zum Erstellen des Zeilenschlüssels (standardmäßig #).

Vorlage „Apache Cassandra für Cloud Bigtable“ ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Apache Cassandra to Cloud Bigtable template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID, in der sich Cloud Bigtable befindet.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_BIGTABLE_INSTANCE_ID durch die Cloud Bigtable-Instanz-ID.
  • Ersetzen Sie YOUR_BIGTABLE_TABLE_ID durch den Namen Ihrer Cloud Bigtable-Tabelle.
  • Ersetzen Sie YOUR_CASSANDRA_HOSTS durch die Apache Cassandra-Hostliste. Wenn mehrere Hosts bereitgestellt werden, befolgen Sie die Anweisungen zum Maskieren von Kommas.
  • Ersetzen Sie YOUR_CASSANDRA_KEYSPACE durch den Apache Cassandra-Schlüsselbereich, in dem sich die Tabelle befindet.
  • Ersetzen Sie YOUR_CASSANDRA_TABLE durch die Apache Cassandra-Tabelle, die migriert werden muss.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cassandra_To_Cloud_Bigtable \
    --parameters\
bigtableProjectId=YOUR_PROJECT_ID,\
bigtableInstanceId=YOUR_BIGTABLE_INSTANCE_ID,\
bigtableTableId=YOUR_BIGTABLE_TABLE_ID,\
cassandraHosts=YOUR_CASSANDRA_HOSTS,\
cassandraKeyspace=YOUR_CASSANDRA_KEYSPACE,\
cassandraTable=YOUR_CASSANDRA_TABLE

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID, in der sich Cloud Bigtable befindet.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie YOUR_BIGTABLE_INSTANCE_ID durch die Cloud Bigtable-Instanz-ID.
  • Ersetzen Sie YOUR_BIGTABLE_TABLE_ID durch den Namen Ihrer Cloud Bigtable-Tabelle.
  • Ersetzen Sie YOUR_CASSANDRA_HOSTS durch die Apache Cassandra-Hostliste. Wenn mehrere Hosts bereitgestellt werden, befolgen Sie die Anweisungen zum Maskieren von Kommas.
  • Ersetzen Sie YOUR_CASSANDRA_KEYSPACE durch den Apache Cassandra-Schlüsselbereich, in dem sich die Tabelle befindet.
  • Ersetzen Sie YOUR_CASSANDRA_TABLE durch die Apache Cassandra-Tabelle, die migriert werden muss.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cassandra_To_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "YOUR_PROJECT_ID",
       "bigtableInstanceId": "YOUR_BIGTABLE_INSTANCE_ID",
       "bigtableTableId": "YOUR_BIGTABLE_TABLE_ID",
       "cassandraHosts": "YOUR_CASSANDRA_HOSTS",
       "cassandraKeyspace": "YOUR_CASSANDRA_KEYSPACE",
       "cassandraTable": "YOUR_CASSANDRA_TABLE"
   },
   "environment": { "zone": "us-central1-f" }
}

Apache Hive für BigQuery

Die Vorlage „Apache Hive für BigQuery“ ist eine Batchpipeline, die aus einer Apache Hive-Tabelle liest und in eine BigQuery-Tabelle schreibt.

Voraussetzungen für diese Pipeline:

  • Die Zieltabelle von Cloud Bigtable muss vor dem Ausführen der Pipeline vorhanden sein.
  • Die Netzwerkverbindung muss zwischen Dataflow-Workern und Apache Hive-Knoten bestehen.
  • Die Netzwerkverbindung muss zwischen Dataflow-Workern und dem Apache Thrift-Serverknoten bestehen.
  • Das BigQuery-Dataset muss vor der Pipelineausführung vorhanden sein.

Vorlagenparameter

Parameter Beschreibung
metastoreUri Der Apache Thrift Server-URI wie z. B. thrift://thrift-server-host:port.
hiveDatabaseName Der Apache Hive-Datenbankname, der die Tabelle enthält, die Sie exportieren möchten.
hiveTableName Der Apache Hive-Tabellenname, den Sie exportieren möchten.
outputTableSpec Der Speicherort der BigQuery-Ausgabetabelle im Format <my-project>:<my-dataset>.<my-table>.
hivePartitionCols (Optional) Die durch Kommas getrennte Liste der Apache Hive-Partitionsspalten.
filterString (Optional) Der Filterstring für die eingegebene Apache Hive-Tabelle.
partitionType (Optional) Der Partitionstyp in BigQuery. Derzeit wird nur Time unterstützt.
partitionCol (Optional) Der Name der Partitionsspalte in der BigQuery-Ausgabetabelle.

Vorlage „Apache Hive für BigQuery“ ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the Apache Hive to BigQuery template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Wenn Sie Vorlagen mit dem gcloud-Befehlszeilentool ausführen möchten, benötigen Sie Cloud SDK 138.0.0 oder eine höhere Version.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Hive_To_BigQuery

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID, in der sich BigQuery befindet.
  • JOB_NAME: Jobname Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • DATASET: Ihr BigQuery-Dataset.
  • TABLE_NAME: Ihr BigQuery-Tabellenname.
  • METASTORE_URI: Der Apache Thrift-Server-URI.
  • HIVE_DATABASE_NAME: Der Apache Hive-Datenbankname, der die Tabelle enthält, die Sie exportieren möchten.
  • HIVE_TABLE_NAME: Der Apache Hive-Tabellenname, den Sie exportieren möchten.
  • HIVE_PARTITION_COLS: Die durch Kommas getrennte Liste Ihrer Apache Hive-Partitionsspalten.
  • FILTER_STRING: Der Filterstring für die Apache Hive-Eingabetabelle.
  • PARTITION_TYPE: Der Partitionstyp in BigQuery.
  • PARTITION_COL: Der Name der BigQuery-Partitionsspalte.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Hive_To_BigQuery \
    --parameters\
metastoreUri=METASTORE_URI,\
hiveDatabaseName=HIVE_DATABASE_NAME,\
hiveTableName=HIVE_TABLE_NAME,\
outputTableSpec=PROJECT_ID:DATASET.TABLE_NAME,\
hivePartitionCols=HIVE_PARTITION_COLS,\
filterString=FILTER_STRING,\
partitionType=PARTITION_TYPE,\
partitionCol=PARTITION_COL

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/Hive_To_BigQuery

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

Dabei gilt:

  • PROJECT_ID: Ihre Projekt-ID, in der sich BigQuery befindet.
  • JOB_NAME: Jobname Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • DATASET: Ihr BigQuery-Dataset.
  • TABLE_NAME: Ihr BigQuery-Tabellenname.
  • METASTORE_URI: Der Apache Thrift-Server-URI.
  • HIVE_DATABASE_NAME: Der Apache Hive-Datenbankname, der die Tabelle enthält, die Sie exportieren möchten.
  • HIVE_TABLE_NAME: Der Apache Hive-Tabellenname, den Sie exportieren möchten.
  • HIVE_PARTITION_COLS: Die durch Kommas getrennte Liste Ihrer Apache Hive-Partitionsspalten.
  • FILTER_STRING: Der Filterstring für die Apache Hive-Eingabetabelle.
  • PARTITION_TYPE: Der Partitionstyp in BigQuery.
  • PARTITION_COL: Der Name der BigQuery-Partitionsspalte.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Hive_To_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "metastoreUri": "METASTORE_URI",
       "hiveDatabaseName": "HIVE_DATABASE_NAME",
       "hiveTableName": "HIVE_TABLE_NAME",
       "outputTableSpec": "PROJECT_ID:DATASET.TABLE_NAME",
       "hivePartitionCols": "HIVE_PARTITION_COLS",
       "filterString": "FILTER_STRING",
       "partitionType": "PARTITION_TYPE",
       "partitionCol": "PARTITION_COL"
   },
   "environment": { "zone": "us-central1-f" }
}

Dateiformatkonvertierung (Avro, Parquet, CSV)

Die Vorlage zur Dateiformatkonvertierung ist eine Batchpipeline die im Cloud-Speicher gespeicherte Dateien von einem unterstützten Format in ein anderes konvertiert.

Die folgenden Formatkonvertierungen werden unterstützt:

  • CSV zu Avro.
  • CSV zu Parquet.
  • Avro zu Parquet.
  • Parquet zu Avro.

Voraussetzungen für diese Pipeline:

  • Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, damit Sie die Pipeline verwenden können.

Vorlagenparameter

Parameter Beschreibung
inputFileFormat Eingabedateiformat. Dies muss einer der folgenden Werte sein: [csv, avro, parquet].
outputFileFormat Ausgabedateiformat. Dies muss einer der folgenden Werte sein: [avro, parquet].
inputFileSpec Cloud Storage-Pfadmuster für Eingabedateien. Beispiel: gs://bucket-name/path/*.csv
outputBucket Cloud Storage-Ordner zum Schreiben von Ausgabedateien. Dieser Pfad sollte mit einem Schrägstrich enden. Beispiel: gs://bucket-name/output/
schema Cloud Storage-Pfad zur Avro-Schemadatei. Beispiel: gs://bucket-name/schema/my-schema.avsc
containsHeaders [Optional] CSV-Eingabedateien enthalten eine Kopfzeile (true/false). Standardeinstellung: false. Nur erforderlich, wenn CSV-Dateien gelesen werden.
csvFormat [Optional] CSV-Formatspezifikation zum Parsen von Einträgen. Standardeinstellung: Default. Weitere Informationen finden Sie unter Apache Commons CSV-Format.
delimiter [Optional] Feldtrennzeichen, das von den eingegebenen CSV-Dateien verwendet wird.
outputFilePrefix [Optional] Ausgabedateipräfix. Standardeinstellung: output.
numShards [Optional] Die Anzahl der Shards der Ausgabedatei.

Vorlage für die Dateiformatkonvertierung ausführen

KONSOLE

Über die Google Cloud Console ausführen
  1. Rufen Sie in der Cloud Console die Seite "Dataflow" auf.
  2. Zur Seite "Dataflow"
  3. Klicken Sie auf Job aus Vorlage erstellen.
  4. Grafik: Schaltfläche
  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage the File Format Conversion template aus.
  6. Geben Sie einen Jobnamen in das Feld Jobname ein. Der Jobtitel ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  7. Geben Sie Ihre Parameterwerte in die verfügbaren Parameterfelder ein.
  8. Klicken Sie auf Job ausführen.

GCLOUD

Über das gcloud-Befehlszeilentool ausführen

Hinweis: Um das gcloud-Befehlszeilentool zum Ausführen von Flex-Vorlagen verwenden zu können, brauchen Sie Cloud SDK Version 284.0.0 oder höher.

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/flex/File_Format_Conversion

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie INPUT_FORMAT durch das Dateiformat der Eingabedateien. Dies muss einer der folgenden Werte sein: [csv, avro, parquet].
  • Ersetzen Sie OUTPUT_FORMAT durch das Dateiformat der Ausgabedateien. Dies muss einer der folgenden Werte sein: [avro, parquet].
  • Ersetzen Sie INPUT_FILES durch das Pfadmuster für Eingabedateien.
  • Ersetzen Sie OUTPUT_FOLDER durch Ihren Cloud Storage-Ordner für Ausgabedateien.
  • Ersetzen Sie SCHEMA durch den Pfad zur Avro-Schemadatei.
  • Ersetzen Sie LOCATION durch den Ausführungsbereich. Beispiel: us-central1
gcloud beta dataflow flex-template run JOB_NAME \
    --project=YOUR_PROJECT_ID} \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/File_Format_Conversion \
    --parameters \
inputFileFormat=INPUT_FORMAT,\
outputFileFormat=OUTPUT_FORMAT,\
inputFileSpec=INPUT_FILES,\
schema=SCHEMA,\
outputBucket=OUTPUT_FOLDER

API

Über die REST API ausführen

Zum Ausführen dieser Vorlage benötigen Sie den Cloud Storage-Pfad zur Vorlage:

gs://dataflow-templates/VERSION/flex/File_Format_Conversion

Zum Ausführen dieser Vorlage mithilfe einer REST API-Anfrage senden Sie eine HTTP-POST-Anfrage mit Ihrer Projekt-ID. Diese Anfrage erfordert eine Autorisierung.

In diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie INPUT_FORMAT durch das Dateiformat der Eingabedateien. Dies muss einer der folgenden Werte sein: [csv, avro, parquet].
  • Ersetzen Sie OUTPUT_FORMAT durch das Dateiformat der Ausgabedateien. Dies muss einer der folgenden Werte sein: [avro, parquet].
  • Ersetzen Sie INPUT_FILES durch das Pfadmuster für Eingabedateien.
  • Ersetzen Sie OUTPUT_FOLDER durch Ihren Cloud Storage-Ordner für Ausgabedateien.
  • Ersetzen Sie SCHEMA durch den Pfad zur Avro-Schemadatei.
  • Ersetzen Sie LOCATION durch den Ausführungsbereich. Beispiel: us-central1
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputFileFormat": "INPUT_FORMAT",
          "outputFileFormat": "OUTPUT_FORMAT",
          "inputFileSpec": "INPUT_FILES",
          "schema": "SCHEMA",
          "outputBucket": "OUTPUT_FOLDER"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/File_Format_Conversion",
   }
}