Template BigQuery ke MongoDB

Template BigQuery ke MongoDB adalah pipeline batch yang membaca baris dari BigQuery dan menulisnya ke MongoDB sebagai dokumen. Saat ini, setiap baris disimpan sebagai dokumen.

Persyaratan pipeline

  • Tabel BigQuery sumber harus ada.
  • Instance MongoDB target harus dapat diakses dari mesin pekerja Dataflow.

Parameter template

Parameter yang diperlukan

  • mongoDbUri : URI koneksi MongoDB dalam format mongodb+srv://:@.
  • database : Database di MongoDB untuk menyimpan koleksi. (Contoh: my-db).
  • collection : Nama koleksi di database MongoDB. (Contoh: my-collection).
  • inputTableSpec : Tabel BigQuery yang akan dibaca. (Contoh: bigquery-project:dataset.input_table).

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Nama tugas, masukkan nama tugas yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya adalah us-central1.

    Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the BigQuery to MongoDB template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal, jalankan template:

  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
  

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • INPUT_TABLE_SPEC: nama tabel BigQuery sumber Anda.
  • MONGO_DB_URI: URI MongoDB Anda.
  • DATABASE: database MongoDB Anda.
  • COLLECTION: koleksi MongoDB Anda.

API

Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui informasi selengkapnya tentang API dan cakupan otorisasinya, lihat 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",
     }
  }

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • INPUT_TABLE_SPEC: nama tabel BigQuery sumber Anda.
  • MONGO_DB_URI: URI MongoDB Anda.
  • DATABASE: database MongoDB Anda.
  • COLLECTION: koleksi MongoDB Anda.

Langkah selanjutnya