Modello da BigQuery a MongoDB

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

Requisiti della pipeline

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

Parametri del modello

Parametri obbligatori

  • mongoDbUri: l'URI di connessione a MongoDB nel formato mongodb+srv://:@.
  • database : database in MongoDB per archiviare la raccolta. (ad esempio my-db).
  • collection: il nome della raccolta nel database MongoDB. (ad esempio, la mia collezione).
  • inputTableSpec: la tabella BigQuery da cui leggere. (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. Il valore predefinito è us-central1.

    Per un elenco di regioni in cui è possibile eseguire un job Dataflow, consulta Località di Dataflow.

  5. Nel menu a discesa Modello di flusso di dati, seleziona the BigQuery to MongoDB template.
  6. Inserisci i valori parametro negli appositi campi.
  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 progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome di 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: il nome della tabella BigQuery di origine.
  • MONGO_DB_URI: l'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 ulteriori informazioni sul API e i 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 progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome di 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: il nome della tabella BigQuery di origine.
  • MONGO_DB_URI: l'URI MongoDB.
  • DATABASE: il tuo database MongoDB.
  • COLLECTION: la tua raccolta MongoDB.

Passaggi successivi