Die Vorlage "Spanner für Cloud Storage Text" ist eine Batchpipeline, die Daten aus einer Spanner-Tabelle einliest und als CSV-Textdateien in Cloud Storage schreibt.
Pipelineanforderungen
- Die Spanner-Tabelle mit den Eingabedaten muss vorhanden sein, bevor Sie die Pipeline ausführen.
Vorlagenparameter
Erforderliche Parameter
- spannerTable: Die Spanner-Tabelle, aus der die Daten gelesen werden sollen.
- spannerProjectId: Die ID des Google Cloud-Projekts, das die Spanner-Datenbank enthält, aus der Daten gelesen werden sollen.
- spannerInstanceId: Die Instanz-ID der angeforderten Tabelle.
- spannerDatabaseId: Die Datenbank-ID der angeforderten Tabelle.
- textWritePrefix: Das Cloud Storage-Pfadpräfix, das angibt, wohin die Daten geschrieben werden. Beispiel:
gs://mybucket/somefolder/
.
Optionale Parameter
- csvTempDirectory: Der Cloud Storage-Pfad, in den temporäre CSV-Dateien geschrieben werden. Beispiel:
gs://your-bucket/your-path
. - spannerPriority: Die Anfragepriorität (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) für Spanner-Aufrufe. Mögliche Werte sind
HIGH
,MEDIUM
undLOW
. Der Standardwert istMEDIUM
. - spannerHost: Der Cloud Spanner-Endpunkt, der in der Vorlage aufgerufen werden soll. Wird nur zum Testen verwendet. Beispiel:
https://batch-spanner.googleapis.com
. Die Standardeinstellung ist https://batch-spanner.googleapis.com. - spannerSnapshotTime: Der Zeitstempel, der der Version der Spanner-Datenbank entspricht, aus der Sie lesen möchten. Der Zeitstempel muss im Format RFC 3339 (https://tools.ietf.org/html/rfc3339) UTC „Zulu“ angegeben werden. Der Zeitstempel muss in der Vergangenheit liegen und die maximale Zeitstempelveralterung (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness) gilt. Beispiel:
1990-12-31T23:59:60Z
Die Standardeinstellung ist leer. - dataBoostEnabled: Legen Sie
true
fest, damit die Rechenressourcen von Spanner Data Boost verwendet werden, um den Job praktisch ohne Auswirkungen auf Spanner OLTP-Workflows auszuführen. Wenn „true“ festgelegt ist, ist die IAM-Berechtigung (Identity and Access Management)spanner.databases.useDataBoost
erforderlich. Weitere Informationen finden Sie in der Data Boost-Übersicht (https://cloud.google.com/spanner/docs/databoost/databoost-overview). Die Standardeinstellung ist "false".
Führen Sie die Vorlage aus.
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. Die Standardregion 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 templateaus.
- 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-REGION_NAME/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/
Ersetzen Sie dabei Folgendes:
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-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
REGION_NAME
: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
SPANNER_PROJECT_ID
: die Google 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-LOCATION/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" } }
Ersetzen Sie dabei Folgendes:
PROJECT_ID
: die ID des Google Cloud-Projekts, in dem 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-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
LOCATION
: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
SPANNER_PROJECT_ID
: die Google 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
Nächste Schritte
- Dataflow-Vorlagen
- Sehen Sie sich die Liste der von Google bereitgestellten Vorlagen an.