O modelo de texto do Spanner para o Cloud Storage é um pipeline em lote que lê dados de uma tabela do Spanner e escreve-os no Cloud Storage como ficheiros de texto CSV.
Requisitos do pipeline
- A tabela do Spanner de entrada tem de existir antes de executar o pipeline.
Parâmetros de modelos
Parâmetros obrigatórios
- spannerTable: a tabela do Spanner a partir da qual os dados são lidos.
- spannerProjectId: o ID do projeto do Google Cloud que contém a base de dados do Spanner a partir da qual os dados são lidos.
- spannerInstanceId: o ID da instância da tabela pedida.
- spannerDatabaseId: o ID da base de dados da tabela pedida.
- textWritePrefix: o prefixo do caminho do Cloud Storage que especifica onde os dados são escritos. Por exemplo,
gs://mybucket/somefolder/
.
Parâmetros opcionais
- csvTempDirectory: o caminho do Cloud Storage onde os ficheiros CSV temporários são escritos. Por exemplo,
gs://your-bucket/your-path
. - spannerPriority: a prioridade do pedido (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) para chamadas do Spanner. Os valores possíveis são
HIGH
,MEDIUM
eLOW
. O valor predefinido éMEDIUM
. - spannerHost: o ponto final do Cloud Spanner a chamar no modelo. Usado apenas para testes. Por exemplo,
https://batch-spanner.googleapis.com
. O valor predefinido é: https://batch-spanner.googleapis.com. - spannerSnapshotTime: a data/hora que corresponde à versão da base de dados do Spanner a partir da qual quer ler. A data/hora tem de ser especificada no formato de hora UTC Zulu RFC 3339 (https://tools.ietf.org/html/rfc3339). A data/hora tem de ser no passado e aplica-se a obsolescência máxima da data/hora (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). Por exemplo,
1990-12-31T23:59:60Z
. A predefinição é vazio. - dataBoostEnabled: definido como
true
para usar os recursos de computação do Spanner Data Boost para executar a tarefa com um impacto quase nulo nos fluxos de trabalho OLTP do Spanner. Quando é verdadeiro, requer a autorização despanner.databases.useDataBoost
gestão de identidade e de acesso (IAM) Para mais informações, consulte a vista geral do Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). A predefinição é: false.
Execute o modelo
Consola
- Aceda à página do fluxo de dados Criar tarefa a partir de um modelo. Aceda a Criar tarefa a partir de modelo
- No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
- Opcional: para Ponto final regional, selecione um valor no menu pendente. A região
predefinida é
us-central1
.Para ver uma lista das regiões onde pode executar uma tarefa do Dataflow, consulte as localizações do Dataflow.
- No menu pendente Modelo do fluxo de dados, selecione the Cloud Spanner to Text Files on Cloud Storage template.
- Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
- Clique em Executar tarefa.
gcloud
Na 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 o seguinte:
JOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: 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 pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o Google Cloud ID do projeto da base de dados do Spanner a partir da qual quer ler dadosDATABASE_ID
: o ID da base de dados do SpannerBUCKET_NAME
: o nome do seu contentor do Cloud StorageINSTANCE_ID
: o ID da instância do SpannerTABLE_ID
: o ID da tabela do Spanner
API
Para executar o modelo através da API REST, envie um pedido HTTP POST. Para mais informações sobre a API e os respetivos âmbitos 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 o seguinte:
PROJECT_ID
: o ID do projeto onde quer executar a tarefa do Dataflow Google CloudJOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: 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 pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o Google Cloud ID do projeto da base de dados do Spanner a partir da qual quer ler dadosDATABASE_ID
: o ID da base de dados do SpannerBUCKET_NAME
: o nome do seu contentor do Cloud StorageINSTANCE_ID
: o ID da instância do SpannerTABLE_ID
: o ID da tabela do Spanner
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.