Modello BigQuery a MongoDB

Il modello da BigQuery a MongoDB è una pipeline batch che legge le righe da un BigQuery e le scrive su MongoDB come documenti. Attualmente, ogni riga è archiviata come documento.

Requisiti della pipeline

  • La tabella BigQuery di origine deve esistere.
  • L'istanza MongoDB di destinazione deve essere accessibile dalle macchine worker Dataflow.

Parametri del modello

Parametro Descrizione
mongoDbUri URI di connessione MongoDB nel formato mongodb+srv://:@.
database Database in MongoDB per archiviare la raccolta. Ad esempio: my-db.
collection Nome della raccolta nel database MongoDB. Ad esempio: my-collection.
inputTableSpec Tabella BigQuery da cui leggere. Ad esempio, bigquery-project:dataset.input_table.

Esegui il modello

Console

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. La regione predefinita è us-central1.

    Per un elenco delle regioni in cui puoi eseguire un job Dataflow, vedi Località Dataflow.

  5. Nel menu a discesa Modello Dataflow, seleziona the BigQuery to MongoDB template.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  7. Fai clic su Esegui job.

gcloud

Nella shell o nel terminale, esegui il modello:

  gcloud dataflow flex-template run JOB_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
  

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • INPUT_TABLE_SPEC: nome della tua tabella BigQuery di origine.
  • MONGO_DB_URI: il tuo URI MongoDB.
  • DATABASE: il tuo database MongoDB.
  • COLLECTION: la tua raccolta MongoDB.

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni sull'API e sui relativi ambiti di autorizzazione, consulta 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",
     }
  }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • INPUT_TABLE_SPEC: nome della tua tabella BigQuery di origine.
  • MONGO_DB_URI: il tuo URI MongoDB.
  • DATABASE: il tuo database MongoDB.
  • COLLECTION: la tua raccolta MongoDB.

Passaggi successivi