Template BigQuery ke MongoDB

Template BigQuery ke MongoDB adalah pipeline batch yang membaca baris dari BigQuery dan menuliskannya 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 dalam database MongoDB. Contoh, my-collection.
  • inputTableSpec: Tabel BigQuery yang akan dibaca. Contoh, bigquery-project:dataset.input_table.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Create job from template.
  2. Buka Membuat 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 default-nya adalah us-central1.

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

  5. Dari menu drop-down Template Dataflow, 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 Anda, 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 Google Cloud project 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 HTTP POST. 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 Google Cloud project 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 berikutnya