全部产品
Search
文档中心

DataWorks:Sumber data OpenSearch

更新时间:Nov 10, 2025

Anda dapat menggunakan plugin OpenSearch Writer di Data Integration DataWorks untuk menulis data ke OpenSearch. Topik ini menjelaskan cara menulis data ke OpenSearch dalam mode offline.

Versi yang didukung

  • Versi 3 menggunakan paket pihak ketiga. Dependensi pom-nya adalah com.aliyun.opensearch:aliyun-sdk-opensearch:2.1.3.

  • Untuk menggunakan plugin OpenSearch Writer, Anda harus memiliki JDK 1.6-32 atau versi yang lebih baru. Anda dapat menjalankan perintah java -version untuk memeriksa versi Java Anda.

  • Edisi komersial Alibaba Cloud OpenSearch berikut ini didukung: Edisi Algoritma Industri, Edisi Obrolan AI berbasis LLM, Edisi Pencarian Berkinerja Tinggi, Edisi Pencarian Vektor, dan Edisi Mesin Pengambilan Informasi.

Batasan

  • OpenSearch Writer mendukung kelompok sumber daya arsitektur tanpa server (disarankan) dan kelompok sumber daya eksklusif untuk Data Integration, tetapi tidak mendukung resource kustom.

  • Kolom dalam OpenSearch tidak berurutan. Oleh karena itu, OpenSearch Writer mengharuskan Anda menentukan urutan kolom saat menulis data. Jika jumlah kolom yang ditentukan lebih sedikit daripada jumlah kolom dalam tabel OpenSearch tujuan, kolom yang tidak ditentukan akan diatur ke nilai default atau null.

    Misalnya, jika sebuah tabel OpenSearch berisi kolom a, b, dan c, dan Anda ingin mengimpor data ke kolom b dan c, Anda dapat mengatur parameter "column":["c","b"]. Konfigurasi ini mengimpor kolom pertama dan kedua dari pembaca ke kolom c dan b pada tabel OpenSearch, masing-masing. Kolom a diatur ke nilai default atau null.

  • Anda hanya dapat menulis data offline ke OpenSearch dalam mode editor kode.

Tipe bidang yang didukung

OpenSearch Writer mendukung sebagian besar tipe data OpenSearch. Tabel berikut mencantumkan pemetaan tipe data yang didukung.

Kategori

Tipe data OpenSearch

Bilangan bulat

INT

Bilangan pecahan

DOUBLE dan FLOAT

String

TEXT, LITERAL, dan SHORT_TEXT

Tanggal dan waktu

INT

Boolean

LITERAL

Kembangkan tugas sinkronisasi data

Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.

Pertanyaan Umum

Menangani kesalahan konfigurasi kolom

Untuk memastikan keandalan data, OpenSearch Writer memvalidasi jumlah kolom. Writer melaporkan kesalahan jika Anda mencoba menulis lebih banyak kolom daripada yang ada di tabel tujuan. Misalnya, jika sebuah tabel OpenSearch memiliki kolom a, b, dan c, OpenSearch Writer akan melaporkan kesalahan jika Anda mencoba menulis lebih dari tiga kolom.

Catatan tentang konfigurasi tabel

OpenSearch Writer hanya dapat menulis data ke satu tabel dalam satu waktu.

Pengulangan tugas dan failover

Ketika suatu tugas dijalankan ulang, data yang sudah ada akan ditimpa berdasarkan ID dokumen. Oleh karena itu, kolom yang Anda tulis ke OpenSearch harus menyertakan kolom ID, yang berfungsi sebagai pengidentifikasi unik untuk suatu baris. Data dengan ID yang cocok akan ditimpa.

Lampiran: Contoh kode dan parameter

Konfigurasi tugas sinkronisasi batch menggunakan editor kode

Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasi tugas di editor kode. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Contoh kode untuk Writer (Edisi Algoritma Industri, Edisi Obrolan AI berbasis LLM, dan Edisi Pencarian Berkinerja Tinggi)

{
    "type": "job",
    "version": "1.0",
    "configuration": {
        "reader": {},
        "writer": {
            "plugin": "opensearch",
            "parameter": {
                "accessId": "*********",
                "accessKey": "********",
                "host": "http://yyyy.aliyuncs.com",
                "endpoint":"http://yyyy.aliyuncs.com",
                "indexName": "datax_xxx",
                "table": "datax_yyy",
                "column": [
                "appkey",
                "id",
                "title",
                "gmt_create",
                "pic_default"
                ],
                "batchSize": 500,
                "writeMode": add,
                "version":"v2",
                "ignoreWriteError": false
            }
        }
    }
}

Parameter untuk Writer (Edisi Algoritma Industri, Edisi Obrolan AI berbasis LLM, dan Edisi Pencarian Berkinerja Tinggi)

Parameter

Deskripsi

Wajib

Nilai default

accessId

ID AccessKey dari Pasangan Kunci Akses Anda.

Ya

T/A

accessKey

Rahasia AccessKey dari Pasangan Kunci Akses Anda. Digunakan sebagai kata sandi logon.

Ya

T/A

host

Nama domain lalu lintas OpenSearch. Anda dapat masuk ke Konsol OpenSearch dan membuka halaman detail instans untuk mendapatkan nama domain tersebut.

Ya

T/A

endpoint

Endpoint kontrol OpenSearch. Anda dapat memperoleh endpoint dari situs web resmi edisi OpenSearch yang sesuai. Misalnya, untuk Edisi Algoritma Industri, lihat Titik akhir layanan.

Ya

T/A

indexName

Nama proyek OpenSearch.

Ya

T/A

table

Nama tabel tujuan. Anda hanya dapat menentukan satu tabel karena DataX tidak mendukung penulisan data ke beberapa tabel secara bersamaan.

Ya

T/A

column

Kolom yang ingin Anda tulis datanya. Untuk menulis data ke semua kolom, atur parameter ini menjadi "column":["*"]. Untuk menulis data ke kolom tertentu, tentukan nama kolomnya, seperti "column":["id","name"].

OpenSearch mendukung penyaringan dan pengubahan urutan kolom. Misalnya, sebuah tabel memiliki kolom a, b, dan c. Jika Anda hanya ingin menyinkronkan data ke kolom c dan b, Anda dapat mengatur parameter ini menjadi ["c","b"]. Selama impor, kolom a secara otomatis diatur ke null.

Ya

T/A

batchSize

Jumlah catatan data yang ditulis dalam setiap batch. OpenSearch melakukan penulisan batch. Kekuatan utama OpenSearch terletak pada kueri, dan transaksi penulisan per detik (TPS)-nya tidak tinggi. Atur parameter ini berdasarkan sumber daya yang dialokasikan ke akun Anda.

Umumnya, satu catatan data berukuran kurang dari 1 MB, dan satu penulisan batch berukuran kurang dari 2 MB.

Parameter ini wajib untuk tabel partisi. Jangan tentukan parameter ini untuk tabel non-partisi.

300

writeMode

Mode penulisan. Konfigurasikan "writeMode":"add/update" untuk memastikan idempotensi penulisan:

  • "add": Ketika terjadi kegagalan penulisan dan tugas dijalankan ulang, OpenSearch Writer menghapus data dan mengimpor data baru. Ini merupakan operasi atomik.

  • "update": Data dimasukkan sebagai pembaruan. Ini merupakan operasi atomik.

    Catatan

    Operasi penyisipan batch di OpenSearch bukanlah operasi atomik. Beberapa catatan mungkin berhasil disisipkan sementara yang lain gagal. Pemilihan parameter writeMode sangat penting. Operasi pembaruan tidak didukung di Versi 3.

Ya

T/A

ignoreWriteError

Anda dapat mengabaikan Titik kegagalan penulisan.

Contoh: "ignoreWriteError":true. OpenSearch melakukan penulisan batch. Parameter ini menentukan apakah akan mengabaikan kegagalan penulisan untuk batch saat ini. Jika Anda mengabaikan kegagalan tersebut, operasi penulisan lainnya akan dilanjutkan. Jika Anda tidak mengabaikan kegagalan tersebut, tugas saat ini akan berhenti dan mengembalikan kesalahan. Kami menyarankan Anda menggunakan nilai default.

Tidak

false

version

Versi OpenSearch, seperti "version":"v3". Kami menyarankan Anda menggunakan Versi 3 karena operasi dorong memiliki banyak batasan di Versi 2.

Tidak

v2

Contoh kode untuk Writer (Edisi Pencarian Vektor dan Edisi Mesin Pengambilan Informasi)

{
  "stepType": "opensearch",
  "parameter": {
    "indexName": "",
    "column": [
      {
        "name": "col3double",
        "type": "DOUBLE"
      },
      {
        "name": "col2vector",
        "type": "MULTI_FLOAT"
      }
    ],
    "datasource": "zm_test_vector_01",
    "batchSize": "500",
    "table": "demotable"
  },
  "name": "Writer",
  "category": "writer"
}

Parameter untuk Writer (Edisi Pencarian Vektor dan Edisi Mesin Pengambilan Informasi)

Parameter

Deskripsi

Wajib

Nilai default

table

Nama tabel tujuan. Anda hanya dapat menentukan satu tabel karena DataX tidak mendukung penulisan data ke beberapa tabel secara bersamaan.

Ya

T/A

column

Kolom yang ingin Anda tulis datanya. Untuk menulis data ke semua kolom, atur parameter ini menjadi "column":["*"]. Untuk menulis data ke kolom tertentu, tentukan nama kolomnya, seperti "column":["id","name"].

OpenSearch mendukung penyaringan dan pengubahan urutan kolom. Misalnya, sebuah tabel memiliki kolom a, b, dan c. Jika Anda hanya ingin menyinkronkan data ke kolom c dan b, Anda dapat mengatur parameter ini menjadi ["c","b"]. Selama impor, kolom a secara otomatis diatur ke null.

Ya

T/A

batchSize

Jumlah catatan data yang ditulis dalam setiap batch. OpenSearch melakukan penulisan batch. Kekuatan utama OpenSearch terletak pada kueri, dan transaksi penulisan per detik (TPS)-nya tidak tinggi. Atur parameter ini berdasarkan sumber daya yang dialokasikan ke akun Anda.

Umumnya, satu catatan data berukuran kurang dari 1 MB, dan satu penulisan batch berukuran kurang dari 2 MB.

Parameter ini wajib untuk tabel partisi. Jangan tentukan parameter ini untuk tabel non-partisi.

300