Google bietet eine Reihe von Open-Source-Vorlagen für Cloud Dataflow.
Mit diesen Dataflow-Vorlagen können Sie umfangreiche Datenaufgaben wie Datenimport, Datenexport, Datensicherung, Datenwiederherstellung und Bulk-API-Vorgänge problemlos ausführen, ohne eine dedizierte Entwicklungsumgebung verwenden zu müssen. Die Vorlagen basieren auf Apache Beam und verwenden Dataflow, um die Daten zu transformieren.
Allgemeine Informationen zu Vorlagen finden Sie unter Dataflow-Vorlagen. Eine Liste aller verfügbaren Kategorien finden Sie unter Kategorien.In diesem Leitfaden werden Batchvorlagen beschrieben.
BigQuery für Cloud Storage TFRecords
Die Vorlage "BigQuery für Cloud Storage TFRecords" ist eine Pipeline, die Daten aus einer BigQuery-Abfrage liest und in einen Cloud Storage-Bucket im TFRecord-Format schreibt. Sie können die Aufteilung der Prozentsätze für Training, Tests und Validierungen festlegen. Standardmäßig beträgt die Aufteilung 1 oder 100 % für den Trainingssatz und 0 oder 0 % für Test- und Validierungssätze. Beachten Sie, dass bei der Dataset-Aufteilung die Summe aus Training, Tests und Validierungen in der Addition 1 oder 100 % ergeben muss (z. B. 0,6 + 0,2 + 0,2). Dataflow bestimmt automatisch die optimale Anzahl von Shards für jedes Ausgabe-Dataset.
Voraussetzungen für diese Pipeline:
- Das BigQuery-Dataset und die Tabelle müssen vorhanden sein.
- Der Cloud Storage-Ausgabe-Bucket muss vor der Pipelineausführung vorhanden sein. Unterverzeichnisse, Training und Validierungen müssen nicht bereits vorhanden sein und werden automatisch generiert.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
readQuery |
Eine BigQuery SQL-Abfrage, die Daten aus der Quelle extrahiert. Beispiel: select * from dataset1.sample_table . |
outputDirectory |
Das Präfix der obersten Ebene des Cloud Storage-Pfads, unter dem die TFRecord-Dateien für Training, Tests und Validierungen geschrieben werden. z. B. gs://mybucket/output . Unterverzeichnisse für resultierende TFRecord-Dateien für Training, Tests und Validierungen werden automatisch aus outputDirectory generiert. Zum Beispiele gs://mybucket/output/train |
trainingPercentage |
[Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Trainingsdateien zugewiesen sind. Der Standardwert ist 1 oder 100 %. |
testingPercentage |
[Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Testdateien zugewiesen sind. Der Standardwert ist 0 oder 0 %. |
validationPercentage |
[Optional] Der Prozentsatz der Abfragedaten, die TFRecord-Validierungsdateien zugewiesen sind. Der Standardwert ist 0 oder 0 %. |
outputSuffix |
[Optional] Das Dateisuffix für die TFRecord-Dateien für Training, Test und Validierung, die geschrieben werden. Der Standardwert ist .tfrecord . |
Vorlage "BigQuery für Cloud Storage TFRecord" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the BigQuery to TFRecords template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records \ --region REGION_NAME \ --parameters \ readQuery=READ_QUERY,\ outputDirectory=OUTPUT_DIRECTORY,\ trainingPercentage=TRAINING_PERCENTAGE,\ testingPercentage=TESTING_PERCENTAGE,\ validationPercentage=VALIDATION_PERCENTAGE,\ outputSuffix=OUTPUT_FILENAME_SUFFIX
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
READ_QUERY
: Die auszuführende BigQuery-AbfrageOUTPUT_DIRECTORY
: Das Cloud Storage-Pfadpräfix für Ausgabe-DatasetsTRAINING_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Trainings-DatasetTESTING_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Test-DatasetVALIDATION_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Validierungs-DatasetOUTPUT_FILENAME_SUFFIX
: Das bevorzugte Suffix der TensorFlow Record-Ausgabedatei
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records { "jobName": "JOB_NAME", "parameters": { "readQuery":"READ_QUERY", "outputDirectory":"OUTPUT_DIRECTORY", "trainingPercentage":"TRAINING_PERCENTAGE", "testingPercentage":"TESTING_PERCENTAGE", "validationPercentage":"VALIDATION_PERCENTAGE", "outputSuffix":"OUTPUT_FILENAME_SUFFIX" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
READ_QUERY
: Die auszuführende BigQuery-AbfrageOUTPUT_DIRECTORY
: Das Cloud Storage-Pfadpräfix für Ausgabe-DatasetsTRAINING_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Trainings-DatasetTESTING_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Test-DatasetVALIDATION_PERCENTAGE
: Die Dezimalprozentsatzaufteilung für das Validierungs-DatasetOUTPUT_FILENAME_SUFFIX
: Das bevorzugte Suffix der TensorFlow Record-Ausgabedatei
BigQuery-Export nach Parquet (über Storage API)
Die Vorlage „BigQuery für Parquet“ ist eine Batchpipeline, die Daten aus einer BigQuery-Tabelle liest und im Parquet-Format in einen Cloud Storage-Bucket schreibt. Diese Vorlage verwendet die BigQuery Storage API zum Exportieren der Daten.
Voraussetzungen für diese Pipeline:
- Die BigQuery-Eingabetabelle muss vorhanden sein, bevor Sie die Pipeline ausführen.
- Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
tableRef |
Ort der BigQuery-Eingabetabelle. z. B. <my-project>:<my-dataset>.<my-table> |
bucket |
Der Cloud Storage-Ordner, in den die Parquet-Dateien geschrieben werden sollen. z. B. gs://mybucket/exports . |
numShards |
[Optional] Die Anzahl der Shards der Ausgabedatei. Der Standardwert ist 1. |
fields |
(Optional) Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden sollen. |
Vorlage „BigQuery für Cloud Storage Parquet“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the BigQuery export to Parquet (via Storage API) template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet \ --region=REGION_NAME \ --parameters \ tableRef=BIGQUERY_TABLE,\ bucket=OUTPUT_DIRECTORY,\ numShards=NUM_SHARDS,\ fields=FIELDS
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGQUERY_TABLE
: Ihr BigQuery-TabellennameOUTPUT_DIRECTORY
: Ihr Cloud Storage-Ordner für AusgabedateienNUM_SHARDS
: Die gewünschte Anzahl von Ausgabedateien-ShardsFIELDS
: Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "tableRef": "BIGQUERY_TABLE", "bucket": "OUTPUT_DIRECTORY", "numShards": "NUM_SHARDS", "fields": "FIELDS" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet", } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGQUERY_TABLE
: Ihr BigQuery-TabellennameOUTPUT_DIRECTORY
: Ihr Cloud Storage-Ordner für AusgabedateienNUM_SHARDS
: Die gewünschte Anzahl von Ausgabedateien-ShardsFIELDS
: Eine durch Kommas getrennte Liste von Feldern, die aus der BigQuery-Eingabetabelle ausgewählt werden
BigQuery für Elasticsearch
Die Vorlage "BigQuery für Elasticsearch" ist eine Batchpipeline, die Daten aus einer BigQuery-Tabelle als Dokumente in Elasticsearch aufnimmt. Die Vorlage kann entweder die gesamte Tabelle oder bestimmte Datensätze mithilfe einer angegebenen Abfrage lesen.
Voraussetzungen für diese Pipeline
- Die BigQuery-Quelltabelle
- Ein Elasticsearch-Host auf einer Google Cloud-Instanz oder in Elastic Cloud mit Elasticsearch Version 7.0 oder höher, der über die Dataflow-Worker-Maschinen zugänglich sein sollte
Vorlagenparameter
Parameter | Beschreibung |
---|---|
connectionUrl |
Elasticsearch-URL im Format https://hostname:[port] oder geben Sie die CloudID an, wenn Elastic Cloud verwendet wird. |
apiKey |
Base64-codierter API-Schlüssel für die Authentifizierung. |
index |
Elasticsearch-Index, an den die Anfragen gestellt werden, z. B. my-index . |
inputTableSpec |
(Optional) BigQuery-Tabelle, aus der gelesen werden soll, um Daten in Elasticsearch einzufügen. Es muss entweder eine Tabelle oder eine Abfrage angegeben werden. z. B. projectId:datasetId.tablename . |
query |
(Optional) SQL-Abfrage zum Abrufen von Daten aus BigQuery. Es muss entweder eine Tabelle oder eine Abfrage angegeben werden. |
useLegacySql |
(Optional) Legen Sie den Wert "true" fest, um Legacy-SQL zu verwenden (nur anwendbar, wenn eine Abfrage bereitstellt wird). Standardeinstellung: false . |
batchSize |
(Optional) Batchgröße in der Anzahl an Dokumenten. Standardeinstellung: 1000 . |
batchSizeBytes |
(Optional) Batchgröße in der Anzahl an Byte. Standardeinstellung: 5242880 (5 MB). |
maxRetryAttempts |
(Optional) Maximale Wiederholungsversuche, muss > 0 sein. Standardeinstellung: no retries . |
maxRetryDuration |
(Optional) Maximale Wiederholungsdauer in Millisekunden, muss > 0 sein. Standardeinstellung: no retries . |
propertyAsIndex |
(Optional) Eine Eigenschaft im indexierten Dokument, deren Wert angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen (hat Vorrang vor einer_index -UDF). Standardwert: none. |
propertyAsId |
(Optional) Eine Eigenschaft im indexierten Dokument, deren Wert angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen (hat Vorrang vor einer_id -UDF). Standardwert: none. |
javaScriptIndexFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIndexFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIdFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIdFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptTypeFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _type -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptTypeFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _type -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIsDeleteFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die bestimmt, ob das Dokument gelöscht statt eingefügt oder aktualisiert werden soll. Die Funktion sollte den Stringwert "true" oder "false" zurückgeben. Standardwert: none. |
javaScriptIsDeleteFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die bestimmt, ob das Dokument gelöscht statt eingefügt oder aktualisiert werden soll. Die Funktion sollte den Stringwert "true" oder "false" zurückgeben. Standardwert: none. |
usePartialUpdate |
(Optional) Gibt an, ob Teilaktualisierungen (Aktualisieren statt Erstellen oder Indexieren, Teildokumente sind zulässig) in Elasticsearch-Anfragen verwendet werden sollen. Standardeinstellung: false . |
bulkInsertMethod |
(Optional) Gibt an, ob INDEX (Indexieren, Upserts sind zulässig) oder CREATE (Erstellen, Fehler bei doppelter _id) in Bulk-Anfragen von Elasticsearch verwendet werden soll. Standardeinstellung: CREATE . |
Vorlage "BigQuery für Elasticsearch" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the BigQuery to Elasticsearch template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
INPUT_TABLE_SPEC
: ist der BigQuery-TabellennameCONNECTION_URL
: ist die Elasticsearch-URLAPIKEY
: ist der base64-codierte API-Schlüssel für die AuthentifizierungINDEX
: ist ihr Elasticsearch-Index
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch", } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
INPUT_TABLE_SPEC
: ist der BigQuery-TabellennameCONNECTION_URL
: ist die Elasticsearch-URLAPIKEY
: ist der base64-codierte API-Schlüssel für die AuthentifizierungINDEX
: ist ihr Elasticsearch-Index
BigQuery für MongoDB
Die Vorlage "BigQuery für MongoDB" ist eine Batchpipeline, die Zeilen aus BigQuery liest und als Dokumente in MongoDB schreibt. Derzeit wird jede Zeile als Dokument gespeichert.
Voraussetzungen für diese Pipeline
- Die BigQuery-Quelltabelle
- Die MongoDB-Zielinstanz sollte über die Dataflow-Worker-Maschinen zugänglich sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
mongoDbUri |
MongoDB-Verbindungs-URI im Format mongodb+srv://:@ . |
database |
Datenbank in MongoDB zum Speichern der Sammlung. Beispiel: my-db . |
collection |
Name der Sammlung in der MongoDB-Datenbank. Beispiel: my-collection . |
inputTableSpec |
BigQuery-Tabelle, aus der gelesen werden soll. Beispiel: bigquery-project:dataset.input_table . |
Vorlage "BigQuery für MongoDB" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the BigQuery to MongoDB template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
INPUT_TABLE_SPEC
: Der Name Ihrer BigQuery-Quelltabelle.MONGO_DB_URI
: Ihr MongoDB-URI.DATABASE
: Ihre MongoDB-Datenbank.COLLECTION
: Ihre MongoDB-Sammlung.
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "mongoDbUri": "MONGO_DB_URI", "database": "DATABASE", "collection": "COLLECTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB", } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
INPUT_TABLE_SPEC
: Der Name Ihrer BigQuery-Quelltabelle.MONGO_DB_URI
: Ihr MongoDB-URI.DATABASE
: Ihre MongoDB-Datenbank.COLLECTION
: Ihre MongoDB-Sammlung.
Bigtable für Cloud Storage Avro
Die Vorlage "Cloud Bigtable für Cloud Storage Avro" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im Avro-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu verschieben.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein.
- Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProjectId |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu exportierenden Bigtable-Tabelle. |
outputDirectory |
Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder . |
filenamePrefix |
Das Präfix des Avro-Dateinamens. Beispiel: output- . |
Vorlage „Bigtable für Cloud Storage Avro” ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Bigtable to Avro Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.OUTPUT_DIRECTORY
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des Avro-Dateinamens, z. B.output-
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.OUTPUT_DIRECTORY
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des Avro-Dateinamens, z. B.output-
Bigtable für Cloud Storage Parquet
Die Vorlage "Cloud Bigtable für Cloud Storage Parquet" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im Parquet-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu verschieben.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein.
- Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProjectId |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu exportierenden Bigtable-Tabelle. |
outputDirectory |
Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder . |
filenamePrefix |
Das Präfix des Parquet-Dateinamens. Beispiel: output- . |
numShards |
Die Anzahl von Shards für Ausgabedateien. Beispiel: 2 |
Vorlage „Bigtable für Cloud Storage Parquet” ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Bigtable to Parquet Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX,\ numShards=NUM_SHARDS
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.OUTPUT_DIRECTORY
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des Parquet-Dateinamens, z. B.output-
NUM_SHARDS
: Die Anzahl der auszugebenden Parquet-Dateien, z. B.1
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", "numShards": "NUM_SHARDS" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.OUTPUT_DIRECTORY
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des Parquet-Dateinamens, z. B.output-
NUM_SHARDS
: Die Anzahl der auszugebenden Parquet-Dateien, z. B.1
Bigtable für Cloud Storage SequenceFile
Die Vorlage "Cloud Bigtable für Cloud Storage SequenceFile" ist eine Pipeline, die Daten aus einer Bigtable-Tabelle liest und in einen Cloud Storage-Bucket im SequenceFile-Format schreibt. Sie können die Vorlage verwenden, um Daten von Bigtable in Cloud Storage zu kopieren.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein.
- Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProject |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu exportierenden Bigtable-Tabelle. |
bigtableAppProfileId |
Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Bigtable das Standard-Anwendungsprofil der Instanz. |
destinationPath |
Der Cloud Storage-Pfad, in den Daten geschrieben werden. Beispiel: gs://mybucket/somefolder . |
filenamePrefix |
Das Präfix des SequenceFile-Dateinamens. Beispiel: output- . |
Vorlage "Cloud Bigtable für Cloud Storage SequenceFile" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Bigtable to SequenceFile Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ destinationPath=DESTINATION_PATH,\ filenamePrefix=FILENAME_PREFIX
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.APPLICATION_PROFILE_ID
: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.DESTINATION_PATH
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des SequenceFile-Dateinamens. Beispiel:output-
.
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "bigtableAppProfileId": "APPLICATION_PROFILE_ID", "destinationPath": "DESTINATION_PATH", "filenamePrefix": "FILENAME_PREFIX", }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.APPLICATION_PROFILE_ID
: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.DESTINATION_PATH
: Der Cloud Storage-Pfad, in den Daten geschrieben werden, z. B.gs://mybucket/somefolder
FILENAME_PREFIX
: Das Präfix des SequenceFile-Dateinamens. Beispiel:output-
.
Datastore für Cloud Storage Text [verworfen]
Diese Vorlage wurde verworfen und wird in Q1 2022 entfernt. Bitte migrieren Sie die Vorlage Firestore zu Cloud Storage Text.
Die Vorlage "Datastore für Cloud Storage Text" ist eine Batchpipeline, die Datastore-Entitäten liest und als Textdateien in Cloud Storage schreibt. Sie können eine Funktion zum Verarbeiten aller Entitäten als JSON-Strings bereitstellen. Wenn Sie keine derartige Funktion bereitstellen, ist jede Zeile in der Ausgabedatei eine JSON-serialisierte Entität.
Voraussetzungen für diese Pipeline:
Datastore muss im Projekt eingerichtet werden, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
datastoreReadGqlQuery |
Eine GQL-Abfrage, die angibt, welche Entitäten abgerufen werden sollen. Beispiel: SELECT * FROM MyKind . |
datastoreReadProjectId |
Die Google Cloud-Projekt-ID der Datastore-Instanz, aus der Daten gelesen werden sollen. |
datastoreReadNamespace |
Der Namespace der angeforderten Entitäten. Lassen Sie diesen Parameter leer, um den Standard-Namespace zu verwenden. |
javascriptTextTransformGcsPath |
(Optional)
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Optional)
Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
textWritePrefix |
Das Präfix des Cloud Storage-Pfads zum Angeben des Orts, an dem die Daten geschrieben werden. Beispiel: gs://mybucket/somefolder/ . |
Vorlage "Datastore für Cloud Storage Text" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Datastore to Text Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Datastore_to_GCS_Text \ --region REGION_NAME \ --parameters \ datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\ datastoreReadProjectId=DATASTORE_PROJECT_ID,\ datastoreReadNamespace=DATASTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
BUCKET_NAME
: der Name Ihres Cloud Storage-BucketsDATASTORE_PROJECT_ID
: Die ID des Cloud-Projekts, in dem die Datastore-Instanz vorhanden istDATASTORE_KIND
: der Typ Ihrer Datastore-EntitätenDATASTORE_NAMESPACE
: der Namespace Ihrer Datastore-EntitätenJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Datastore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND" "datastoreReadProjectId": "DATASTORE_PROJECT_ID", "datastoreReadNamespace": "DATASTORE_NAMESPACE", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
BUCKET_NAME
: der Name Ihres Cloud Storage-BucketsDATASTORE_PROJECT_ID
: Die ID des Cloud-Projekts, in dem die Datastore-Instanz vorhanden istDATASTORE_KIND
: der Typ Ihrer Datastore-EntitätenDATASTORE_NAMESPACE
: der Namespace Ihrer Datastore-EntitätenJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
Firestore für Cloud Storage Text
Die Vorlage „Firestore für Cloud Storage Text“ ist eine Batchpipeline, die Firestore-Entitäten liest und als Textdateien in Cloud Storage schreibt. Sie können eine Funktion zum Verarbeiten aller Entitäten als JSON-Strings bereitstellen. Wenn Sie keine derartige Funktion bereitstellen, ist jede Zeile in der Ausgabedatei eine JSON-serialisierte Entität.
Voraussetzungen für diese Pipeline:
Firestore muss im Projekt eingerichtet werden, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
firestoreReadGqlQuery |
Eine GQL-Abfrage, die angibt, welche Entitäten abgerufen werden sollen. Beispiel: SELECT * FROM MyKind . |
firestoreReadProjectId |
Die Google Cloud-Projekt-ID der Firestore-Instanz, aus der Daten gelesen werden sollen. |
firestoreReadNamespace |
Der Namespace der angeforderten Entitäten. Lassen Sie diesen Parameter leer, um den Standard-Namespace zu verwenden. |
javascriptTextTransformGcsPath |
(Optional)
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Optional)
Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
textWritePrefix |
Das Präfix des Cloud Storage-Pfads zum Angeben des Orts, an dem die Daten geschrieben werden. Beispiel: gs://mybucket/somefolder/ . |
Vorlage „Firestore für Cloud Storage Text“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Firestore to Text Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Firestore_to_GCS_Text \ --region REGION_NAME \ --parameters \ firestoreReadGqlQuery="SELECT * FROM FIRESTORE_KIND",\ firestoreReadProjectId=FIRESTORE_PROJECT_ID,\ firestoreReadNamespace=FIRESTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
BUCKET_NAME
: der Name Ihres Cloud Storage-BucketsFIRESTORE_PROJECT_ID
: Die ID des Cloud-Projekts, in dem die Firestore-Instanz vorhanden istFIRESTORE_KIND
: Typ Ihrer Firestore-EntitätenFIRESTORE_NAMESPACE
: Namespace Ihrer Firestore-EntitätenJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Firestore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "firestoreReadGqlQuery": "SELECT * FROM FIRESTORE_KIND" "firestoreReadProjectId": "FIRESTORE_PROJECT_ID", "firestoreReadNamespace": "FIRESTORE_NAMESPACE", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
BUCKET_NAME
: der Name Ihres Cloud Storage-BucketsFIRESTORE_PROJECT_ID
: Die ID des Cloud-Projekts, in dem die Firestore-Instanz vorhanden istFIRESTORE_KIND
: Typ Ihrer Firestore-EntitätenFIRESTORE_NAMESPACE
: Namespace Ihrer Firestore-EntitätenJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
Cloud Spanner für Cloud Storage Avro
Die Vorlage "Cloud Spanner für Avro-Dateien in Cloud Storage" ist eine Batchpipeline, die eine vollständige Cloud Spanner-Datenbank im Avro-Format nach Cloud Storage exportiert. Beim Exportieren einer Cloud Spanner-Datenbank wird ein Ordner in dem von Ihnen ausgewählten Bucket erstellt. Der Ordner enthält:
- Eine
spanner-export.json
-Datei - Eine
TableName-manifest.json
-Datei für jede Tabelle in der Datenbank, die Sie exportiert haben - Mindestens eine
TableName.avro-#####-of-#####
-Datei
Wenn Sie beispielsweise eine Datenbank mit den zwei Tabellen Singers
und Albums
exportieren, wird die folgende Dateigruppe erstellt:
Albums-manifest.json
Albums.avro-00000-of-00002
Albums.avro-00001-of-00002
Singers-manifest.json
Singers.avro-00000-of-00003
Singers.avro-00001-of-00003
Singers.avro-00002-of-00003
spanner-export.json
Voraussetzungen für diese Pipeline:
- Die Cloud Spanner-Datenbank muss vorhanden sein.
- Der Cloud Storage-Ausgabe-Bucket muss vorhanden sein.
- Zusätzlich zu den IAM-Rollen, die zum Ausführen von Dataflow-Jobs erforderlich sind, müssen Sie die entsprechenden IAM-Rollen haben, um Ihre Cloud Spanner-Daten zu lesen und in Ihren Cloud Storage-Bucket zu schreiben.
Vorlagenparameter
Parameter | Beschreibung | |
---|---|---|
instanceId |
Die Instanz-ID der Cloud Spanner-Datenbank, die Sie exportieren möchten. | |
databaseId |
Die Datenbank-ID der Cloud Spanner-Datenbank, die Sie exportieren möchten. | |
outputDir |
Der Cloud Storage-Pfad, in den Sie Avro-Dateien exportieren möchten. Der Exportjob erstellt unter diesem Pfad ein neues Verzeichnis, das die exportierten Dateien enthält. | |
snapshotTime |
(Optional) Der Zeitstempel für die Version der Cloud Spanner-Datenbank, die Sie lesen möchten. Der Zeitstempel muss im RFC 3339-UTC-"Zulu"-Format angegeben werden.
Beispiel: 1990-12-31T23:59:60Z . Der Zeitstempel muss in der Vergangenheit liegen und die maximale Zeitstempelveralterung gilt. |
|
tableNames |
(Optional) Eine durch Kommas getrennte Liste von Tabellen, die die Teilmenge der zu exportierenden Cloud Spanner-Datenbank angeben. Die Liste muss alle zugehörigen Tabellen enthalten (übergeordnete Tabellen, Fremdschlüssel-Tabellen). Wenn sie nicht explizit aufgeführt sind, muss das Flag "sollteExportBasedTables" für einen erfolgreichen Export gesetzt sein. | |
shouldExportRelatedTables |
(Optional) Das Flag, das in Verbindung mit dem Parameter „tableNames“ verwendet wird, um alle zu exportierenden Tabellen einzubeziehen. | |
spannerProjectId |
(Optional) Die Google Cloud-Projekt-ID der Cloud Spanner-Datenbank, aus der Daten gelesen werden sollen. |
Vorlage „Cloud Spanner für Avro-Dateien in Cloud Storage“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
Damit der Job auf der Seite Instanzen für Spanner in der Google Cloud Console angezeigt wird, muss der Jobname dem folgenden Format entsprechen:
cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME
Ersetzen Sie Folgendes:
SPANNER_INSTANCE_ID
: ID Ihrer Spanner-InstanzSPANNER_DATABASE_NAME
: Name der Spanner-Datenbank
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Spanner to Avro Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ outputDir=GCS_DIRECTORY
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlDamit der Job im Cloud Spanner-Bereich der Google Cloud Console angezeigt wird, muss der Jobname folgendes Format haben:
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
GCS_STAGING_LOCATION
: der Pfad zum Schreiben temporärer Dateien, z. B.gs://mybucket/temp
INSTANCE_ID
: Ihre Cloud Spanner-Instanz-IDDATABASE_ID
: Ihre Cloud Spanner-Datenbank-IDGCS_DIRECTORY
: Der Cloud-Speicherpfad, in den die Avro-Dateien exportiert werden,
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "outputDir": "gs://GCS_DIRECTORY" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlDamit der Job im Cloud Spanner-Bereich der Google Cloud Console angezeigt wird, muss der Jobname folgendes Format haben:
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
GCS_STAGING_LOCATION
: der Pfad zum Schreiben temporärer Dateien, z. B.gs://mybucket/temp
INSTANCE_ID
: Ihre Cloud Spanner-Instanz-IDDATABASE_ID
: Ihre Cloud Spanner-Datenbank-IDGCS_DIRECTORY
: Der Cloud-Speicherpfad, in den die Avro-Dateien exportiert werden,
Cloud Spanner für Cloud Storage Text
Die Vorlage "Cloud Spanner für Cloud Storage Text" ist eine Batchpipeline, die Daten aus einer Cloud Spanner-Tabelle einliest und als CSV-Textdateien in Cloud Storage schreibt.
Voraussetzungen für diese Pipeline:
- Die Spanner-Tabelle mit den Eingabedaten muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
spannerProjectId |
Die Google Cloud-Projekt-ID der Cloud Spanner-Datenbank, aus der Daten gelesen werden sollen. |
spannerDatabaseId |
Die Datenbank-ID der angeforderten Tabelle. |
spannerInstanceId |
Die Instanz-ID der angeforderten Tabelle. |
spannerTable |
Die Tabelle, aus der die Daten gelesen werden sollen. |
textWritePrefix |
Das Verzeichnis, in das Ausgabetextdateien geschrieben werden. Fügen Sie am Ende einen Schrägstrich (/) hinzu. Beispiel: gs://mybucket/somefolder/ . |
spannerSnapshotTime |
(Optional) Der Zeitstempel für die Version der Cloud Spanner-Datenbank, die Sie lesen möchten. Der Zeitstempel muss im RFC 3339-UTC-"Zulu"-Format angegeben werden.
Beispiel: 1990-12-31T23:59:60Z . Der Zeitstempel muss in der Vergangenheit liegen und die maximale Zeitstempelveralterung gilt. |
Vorlage "Cloud Spanner für Cloud Storage Text" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Spanner to Text Files on Cloud Storage template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Spanner_to_GCS_Text \ --region REGION_NAME \ --parameters \ spannerProjectId=SPANNER_PROJECT_ID,\ spannerDatabaseId=DATABASE_ID,\ spannerInstanceId=INSTANCE_ID,\ spannerTable=TABLE_ID,\ textWritePrefix=gs://BUCKET_NAME/output/
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
SPANNER_PROJECT_ID
: die Cloud-Projekt-ID der Spanner-Datenbank, aus der Sie Daten lesen möchtenDATABASE_ID
: Die Spanner-Datenbank-IDBUCKET_NAME
: der Name Ihres Cloud Storage-BucketsINSTANCE_ID
: Die Spanner-Instanz-IDTABLE_ID
: Die Spanner-Tabellen-ID
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Spanner_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "spannerProjectId": "SPANNER_PROJECT_ID", "spannerDatabaseId": "DATABASE_ID", "spannerInstanceId": "INSTANCE_ID", "spannerTable": "TABLE_ID", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
SPANNER_PROJECT_ID
: die Cloud-Projekt-ID der Spanner-Datenbank, aus der Sie Daten lesen möchtenDATABASE_ID
: Die Spanner-Datenbank-IDBUCKET_NAME
: der Name Ihres Cloud Storage-BucketsINSTANCE_ID
: Die Spanner-Instanz-IDTABLE_ID
: Die Spanner-Tabellen-ID
Cloud Storage Avro für Bigtable
Die Vorlage "Cloud Storage Avro für Cloud Bigtable" ist eine Pipeline, die Daten aus Avro-Dateien in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein und dieselben Spaltenfamilien haben, die in die Avro-Dateien exportiert wurden.
- Die Avro-Eingabedateien müssen in einem Cloud Storage-Bucket vorhanden sein, bevor Sie die Pipeline ausführen.
- Bigtable erwartet ein bestimmtes Schema aus den Avro-Eingabedateien.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProjectId |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu importierenden Bigtable-Tabelle. |
inputFilePattern |
Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix* . |
Vorlage „Cloud Storage Avro für Bigtable” ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Avro Files on Cloud Storage to Cloud Bigtable template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.INPUT_FILE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.INPUT_FILE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
Cloud Storage Avro für Cloud Spanner
Die Vorlage "Cloud Storage Avro für Cloud Spanner" ist eine Batchpipeline, die in Cloud Storage gespeicherte Avro-Dateien liest und in eine Cloud Spanner-Datenbank importiert.
Voraussetzungen für diese Pipeline:
- Die Cloud Spanner-Zieldatenbank muss vorhanden und muss leer sein.
- Sie benötigen Leseberechtigungen für den Cloud Storage-Bucket und Schreibberechtigungen für die Ziel-Cloud-Spanner-Datenbank.
- Der Cloud Storage-Eingabepfad muss vorhanden sein und die Datei
spanner-export.json
mit einer JSON-Beschreibung der zu importierenden Dateien enthalten.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
instanceId |
Die Instanz-ID der Cloud Spanner-Datenbank. |
databaseId |
Die Datenbank-ID der Cloud Spanner-Datenbank. |
inputDir |
Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden. |
Vorlage „Cloud Storage Avro zu Cloud Spanner“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
Damit der Job auf der Seite Instanzen für Spanner in der Google Cloud Console angezeigt wird, muss der Jobname dem folgenden Format entsprechen:
cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME
Ersetzen Sie Folgendes:
SPANNER_INSTANCE_ID
: ID Ihrer Spanner-InstanzSPANNER_DATABASE_NAME
: Name der Spanner-Datenbank
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Avro Files on Cloud Storage to Cloud Spanner template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ inputDir=GCS_DIRECTORY
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INSTANCE_ID
: Die ID der Spanner-Instanz, die die Datenbank enthältDATABASE_ID
: Die ID der Spanner-Datenbank, in die importiert werden sollGCS_DIRECTORY
: Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden, z. B.gs://mybucket/somefolder
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "inputDir": "gs://GCS_DIRECTORY" }, "environment": { "machineType": "n1-standard-2" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INSTANCE_ID
: Die ID der Spanner-Instanz, die die Datenbank enthältDATABASE_ID
: Die ID der Spanner-Datenbank, in die importiert werden sollGCS_DIRECTORY
: Der Cloud Storage-Pfad, aus dem die Avro-Dateien importiert werden, z. B.gs://mybucket/somefolder
Cloud Storage Parquet für Cloud Bigtable
Die Vorlage "Cloud Storage Parquet für Cloud Bigtable" ist eine Pipeline, die Daten aus Parquet-Dateien in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein und dieselben Spaltenfamilien haben, die in die Parquet-Dateien exportiert wurden.
- Die Parquet-Eingabedateien müssen in einem Cloud Storage-Bucket vorhanden sein, bevor Sie die Pipeline ausführen.
- Bigtable erwartet ein bestimmtes Schema aus den Parquet-Eingabedateien.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProjectId |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu importierenden Bigtable-Tabelle. |
inputFilePattern |
Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix* . |
Vorlage „Cloud Storage Parquet für Bigtable” ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Parquet Files on Cloud Storage to Cloud Bigtable template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.INPUT_FILE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.INPUT_FILE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
Cloud Storage SequenceFile für Bigtable
Die Vorlage "Cloud Storage SequenceFile für Cloud Bigtable" ist eine Pipeline, die Daten aus SequenceFiles in einem Cloud Storage-Bucket liest und in eine Bigtable-Tabelle schreibt. Sie können die Vorlage verwenden, um Daten aus Cloud Storage in Bigtable zu kopieren.
Voraussetzungen für diese Pipeline:
- Die Bigtable-Tabelle muss vorhanden sein.
- Die Eingabe-SequenceFiles müssen in einem Cloud Storage-Bucket vorhanden sein, bevor die Pipeline ausgeführt wird.
- Die Eingabe-SequenceFiles müssen aus Bigtable oder HBase exportiert worden sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
bigtableProject |
Die ID des Google Cloud-Projekts der Bigtable-Instanz, in die Daten geschrieben werden sollen. |
bigtableInstanceId |
Die ID der Bigtable-Instanz, die die Tabelle enthält. |
bigtableTableId |
Die ID der zu importierenden Bigtable-Tabelle. |
bigtableAppProfileId |
Die ID des Bigtable-Anwendungsprofils, das für den Import verwendet werden soll. Wenn Sie kein Anwendungsprofil angeben, verwendet Bigtable das Standard-Anwendungsprofil der Instanz. |
sourcePattern |
Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B. gs://mybucket/somefolder/prefix* . |
Vorlage „Cloud Storage SequenceFile für Bigtable” ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the SequenceFile Files on Cloud Storage to Cloud Bigtable template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ sourcePattern=SOURCE_PATTERN
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.APPLICATION_PROFILE_ID
: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.SOURCE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "bigtableAppProfileId": "APPLICATION_PROFILE_ID", "sourcePattern": "SOURCE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Die ID des Google Cloud-Projekts der Bigtable-Instanz, aus der Sie Daten lesen möchten.INSTANCE_ID
: Die ID der Bigtable-Instanz, die die Tabelle enthält.TABLE_ID
: Die ID der zu exportierenden Bigtable-Tabelle.APPLICATION_PROFILE_ID
: Die ID des Bigtable-Anwendungsprofils, das für den Export verwendet werden soll.SOURCE_PATTERN
: Das Muster des Cloud Storage-Pfads, in dem sich die Daten befinden, z. B.gs://mybucket/somefolder/prefix*
Cloud Storage Text für BigQuery
Die Pipeline "Cloud Storage Text für BigQuery" ist eine Batchpipeline, mit der Sie in Cloud Storage gespeicherte Textdateien lesen, diese mit einer von Ihnen bereitgestellten benutzerdefinierten JavaScript-Funktion (User Defined Function, UDF) transformieren und das Ergebnis an eine BigQuery-Tabelle anhängen können.
Voraussetzungen für diese Pipeline:
- Erstellen Sie eine JSON-Datei, die Ihr BigQuery-Schema beschreibt.
Stellen Sie ein JSON-Array der obersten Ebene mit dem Namen
BigQuery Schema
bereit, dessen Inhalt dem Muster{"name": "COLUMN_NAME", "type": "DATA_TYPE"}
folgt.Die Batchvorlage "Cloud Storage Text für BigQuery" unterstützt nicht den Import von Daten in Felder des Typs
STRUCT
(Eintrag) in der BigQuery-Zieltabelle.Der folgende JSON-Code beschreibt ein BigQuery-Beispielschema:
{ "BigQuery Schema": [ { "name": "location", "type": "STRING" }, { "name": "name", "type": "STRING" }, { "name": "age", "type": "STRING" }, { "name": "color", "type": "STRING" }, { "name": "coffee", "type": "STRING" } ] }
- Erstellen Sie eine JavaScript-Datei (
.js
) mit Ihrer UDF, die die Logik für die Transformation der Textzeilen bereitstellt. Ihre Funktion muss einen JSON-String zurückgeben.Diese Funktion teilt beispielsweise jede Zeile einer CSV-Datei auf und gibt nach der Transformation der Werte einen JSON-String zurück.
function transform(line) { var values = line.split(','); var obj = new Object(); obj.location = values[0]; obj.name = values[1]; obj.age = values[2]; obj.color = values[3]; obj.coffee = values[4]; var jsonString = JSON.stringify(obj); return jsonString; }
Vorlagenparameter
Parameter | Beschreibung |
---|---|
javascriptTextTransformFunctionName |
ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
JSONPath |
Der gs:// -Pfad zur JSON-Datei, die Ihr BigQuery-Schema definiert und in Cloud Storage gespeichert wird. Beispiel: gs://path/to/my/schema.json . |
javascriptTextTransformGcsPath |
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
inputFilePattern |
Der gs:// -Pfad zum Text in Cloud Storage, den Sie verarbeiten möchten. Beispiel: gs://path/to/my/text/data.txt . |
outputTable |
Der BigQuery-Tabellenname, den Sie zum Speichern Ihrer verarbeiteten Daten erstellen möchten.
Wenn Sie eine vorhandene BigQuery-Tabelle wiederverwenden, werden die Daten an die Zieltabelle angehängt.
z. B. my-project-name:my-dataset.my-table . |
bigQueryLoadingTemporaryDirectory |
Das temporäre Verzeichnis für den BigQuery-Ladevorgang.
z. B. gs://my-bucket/my-files/temp_dir . |
Vorlage "Cloud Storage Text für BigQuery" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Text Files on Cloud Storage to BigQuery (Batch) template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery \ --region REGION_NAME \ --parameters \ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ inputFilePattern=PATH_TO_TEXT_DATA,\ outputTable=BIGQUERY_TABLE,\ bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
JAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_BIGQUERY_SCHEMA_JSON
: der Cloud Storage-Pfad zur JSON-Datei, die die Schemadefinition enthältPATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
PATH_TO_TEXT_DATA
: Der Cloud Storage-Pfad zu Ihrem Text-DatasetBIGQUERY_TABLE
: Ihr BigQuery-TabellennamePATH_TO_TEMP_DIR_ON_GCS
: Der Cloud Storage-Pfad zum temporären Verzeichnis
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery { "jobName": "JOB_NAME", "parameters": { "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "inputFilePattern":"PATH_TO_TEXT_DATA", "outputTable":"BIGQUERY_TABLE", "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
JAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_BIGQUERY_SCHEMA_JSON
: der Cloud Storage-Pfad zur JSON-Datei, die die Schemadefinition enthältPATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
PATH_TO_TEXT_DATA
: Der Cloud Storage-Pfad zu Ihrem Text-DatasetBIGQUERY_TABLE
: Ihr BigQuery-TabellennamePATH_TO_TEMP_DIR_ON_GCS
: Der Cloud Storage-Pfad zum temporären Verzeichnis
Cloud Storage Text für Datastore [verworfen]
Diese Vorlage wurde verworfen und wird in Q1 2022 entfernt. Bitte migrieren Sie zu der Vorlage Cloud Storage Text für Firestore.
Die Vorlage "Cloud Storage Text für Datastore" ist eine Batchpipeline, die aus in Cloud Storage gespeicherten Textdateien liest und JSON-codierte Entitäten in Datastore schreibt. Jede Zeile in den Eingabetextdateien muss das angegebene JSON-Format haben.
Voraussetzungen für diese Pipeline:
- Cloud Datastore muss im Zielprojekt aktiviert sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
textReadPattern |
Ein Cloud Storage-Pfadmuster, das den Speicherort Ihrer Textdatendateien angibt.
Beispiel: gs://mybucket/somepath/*.json . |
javascriptTextTransformGcsPath |
(Optional)
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Optional)
Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
datastoreWriteProjectId |
Die Google Cloud-Projekt-ID, in der die Datastore-Entitäten geschrieben werden sollen. |
datastoreHintNumWorkers |
(Optional) Hinweis für die erwartete Anzahl von Workern im Schritt zur Drosselung der Erhöhung in Datastore. Standardwert ist 500 . |
errorWritePath |
Die Ausgabedatei des Fehler-Logs für Schreibfehler, die während der Verarbeitung auftreten. Beispiel: gs://bucket-name/errors.txt . |
Vorlage "Cloud Storage Text für Datastore" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Text Files on Cloud Storage to Datastore template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Datastore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ datastoreWriteProjectId=PROJECT_ID,\ errorWritePath=ERROR_FILE_WRITE_PATH
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
PATH_TO_INPUT_TEXT_FILES
: Das Muster der Eingabedateien in Cloud StorageJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Datastore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "datastoreWriteProjectId": "PROJECT_ID", "errorWritePath": "ERROR_FILE_WRITE_PATH" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
PATH_TO_INPUT_TEXT_FILES
: Das Muster der Eingabedateien in Cloud StorageJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage
Cloud Storage Text für Firestore
Die Vorlage „Cloud Storage Text für Firestore“ ist eine Batchpipeline, die aus in Cloud Storage gespeicherten Textdateien liest und JSON-codierte Entitäten in Datastore schreibt. Jede Zeile in den Eingabetextdateien muss das angegebene JSON-Format haben.
Voraussetzungen für diese Pipeline:
- Cloud Firestore muss im Zielprojekt aktiviert sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
textReadPattern |
Ein Cloud Storage-Pfadmuster, das den Speicherort Ihrer Textdatendateien angibt.
Beispiel: gs://mybucket/somepath/*.json . |
javascriptTextTransformGcsPath |
(Optional)
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Optional)
Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
firestoreWriteProjectId |
Die Google Cloud-Projekt-ID, in der die Firestore-Entitäten geschrieben werden sollen. |
firestoreHintNumWorkers |
(Optional) Hinweis für die erwartete Anzahl von Workern im Schritt zur Drosselung der Erhöhung in Firestore. Standardwert ist 500 . |
errorWritePath |
Die Ausgabedatei des Fehler-Logs für Schreibfehler, die während der Verarbeitung auftreten. Beispiel: gs://bucket-name/errors.txt . |
Vorlage „Cloud Storage Text für Firestore“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Text Files on Cloud Storage to Firestore template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Firestore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ firestoreWriteProjectId=PROJECT_ID,\ errorWritePath=ERROR_FILE_WRITE_PATH
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
PATH_TO_INPUT_TEXT_FILES
: Das Muster der Eingabedateien in Cloud StorageJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Firestore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "firestoreWriteProjectId": "PROJECT_ID", "errorWritePath": "ERROR_FILE_WRITE_PATH" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
PATH_TO_INPUT_TEXT_FILES
: Das Muster der Eingabedateien in Cloud StorageJAVASCRIPT_FUNCTION
: ist der Name der benutzerdefinierten JavaScript-Funktion (UDF), die Sie verwenden möchten.Wenn Ihre JavaScript-Funktion beispielsweise
myTransform(inJson) { /*...do stuff...*/ }
ist, lautet der FunktionsnamemyTransform
. Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.PATH_TO_JAVASCRIPT_UDF_FILE
Der Cloud Storage-URI der Datei.js
, in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Der gewünschte Pfad zur Fehlerdatei in Cloud Storage
Cloud Storage Text für Pub/Sub (Batch)
Diese Vorlage erstellt eine Batchpipeline, die Datensätze aus Textdateien liest, die in Cloud Storage gespeichert sind. Diese Datensätze werden dann in einem Pub/Sub-Thema veröffentlicht. Die Vorlage kann zum Veröffentlichen von Datensätzen in einer JSON-Datei mit Zeilenumbruch oder in einer CSV-Datei für ein Pub/Sub-Thema zur Echtzeitverarbeitung genutzt werden. Sie können diese Vorlage verwenden, um Daten in Pub/Sub wiederzugeben.
Diese Vorlage legt keinen Zeitstempel für die einzelnen Datensätze fest. Die Ereigniszeit entspricht der Veröffentlichungszeit während der Ausführung. Wenn Ihre Pipeline für die Verarbeitung eine korrekte Ereigniszeit benötigt, müssen Sie diese Pipeline nicht verwenden.
Voraussetzungen für diese Pipeline:
- Die zu lesenden Dateien müssen in einem durch Zeilenumbruch getrennten JSON- oder CSV-Format vorliegen. Einträge, die sich über mehrere Zeilen in den Quelldateien erstrecken, können später Probleme verursachen, da jede Zeile in den Dateien als Nachricht an Pub/Sub veröffentlicht wird.
- Das Pub/Sub-Thema muss vorhanden sein, bevor die Pipeline ausgeführt wird.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
inputFilePattern |
Das Muster der Eingabedatei, aus der gelesen werden soll. Beispiel: gs://bucket-name/files/*.json . |
outputTopic |
Das Pub/Sub-Eingabethema, in das geschrieben werden soll. Der Name muss das Format projects/<project-id>/topics/<topic-name> haben. |
Vorlage "Cloud Storage Text für Pub/Sub (Batch)" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Text Files on Cloud Storage to Pub/Sub (Batch) template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
TOPIC_NAME
: der Name Ihres Pub/Sub-ThemasBUCKET_NAME
: der Name Ihres Cloud Storage-Buckets
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub { "jobName": "JOB_NAME", "parameters": { "inputFilePattern": "gs://BUCKET_NAME/files/*.json", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
TOPIC_NAME
: der Name Ihres Pub/Sub-ThemasBUCKET_NAME
: der Name Ihres Cloud Storage-Buckets
Cloud Storage Text für Cloud Spanner
Die Vorlage "Cloud Storage Text für Cloud Spanner" ist eine Batchpipeline, die CSV-Textdateien aus Cloud Storage liest und in eine Cloud Spanner-Datenbank importiert.
Voraussetzungen für diese Pipeline:
- Die Cloud Spanner-Zieldatenbank und -tabelle müssen vorhanden sein.
- Sie benötigen Leseberechtigungen für den Cloud Storage-Bucket und Schreibberechtigungen für die Ziel-Cloud-Spanner-Datenbank.
- Der Cloud Storage-Eingabepfad mit den CSV-Dateien muss vorhanden sein.
- Sie müssen eine Importmanifestdatei mit einer JSON-Beschreibung der CSV-Dateien erstellen. Sie müssen diese Manifestdatei in Cloud Storage speichern.
- Wenn die Ziel-Cloud-Spanner-Datenbank bereits über ein Schema verfügt, müssen alle in der Manifestdatei angegebenen Spalten dieselben Datentypen wie die entsprechenden Spalten im Schema der Zieldatenbank haben.
-
Die ASCII- oder UTF-8-codierte Manifestdatei muss folgendem Format entsprechen:
- Zu importierende Textdateien müssen im CSV-Format mit ASCII- oder UTF-8-Codierung vorliegen. Wir empfehlen, in UTF-8-codierten Dateien keine Bytereihenfolge-Marke (Byte Order Mark, BOM) zu verwenden.
- Die Daten müssen einem der folgenden Typen entsprechen:
GoogleSQL
BOOL INT64 FLOAT64 NUMERIC STRING DATE TIMESTAMP BYPES JSON
PostgreSQL
boolean bigint double precision numeric character varying, text date timestamp with time zone bytea
Vorlagenparameter
Parameter | Beschreibung |
---|---|
instanceId |
Die Instanz-ID der Cloud Spanner-Datenbank. |
databaseId |
Die Datenbank-ID der Cloud Spanner-Datenbank. |
importManifest |
Der Pfad in Cloud Storage zur Importmanifestdatei. |
columnDelimiter |
Das Spaltentrennzeichen, das in der Quelldatei verwendet wird. Der Standardwert ist , . |
fieldQualifier |
Das Zeichen, das jeden Wert in der Quelldatei, die das columnDelimiter enthält, einschließen muss. Der Standardwert ist " .
|
trailingDelimiter |
Gibt an, ob die Zeilen in den Quelldateien nachgestellte Trennzeichen haben (ob das Zeichen columnDelimiter also am Ende jeder Zeile nach dem letzten Spaltenwert erscheint). Der Standardwert ist true . |
escape |
Das von der Quelldatei verwendete Escapezeichen. Dieser Parameter ist standardmäßig nicht gesetzt und die 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 „Textdateien in Cloud Storage für Cloud Spanner“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Text Files on Cloud Storage to Cloud Spanner template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner \ --region REGION_NAME \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ importManifest=GCS_PATH_TO_IMPORT_MANIFEST
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INSTANCE_ID
: Ihre Cloud Spanner-Instanz-IDDATABASE_ID
: Ihre Cloud Spanner-Datenbank-IDGCS_PATH_TO_IMPORT_MANIFEST
: Der Cloud Storage-Pfad zu Ihrer Importmanifestdatei
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner { "jobName": "JOB_NAME", "parameters": { "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "importManifest": "GCS_PATH_TO_IMPORT_MANIFEST" }, "environment": { "machineType": "n1-standard-2" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INSTANCE_ID
: Ihre Cloud Spanner-Instanz-IDDATABASE_ID
: Ihre Cloud Spanner-Datenbank-IDGCS_PATH_TO_IMPORT_MANIFEST
: Der Cloud Storage-Pfad zu Ihrer Importmanifestdatei
Cloud Storage nach Elasticsearch
Die Vorlage "Cloud Storage nach Elasticsearch" ist eine Batchpipeline, die Daten aus CSV-Dateien liest, die in einem Cloud Storage-Bucket gespeichert sind, und diese Daten als JSON-Dokumente in Elasticsearch schreibt.
Voraussetzungen für diese Pipeline:
- Der Cloud Storage-Bucket muss vorhanden sein.
- Ein Elasticsearch-Host auf einer Google Cloud-Instanz oder in Elasticsearch Cloud, auf den über Dataflow zugegriffen werden kann, muss vorhanden sein.
- Es muss eine BigQuery-Tabelle für die Fehlerausgabe vorhanden sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
inputFileSpec |
Das Cloud Storage-Dateimuster für die Suche nach CSV-Dateien. Beispiel: gs://mybucket/test-*.csv . |
connectionUrl |
Elasticsearch-URL im Format https://hostname:[port] oder geben Sie die CloudID an, wenn Elastic Cloud verwendet wird. |
apiKey |
Base64-codierter API-Schlüssel für die Authentifizierung. |
index |
Der Elasticsearch-Index, an den die Anfragen ausgegeben werden, z. B. my-index . |
deadletterTable |
Die BigQuery-Dead-Letter-Tabelle, an die fehlgeschlagene Einfügungen gesendet werden sollen. Beispiel: <your-project>:<your-dataset>.<your-table-name> . |
containsHeaders |
(Optional) Boolescher Wert, der festlegt, ob Header in der CSV-Datei enthalten sein sollen. Standard-true . |
delimiter |
(Optional) Das Trennzeichen, das in der CSV-Datei verwendet wird. Beispiel: , |
csvFormat |
(Optional) Das CSV-Format gemäß dem Apache Commons CSV-Format. Standardeinstellung: Default . |
jsonSchemaPath |
(Optional) Der Pfad zum JSON-Schema. Standardeinstellung: null . |
largeNumFiles |
(Optional) Auf "true" setzen, wenn die Anzahl der Dateien im Zehntausenderbereich liegt. Standardeinstellung: false . |
javascriptTextTransformGcsPath |
(Optional)
Der Cloud Storage-URI der Datei .js , in der die benutzerdefinierte JavaScript-Funktion (UDF) definiert wird, die Sie verwenden möchten. Beispiel: gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Optional)
Der Name der benutzerdefinierten JavaScript-Funktion, die Sie verwenden möchten.
Wenn Ihre JavaScript-Funktion beispielsweise myTransform(inJson) { /*...do stuff...*/ } ist, lautet der Funktionsname myTransform . Beispiele für JavaScript-UDFs finden Sie unter UDF-Beispiele.
|
batchSize |
(Optional) Batchgröße in der Anzahl an Dokumenten. Standardeinstellung: 1000 . |
batchSizeBytes |
(Optional) Batchgröße in der Anzahl an Byte. Standardeinstellung: 5242880 (5 MB). |
maxRetryAttempts |
(Optional) Maximale Wiederholungsversuche, muss > 0 sein. Standardeinstellung: keine Wiederholungen. |
maxRetryDuration |
(Optional) Maximale Wiederholungsdauer in Millisekunden, muss > 0 sein. Standardeinstellung: keine Wiederholungen. |
csvFileEncoding |
(Optional) CSV-Dateicodierung. |
propertyAsIndex |
(Optional) Eine Eigenschaft im indexierten Dokument, deren Wert angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen (hat Vorrang vor einer_index -UDF). Standardwert: none. |
propertyAsId |
(Optional) Eine Eigenschaft im indexierten Dokument, deren Wert angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen (hat Vorrang vor einer_id -UDF). Standardwert: none. |
javaScriptIndexFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIndexFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _index -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIdFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIdFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _id -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptTypeFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die angibt, dass _type -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptTypeFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die angibt, dass _type -Metadaten im Dokument in der Bulk-Anfrage enthalten sein sollen. Standardwert: none. |
javaScriptIsDeleteFnGcsPath |
(Optional) Der Cloud Storage-Pfad zur JavaScript-UDF-Quelle für eine Funktion, die bestimmt, ob das Dokument gelöscht statt eingefügt oder aktualisiert werden soll. Die Funktion sollte den Stringwert "true" oder "false" zurückgeben. Standardwert: none. |
javaScriptIsDeleteFnName |
(Optional) UDF-JavaScript-Funktionsname für eine Funktion, die bestimmt, ob das Dokument gelöscht statt eingefügt oder aktualisiert werden soll. Die Funktion sollte den Stringwert "true" oder "false" zurückgeben. Standardwert: none. |
usePartialUpdate |
(Optional) Gibt an, ob Teilaktualisierungen (Aktualisieren statt Erstellen oder Indexieren, Teildokumente sind zulässig) in Elasticsearch-Anfragen verwendet werden sollen. Standardeinstellung: false . |
bulkInsertMethod |
(Optional) Gibt an, ob INDEX (Indexieren, Upserts sind zulässig) oder CREATE (Erstellen, Fehler bei doppelter _id) in Bulk-Anfragen von Elasticsearch verwendet werden soll. Standardeinstellung: CREATE . |
Vorlage "Cloud Storage nach Elasticsearch" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cloud Storage to Elasticsearch template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID\ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/GCS_to_Elasticsearch \ --parameters \ inputFileSpec=INPUT_FILE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX,\ deadletterTable=DEADLETTER_TABLE,\
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INPUT_FILE_SPEC
: Ihr Cloud Storage-Dateimuster.CONNECTION_URL
: ist die Elasticsearch-URLAPIKEY
: ist der base64-codierte API-Schlüssel für die AuthentifizierungINDEX
: ist ihr Elasticsearch-IndexDEADLETTER_TABLE
: Ihre BigQuery-Tabelle.
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputFileSpec": "INPUT_FILE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX", "deadletterTable": "DEADLETTER_TABLE" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/GCS_to_Elasticsearch", } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
INPUT_FILE_SPEC
: Ihr Cloud Storage-Dateimuster.CONNECTION_URL
: ist die Elasticsearch-URLAPIKEY
: ist der base64-codierte API-Schlüssel für die AuthentifizierungINDEX
: ist ihr Elasticsearch-IndexDEADLETTER_TABLE
: Ihre BigQuery-Tabelle.
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 |
Die durch Kommas getrennte Liste der JAR-Dateien des Treibers. z. B. gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar . |
driverClassName |
Der Name der JDBC-Treiberklasse. z. B. com.mysql.jdbc.Driver . |
connectionURL |
Der URL-String für die JDBC-Verbindung. Beispiel: jdbc:mysql://some-host:3306/sampledb . Kann als String übergeben werden, der Base64-codiert und dann mit einem Cloud KMS-Schlüssel verschlüsselt wird. |
query |
Die 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.
z. B. gs://<my-bucket>/my-files/temp_dir . |
connectionProperties |
[Optional] Attributstring für die JDBC-Verbindung. Format des Strings muss [propertyName=property;]* sein. Beispiel: unicode=true;characterEncoding=UTF-8 . |
username |
(Optional) Der 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) Das 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. |
disabledAlgorithms |
(Optional) Durch Kommas getrennte Algorithmen zum Deaktivieren. Wenn dieser Wert auf none gesetzt ist, wird kein Algorithmus deaktiviert. Seien Sie vorsichtig, da die standardmäßig deaktivierten Algorithmen entweder Sicherheitslücken oder Leistungsprobleme haben. Beispiel: SSLv3, RC4. |
extraFilesToStage |
Durch Kommas getrennte Cloud Storage-Pfade oder Secret Manager-Secrets für Dateien, die im Worker bereitgestellt werden sollen. Diese Dateien werden im Verzeichnis /extra_files in jedem Worker gespeichert. Beispiel: gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> . |
Vorlage "JDBC für BigQuery" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the JDBC to BigQuery template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Jdbc_to_BigQuery \ --region REGION_NAME \ --parameters \ driverJars=DRIVER_PATHS,\ driverClassName=DRIVER_CLASS_NAME,\ connectionURL=JDBC_CONNECTION_URL,\ query=SOURCE_SQL_QUERY,\ outputTable=PROJECT_ID:DATASET.TABLE_NAME, bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\ connectionProperties=CONNECTION_PROPERTIES,\ username=CONNECTION_USERNAME,\ password=CONNECTION_PASSWORD,\ KMSEncryptionKey=KMS_ENCRYPTION_KEY
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
DRIVER_PATHS
: Die kommagetrennten Cloud Storage-Pfade der JDBC-TreiberDRIVER_CLASS_NAME
: Der Name der TreiberklasseJDBC_CONNECTION_URL
: Die JDBC-Verbindungs-URLSOURCE_SQL_QUERY
: Die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden sollDATASET
: Ihr BigQuery-Dataset und ersetzen SieTABLE_NAME
durch Ihren BigQuery-TabellennamenPATH_TO_TEMP_DIR_ON_GCS
: Der Cloud Storage-Pfad zum temporären VerzeichnisCONNECTION_PROPERTIES
: JDBC-Verbindungsattribute, falls erforderlichCONNECTION_USERNAME
: Der Nutzername der JDBC-VerbindungCONNECTION_PASSWORD
: Das JDBC-VerbindungspasswortKMS_ENCRYPTION_KEY
: Der Cloud KMS-Verschlüsselungsschlüssel
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Jdbc_to_BigQuery { "jobName": "JOB_NAME", "parameters": { "driverJars": "DRIVER_PATHS", "driverClassName": "DRIVER_CLASS_NAME", "connectionURL": "JDBC_CONNECTION_URL", "query": "SOURCE_SQL_QUERY", "outputTable": "PROJECT_ID:DATASET.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" } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
DRIVER_PATHS
: Die kommagetrennten Cloud Storage-Pfade der JDBC-TreiberDRIVER_CLASS_NAME
: Der Name der TreiberklasseJDBC_CONNECTION_URL
: Die JDBC-Verbindungs-URLSOURCE_SQL_QUERY
: Die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden sollDATASET
: Ihr BigQuery-Dataset und ersetzen SieTABLE_NAME
durch Ihren BigQuery-TabellennamenPATH_TO_TEMP_DIR_ON_GCS
: Der Cloud Storage-Pfad zum temporären VerzeichnisCONNECTION_PROPERTIES
: JDBC-Verbindungsattribute, falls erforderlichCONNECTION_USERNAME
: Der Nutzername der JDBC-VerbindungCONNECTION_PASSWORD
: Das JDBC-VerbindungspasswortKMS_ENCRYPTION_KEY
: Der Cloud KMS-Verschlüsselungsschlüssel
Java Database Connectivity (JDBC) für Pub/Sub
Die Vorlage „Java Database Connectivity (JDBC) für Pub/Sub“ ist eine Batchpipeline, die Daten aus der JDBC-Quelle aufnimmt und die resultierenden Datensätze als JSON-String in ein bereits vorhandenes Pub/Sub-Thema schreibt.
Voraussetzungen für diese Pipeline:
- Die JDBC-Quelle muss vorhanden sein, bevor die Pipeline ausgeführt wird.
- Das Cloud Pub/Sub-Output-Thema muss vor der Pipelineausführung vorhanden sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
driverClassName |
Der Name der JDBC-Treiberklasse. z. B. com.mysql.jdbc.Driver . |
connectionUrl |
Der URL-String für die JDBC-Verbindung. Beispiel: jdbc:mysql://some-host:3306/sampledb . Kann als String übergeben werden, der Base64-codiert und dann mit einem Cloud KMS-Schlüssel verschlüsselt wird. |
driverJars |
Durch Kommas getrennte Cloud Storage-Pfade für JDBC-Treiber. z. B. gs://your-bucket/driver_jar1.jar,gs://your-bucket/driver_jar2.jar . |
username |
(Optional) Der 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) Das Passwort für die JDBC-Verbindung. Kann als Base64-codierter String übergeben werden, der mit einem Cloud KMS-Schlüssel verschlüsselt ist. |
connectionProperties |
[Optional] Attributstring für die JDBC-Verbindung. Format des Strings muss [propertyName=property;]* sein. Beispiel: unicode=true;characterEncoding=UTF-8 . |
query |
Die Abfrage, die in der Quelle zur Extraktion der Daten ausgeführt wird. Beispiel: select * from sampledb.sample_table . |
outputTopic |
Das Pub/Sub-Thema, in dem veröffentlicht werden soll, im Format projects/<project>/topics/<topic> . |
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. |
extraFilesToStage |
Durch Kommas getrennte Cloud Storage-Pfade oder Secret Manager-Secrets für Dateien, die im Worker bereitgestellt werden sollen. Diese Dateien werden im Verzeichnis /extra_files in jedem Worker gespeichert. Beispiel: gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> . |
Vorlage „Java Database Connectivity (JDBC) für Pub/Sub“ ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the JDBC to Pub/Sub template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/flex/Jdbc_to_PubSub \ --region REGION_NAME \ --parameters \ driverClassName=DRIVER_CLASS_NAME,\ connectionURL=JDBC_CONNECTION_URL,\ driverJars=DRIVER_PATHS,\ username=CONNECTION_USERNAME,\ password=CONNECTION_PASSWORD,\ connectionProperties=CONNECTION_PROPERTIES,\ query=SOURCE_SQL_QUERY,\ outputTopic=OUTPUT_TOPIC,\ KMSEncryptionKey=KMS_ENCRYPTION_KEY
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
DRIVER_CLASS_NAME
: Der Name der TreiberklasseJDBC_CONNECTION_URL
: Die JDBC-Verbindungs-URLDRIVER_PATHS
: Die kommagetrennten Cloud Storage-Pfade der JDBC-TreiberCONNECTION_USERNAME
: Der Nutzername der JDBC-VerbindungCONNECTION_PASSWORD
: Das JDBC-VerbindungspasswortCONNECTION_PROPERTIES
: JDBC-Verbindungsattribute, falls erforderlichSOURCE_SQL_QUERY
: Die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden sollOUTPUT_TOPIC
: Pub/Sub, in dem veröffentlicht werden sollKMS_ENCRYPTION_KEY
: Der Cloud KMS-Verschlüsselungsschlüssel
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "jobName": "JOB_NAME", "parameters": { "driverClassName": "DRIVER_CLASS_NAME", "connectionURL": "JDBC_CONNECTION_URL", "driverJars": "DRIVER_PATHS", "username": "CONNECTION_USERNAME", "password": "CONNECTION_PASSWORD", "connectionProperties": "CONNECTION_PROPERTIES", "query": "SOURCE_SQL_QUERY", "outputTopic": "OUTPUT_TOPIC", "KMSEncryptionKey":"KMS_ENCRYPTION_KEY" }, "environment": { "zone": "us-central1-f" }, }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
DRIVER_CLASS_NAME
: Der Name der TreiberklasseJDBC_CONNECTION_URL
: Die JDBC-Verbindungs-URLDRIVER_PATHS
: Die kommagetrennten Cloud Storage-Pfade der JDBC-TreiberCONNECTION_USERNAME
: Der Nutzername der JDBC-VerbindungCONNECTION_PASSWORD
: Das JDBC-VerbindungspasswortCONNECTION_PROPERTIES
: JDBC-Verbindungsattribute, falls erforderlichSOURCE_SQL_QUERY
: Die SQL-Abfrage, die in der Quelldatenbank ausgeführt werden sollOUTPUT_TOPIC
: Pub/Sub, in dem veröffentlicht werden sollKMS_ENCRYPTION_KEY
: Der Cloud KMS-Verschlüsselungsschlüssel
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 Bigtable-Zieltabelle muss vorhanden sein, bevor Sie die Pipeline ausführen.
- 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
undTimestamp
werden inDateTime
-Objekte konvertiertUUID
wird konvertiert inString
Varint
wird konvertiert inBigDecimal
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 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 wird die Tabelle so angezeigt:
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 Bigtable-Instanz, in die die Apache Cassandra-Tabelle kopiert wird. |
bigtableInstanceId |
Die Bigtable-Instanz-ID, in die die Apache Cassandra-Tabelle kopiert werden soll. |
bigtableTableId |
Der Name der Bigtable-Tabelle, in die die Apache Cassandra-Tabelle kopiert werden soll. |
defaultColumnFamily |
Optional: Der Name der Spaltenfamilie der 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
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Cassandra to Cloud Bigtable template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=BIGTABLE_INSTANCE_ID,\ bigtableTableId=BIGTABLE_TABLE_ID,\ cassandraHosts=CASSANDRA_HOSTS,\ cassandraKeyspace=CASSANDRA_KEYSPACE,\ cassandraTable=CASSANDRA_TABLE
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
REGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Ihre Projekt-ID, in der sich Cloud Bigtable befindetBIGTABLE_INSTANCE_ID
: Die Cloud Bigtable-Instanz-ID.BIGTABLE_TABLE_ID
: Der Name Ihres Cloud Bigtable-TabellennamensCASSANDRA_HOSTS
: Apache Cassandra-Hostliste. Wenn mehrere Hosts angegeben sind, folgen Sie der Anleitung zum Maskieren von Kommas.CASSANDRA_KEYSPACE
: Der Apache Cassandra-Schlüsselbereich, in dem sich die Tabelle befindet.CASSANDRA_TABLE
: Die Apache Cassandra-Tabelle, die migriert werden soll
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "BIGTABLE_INSTANCE_ID", "bigtableTableId": "BIGTABLE_TABLE_ID", "cassandraHosts": "CASSANDRA_HOSTS", "cassandraKeyspace": "CASSANDRA_KEYSPACE", "cassandraTable": "CASSANDRA_TABLE" }, "environment": { "zone": "us-central1-f" } }
Dabei gilt:
PROJET_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlVERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
LOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
BIGTABLE_PROJECT_ID
: Ihre Projekt-ID, in der sich Cloud Bigtable befindetBIGTABLE_INSTANCE_ID
: Die Cloud Bigtable-Instanz-ID.BIGTABLE_TABLE_ID
: Der Name Ihres Cloud Bigtable-TabellennamensCASSANDRA_HOSTS
: Apache Cassandra-Hostliste. Wenn mehrere Hosts angegeben sind, folgen Sie der Anleitung zum Maskieren von Kommas.CASSANDRA_KEYSPACE
: Der Apache Cassandra-Schlüsselbereich, in dem sich die Tabelle befindet.CASSANDRA_TABLE
: Die Apache Cassandra-Tabelle, die migriert werden soll
Migration von MongoDB zu BigQuery
Die Vorlage "MongoDB zu BigQuery" ist eine Batchpipeline, die Dokumente aus MongoDB liest und gemäß dem Parameter userOption
in BigQuery schreibt.
Voraussetzungen für diese Pipeline
- Das BigQuery-Ziel-Dataset muss vorhanden sein.
- Die MongoDB-Quellinstanz muss über die Dataflow-Worker-Maschinen zugänglich sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
mongoDbUri |
MongoDB-Verbindungs-URI im Format mongodb+srv://:@ . |
database |
Datenbank in MongoDB, aus der die Sammlung gelesen werden soll. Beispiel: my-db . |
collection |
Name der Sammlung in der MongoDB-Datenbank. Beispiel: my-collection . |
outputTableSpec |
BigQuery-Tabelle, in die Daten geschrieben werden sollen. Beispiel: bigquery-project:dataset.output_table . |
userOption |
FLATTEN oder NONE . FLATTEN vereinfacht die Dokumente auf die erste Ebene. NONE speichert das gesamte Dokument als JSON-String. |
Vorlage "MongoDB für BigQuery" ausführen
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Der regionale Standardendpunkt ist
us-central1
.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the MongoDB to BigQuery template aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud
Führen Sie die Vorlage in der Shell oder im Terminal aus:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery \ --parameters \ outputTableSpec=OUTPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION,\ userOption=USER_OPTION
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
OUTPUT_TABLE_SPEC
: Der Name Ihrer BigQuery-Zieltabelle.MONGO_DB_URI
: Ihr MongoDB-URI.DATABASE
: Ihre MongoDB-Datenbank.COLLECTION
: Ihre MongoDB-Sammlung.USER_OPTION
: FLATTEN oder NONE.
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "mongoDbUri": "MONGO_DB_URI", "database": "DATABASE", "collection": "COLLECTION", "userOption": "USER_OPTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery", } }
Dabei gilt:
PROJECT_ID
: die Cloud-Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: der regionale Endpunkt, an dem Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates/latest/- Den Versionsnamen wie
2021-09-20-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates/.
OUTPUT_TABLE_SPEC
: Der Name Ihrer BigQuery-Zieltabelle.MONGO_DB_URI
: Ihr MongoDB-URI.DATABASE
: Ihre MongoDB-Datenbank.COLLECTION
: Ihre MongoDB-Sammlung.USER_OPTION
: FLATTEN oder NONE.