All Products
Search
Document Center

DataWorks:Tulis data ke MongoDB dengan tugas batch

Last Updated:Jun 21, 2026

Plugin MongoDB Writer di DataWorks Data Integration menyinkronkan data dari sumber data lain ke MongoDB. Topik ini menjelaskan cara melakukan sinkronisasi batch dari MaxCompute ke MongoDB.

Prasyarat

Sebelum memulai, pastikan Anda telah memenuhi persyaratan berikut:

  • DataWorks telah diaktifkan dan Anda telah menambahkan sumber data MaxCompute.

  • Tutorial ini menggunakan grup sumber daya eksklusif untuk Data Integration guna menjalankan tugas batch. Anda harus membeli dan mengonfigurasi grup sumber daya tersebut sebelum melanjutkan. Untuk informasi selengkapnya, lihat Gunakan grup sumber daya eksklusif untuk Data Integration.

    Catatan

    Anda juga dapat menggunakan grup sumber daya serverless. Untuk informasi selengkapnya, lihat Gunakan grup sumber daya serverless.

Siapkan data sampel

Siapkan koleksi MongoDB dan tabel MaxCompute untuk sinkronisasi batch.

  1. Buat tabel MaxCompute dan tambahkan data ke dalamnya.

    1. Buat tabel partisi bernama test_write_mongo. Tetapkan bidang partisi ke pt.

      CREATE TABLE IF NOT EXISTS test_write_mongo(
          id STRING ,
          col_string STRING,
          col_int int,
          col_bigint bigint,
          col_decimal decimal,
          col_date DATETIME,
          col_boolean boolean,
          col_array string
      ) PARTITIONED BY (pt STRING) LIFECYCLE 10;
    2. Tambahkan partisi dengan nilai 20230215.

      insert into test_write_mongo partition (pt='20230215')
      values ('11','name11',1,111,1.22,cast('2023-02-15 15:01:01' as datetime),true,'1,2,3');
    3. Verifikasi bahwa tabel partisi telah dibuat dengan benar.

      SELECT * FROM test_write_mongo
      WHERE pt='20230215';
  2. Siapkan koleksi MongoDB tujuan.

    Tutorial ini menggunakan ApsaraDB for MongoDB sebagai contoh. Buat koleksi bernama test_write_mongo.

    db.createCollection('test_write_mongo')

Konfigurasi tugas batch

Langkah 1: Tambahkan sumber data MongoDB

Tambahkan sumber data MongoDB dan buat koneksi jaringan antara sumber data tersebut dengan grup sumber daya eksklusif untuk Data Integration. Untuk informasi selengkapnya, lihat Konfigurasi sumber data MongoDB.

Langkah 2: Buat dan konfigurasi node sinkronisasi batch

Di DataStudio DataWorks, buat node sinkronisasi batch dan konfigurasikan sumber serta tujuannya. Bagian ini hanya menjelaskan parameter utama; biarkan parameter lain pada nilai default-nya. Untuk petunjuk lengkap, lihat Konfigurasi tugas di Antarmuka tanpa kode.

  1. Konfigurasi koneksi jaringan untuk sinkronisasi.

    Pilih sumber data MongoDB, sumber data MaxCompute, dan grup sumber daya eksklusif untuk Data Integration. Kemudian, uji konektivitasnya.

  2. Konfigurasi sumber dan tujuan.

    Pilih tabel partisi MaxCompute dan koleksi MongoDB. Tabel berikut menjelaskan parameter utama.

    Parameter

    Deskripsi

    write mode

    Menentukan apakah akan menimpa data yang sudah ada. Fungsionalitas ini melibatkan dua pengaturan terkait: write mode dan business primary key:

    • write mode:

      • Jika Anda memilih No, plugin akan memasukkan setiap record sebagai dokumen baru. Ini adalah opsi default.

      • Jika Anda memilih Yes, Anda harus menentukan business primary key. Plugin kemudian akan menimpa record yang memiliki business primary key yang sama.

    • business primary key: Menentukan business primary key untuk setiap record, yang digunakan dalam operasi penimpaan. Anda hanya dapat menentukan satu bidang. Di MongoDB, ini biasanya bersesuaian dengan bidang _id.

    Catatan

    Jika write mode diatur ke Yes dan Anda menentukan bidang selain _id sebagai business primary key, error seperti berikut mungkin terjadi: After applying the update, the (immutable) field '_id' was found to have been altered to _id: "2". Error ini terjadi karena data masuk berisi record yang _id-nya tidak sesuai dengan _id dokumen yang sudah ada yang diidentifikasi oleh business primary key. Untuk informasi selengkapnya, lihat Error: After applying the update, the (immutable) field '_id' was found to have been altered to _id: "2".

    Pre-Import Statement

    Menentukan prasyarat (PreSQL) yang dijalankan sebelum tugas impor. Konfigurasi harus dalam format JSON dan mencakup properti type dan json.

    • type: Wajib diisi. Nilai yang valid adalah remove dan drop (dalam huruf kecil).

    • json:

      • Jika type diatur ke remove, parameter ini wajib diisi. Nilainya harus berupa kueri MongoDB standar. Untuk informasi selengkapnya, lihat Query Documents.

      • Jika type diatur ke drop, parameter ini tidak diperlukan.

  3. Konfigurasi pemetaan bidang.

    Saat sumber data adalah MongoDB, Peer mapping digunakan secara default. Anda juga dapat mengklik ikon icon untuk mengedit bidang tabel sumber secara manual. Berikut adalah contoh pengeditan manual.

    {"name":"id","type":"string"}
    {"name":"col_string","type":"string"}
    {"name":"col_int","type":"long"}
    {"name":"col_bigint","type":"long"}
    {"name":"col_decimal","type":"double"}
    {"name":"col_date","type":"date"}
    {"name":"col_boolean","type":"bool"}
    {"name":"col_array","type":"array","splitter":","}

    Setelah Anda mengedit bidang secara manual, antarmuka akan menampilkan pemetaan antara bidang sumber dan tujuan.

    Bidang sumber

    Bidang tujuan

    id

    {"name":"id","type":"string"}

    col_string

    {"name":"col_string","type":"string"}

    col_int

    {"name":"col_int","type":"long"}

    col_bigint

    {"name":"col_bigint","type":"long"}

    col_decimal

    {"name":"col_decimal","type":"double"}

    col_date

    {"name":"col_date","type":"date"}

    col_boolean

    {"name":"col_boolean","type":"bool"}

    col_array

    {"name":"col_array","type":"array","splitter":","}

Langkah 3: Commit dan deploy node sinkronisasi batch

Untuk menjalankan tugas ini secara berkala di ruang kerja mode standar, Anda harus melakukan commit dan deploy node sinkronisasi batch ke lingkungan produksi. Untuk informasi selengkapnya, lihat penerapan node.

Langkah 4: Jalankan node sinkronisasi batch dan lihat hasilnya

Setelah Anda mengonfigurasi node, jalankan node tersebut. Saat tugas selesai, lihat data yang telah disinkronkan di koleksi MongoDB. Tugas ini membuat dokumen di database tujuan dengan bidang dan nilai berikut: _id adalah 63ecc513143e565c9b037623, col_array adalah [1, 2, 3], col_bigint adalah 111, col_boolean adalah true, col_date adalah 2023-02-15T07:01:01.000Z, col_decimal adalah 1.22, col_int adalah 1, col_string adalah name11, dan id adalah 11.

Lampiran: Konversi tipe data

Nilai yang didukung untuk parameter type

Nilai yang didukung untuk parameter type adalah: INT, LONG, DOUBLE, STRING, BOOL, DATE, dan ARRAY.

Tipe array

Untuk menulis data sebagai array MongoDB, atur parameter type ke ARRAY dan konfigurasi properti splitter. Contohnya:

  • Data sumber adalah string: a,b,c.

  • Dalam konfigurasi tugas, type diatur ke ARRAY dan splitter diatur ke ,.

  • Setelah tugas dijalankan, data yang dihasilkan di MongoDB adalah: ["a","b","c"].