O modelo do Spanner para Cloud Storage Text é um pipeline em lote que lê dados de uma tabela do Spanner e os grava no Cloud Storage como arquivos de texto CSV.
Requisitos de pipeline
- A tabela de entrada do Spanner precisa existir antes de o pipeline ser executado.
Parâmetros do modelo
Parâmetros obrigatórios
- spannerTable : a tabela do Spanner para ler os dados.
- spannerProjectId : o ID do projeto do Google Cloud que contém o banco de dados do Spanner para ler os dados.
- spannerInstanceId : o ID da instância solicitada da tabela solicitada.
- spannerDatabaseId : o ID do banco de dados da tabela solicitada.
- textWritePrefix : o prefixo de caminho do Cloud Storage que especifica onde os dados são gravados. (Exemplo: gs://mybucket/somefolder/).
Parâmetros opcionais
- csvTempDirectory : o caminho do Cloud Storage em que os arquivos CSV temporários são gravados. (Exemplo: gs://your-bucket/your-path).
- spannerPriority : a prioridade da solicitação (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) para chamadas do Spanner. Valores possíveis:
HIGH
,MEDIUM
,LOW
. O valor padrão éMEDIUM
. - spannerHost: opcional: o endpoint do Cloud Spanner para chamar no modelo. Usado apenas para testes. Por exemplo: https://batch-spanner.googleapis.com. O padrão é: https://batch-spanner.googleapis.com.
- spannerSnapshotTime : o carimbo de data/hora que corresponde à versão do banco de dados do Spanner do qual você quer ler. O carimbo de data/hora precisa ser especificado no formato "Zulu" UTC do RFC 3339 (https://tools.ietf.org/html/rfc3339). O carimbo de data/hora precisa estar no passado, e a inatividade máxima (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness) é aplicável. (Exemplo: 1990-12-31T23:59:60Z). O padrão é vazio.
- dataBoostEnabled : defina como
true
para usar os recursos de computação do Spanner Data Boost para executar o job com impacto quase zero nos fluxos de trabalho OLTP do Spanner. Quando verdadeiro, exige a permissão do Identity and Access Management (IAM)spanner.databases.useDataBoost
. Para mais informações, consulte a visão geral do Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). O padrão é: falso.
Executar o modelo
Console
- Acesse a página Criar job usando um modelo do Dataflow. Acesse Criar job usando um modelo
- No campo Nome do job, insira um nome exclusivo.
- Opcional: em Endpoint regional, selecione um valor no menu suspenso. A região padrão é
us-central1
.Para ver uma lista de regiões em que é possível executar um job do Dataflow, consulte Locais do Dataflow.
- No menu suspenso Modelo do Dataflow, selecione the Cloud Spanner to Text Files on Cloud Storage template.
- Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
- Cliquem em Executar job.
gcloud
No shell ou no terminal, execute o modelo:
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/
Substitua:
JOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o ID do projeto do Google Cloud do banco de dados do Spanner em que você quer ler os dados.DATABASE_ID
: o ID do banco de dados do SpannerBUCKET_NAME
: o nome do bucket do Cloud StorageINSTANCE_ID
: o ID da instância do SpannerTABLE_ID
: o ID da tabela do Spanner
API
Para executar o modelo usando a API REST, envie uma solicitação HTTP POST. Para mais informações sobre a
API e os respectivos escopos de autorização, consulte
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" } }
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud em que você quer executar o job do DataflowJOB_NAME
: um nome de job de sua escolhaVERSION
: a versão do modelo que você quer usarUse estes valores:
latest
para usar a versão mais recente do modelo, disponível na pasta mãe não datada no bucket: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na respectiva pasta mãe datada no bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região em que você quer implantar o job do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o ID do projeto do Google Cloud do banco de dados do Spanner em que você quer ler os dados.DATABASE_ID
: o ID do banco de dados do SpannerBUCKET_NAME
: o nome do bucket do Cloud StorageINSTANCE_ID
: o ID da instância do SpannerTABLE_ID
: o ID da tabela do Spanner
A seguir
- Saiba mais sobre os modelos do Dataflow.
- Confira a lista de modelos fornecidos pelo Google.