La plantilla de Spanner a texto de Cloud Storage es una canalización por lotes que lee datos de una tabla de Spanner y los escribe en Cloud Storage como archivos de texto CSV.
Requisitos del flujo de procesamiento
- La tabla de entrada de Spanner debe existir antes de ejecutar el flujo de procesamiento.
Parámetros de plantilla
Parámetros obligatorios
- spannerTable la tabla de Spanner de la que se leerán los datos.
- spannerProjectId el ID del proyecto de Google Cloud que contiene la base de datos de Spanner de la que se van a leer los datos.
- spannerInstanceId: el ID de instancia de la tabla solicitada.
- spannerDatabaseId el ID de la base de datos de la tabla solicitada.
- textWritePrefix prefijo de la ruta de Cloud Storage que especifica dónde se escriben los datos. Por ejemplo,
gs://mybucket/somefolder/
.
Parámetros opcionales
- csvTempDirectory: ruta de Cloud Storage en la que se escriben los archivos CSV temporales. Por ejemplo,
gs://your-bucket/your-path
. - spannerPriority la prioridad de la solicitud (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) de las llamadas de Spanner. Los valores posibles son
HIGH
,MEDIUM
yLOW
. El valor predeterminado esMEDIUM
. - spannerHost el endpoint de Cloud Spanner al que se llama en la plantilla. Solo se usa para hacer pruebas. Por ejemplo,
https://batch-spanner.googleapis.com
. El valor predeterminado es https://batch-spanner.googleapis.com. - spannerSnapshotTime la marca de tiempo que corresponde a la versión de la base de datos de Spanner desde la que quieres leer. La marca de tiempo debe especificarse en formato de hora zulú UTC RFC 3339 (https://tools.ietf.org/html/rfc3339). La marca de tiempo debe ser anterior a la hora actual y se aplica la antigüedad máxima de la marca de tiempo (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). Por ejemplo,
1990-12-31T23:59:60Z
. El valor predeterminado es una cadena vacía. - dataBoostEnabled asigna el valor
true
para usar los recursos de computación de Spanner Data Boost y ejecutar el trabajo con un impacto casi nulo en los flujos de trabajo de OLTP de Spanner. Si es true, requiere el permisospanner.databases.useDataBoost
Gestión de Identidades y Accesos (IAM). Para obtener más información, consulta la descripción general de Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). Valor predeterminado: false.
Ejecutar la plantilla
Consola
- Ve a la página Crear tarea a partir de plantilla de Dataflow. Ir a Crear tarea a partir de plantilla
- En el campo Nombre de la tarea, introduce un nombre único.
- Opcional: En Endpoint regional, seleccione un valor en el menú desplegable. La región predeterminada es
us-central1
.Para ver una lista de las regiones en las que puedes ejecutar una tarea de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de flujo de datos, seleccione the Cloud Spanner to Text Files on Cloud Storage template.
- En los campos de parámetros proporcionados, introduzca los valores de los parámetros.
- Haz clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
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/
Haz los cambios siguientes:
JOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
SPANNER_PROJECT_ID
: el ID del proyecto de la Google Cloud base de datos de Spanner de la que quieras leer datos.DATABASE_ID
: el ID de la base de datos de SpannerBUCKET_NAME
: el nombre de tu segmento de Cloud StorageINSTANCE_ID
: el ID de la instancia de SpannerTABLE_ID
: el ID de la tabla de Spanner
API
Para ejecutar la plantilla mediante la API REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus ámbitos de autorización, consulta 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" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto Google Cloud en el que quieres ejecutar la tarea de DataflowJOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
SPANNER_PROJECT_ID
: el ID del proyecto de la Google Cloud base de datos de Spanner de la que quieras leer datos.DATABASE_ID
: el ID de la base de datos de SpannerBUCKET_NAME
: el nombre de tu segmento de Cloud StorageINSTANCE_ID
: el ID de la instancia de SpannerTABLE_ID
: el ID de la tabla de Spanner
Siguientes pasos
- Consulta información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas proporcionadas por Google.