O modelo BigQuery para MongoDB é um pipeline em lote que lê as linhas de um BigQuery e as grava no MongoDB como documentos. Atualmente, cada linha está armazenada como um documento.
Requisitos de pipeline
- A tabela de origem do BigQuery precisa existir.
- A instância de destino do MongoDB precisa ser acessível nas máquinas de trabalho do Dataflow.
Parâmetros do modelo
Parâmetros obrigatórios
- mongoDbUri: o URI de conexão do MongoDB no formato
mongodb+srv://:@
. - database: banco de dados no MongoDB para armazenar a coleção. Por exemplo,
my-db
. - collection: o nome da coleção no banco de dados do MongoDB. Por exemplo,
my-collection
. - inputTableSpec: a tabela do BigQuery a ser lida. Por exemplo,
bigquery-project:dataset.input_table
.
Executar o modelo
- 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 BigQuery to MongoDB template.
- Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
- Cliquem em Executar job.
No shell ou no terminal, execute o modelo:
gcloud dataflow flex-template runJOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME /VERSION /flex/BigQuery_to_MongoDB \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC ,\ mongoDbUri=MONGO_DB_URI ,\ database=DATABASE ,\ collection=COLLECTION
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 escolhaREGION_NAME
: a região onde você quer implantar o job do Dataflow, por exemplo,us-central1
VERSION
: 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/
INPUT_TABLE_SPEC
: o nome da tabela de origem do BigQuery.MONGO_DB_URI
: o URI do MongoDB.DATABASE
: o banco de dados do MongoDB.COLLECTION
: sua coleção do MongoDB.
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 /flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME ", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC ", "mongoDbUri": "MONGO_DB_URI ", "database": "DATABASE ", "collection": "COLLECTION " }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION /VERSION /flex/BigQuery_to_MongoDB", } }
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 escolhaLOCATION
: a região onde você quer implantar o job do Dataflow, por exemplo,us-central1
VERSION
: 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/
INPUT_TABLE_SPEC
: o nome da tabela de origem do BigQuery.MONGO_DB_URI
: o URI do MongoDB.DATABASE
: o banco de dados do MongoDB.COLLECTION
: sua coleção do MongoDB.
Código-fonte do modelo
A seguir
- Saiba mais sobre os modelos do Dataflow.
- Confira a lista de modelos fornecidos pelo Google.