Tüm Ürünler
Search
Belge Merkezi

DataWorks:OpenSearch veri kaynağı

Son Güncelleme:Oct 09, 2026

DataWorks Data Integration, OpenSearch Writer kullanarak verileri OpenSearch'e yazmayı destekler. Bu konu, verilerin DataWorks'ten OpenSearch'e nasıl çevrimdışı olarak yazılacağını açıklar.

Desteklenen sürümler

  • V3, Maven bağımlılığı com.aliyun.opensearch:aliyun-sdk-opensearch:2.1.3 ile üçüncü taraf bir paket kullanır.

  • OpenSearch Writer eklentisini kullanmak için JDK 1.6-32 veya sonraki bir sürüm gerekir. Java sürümünü kontrol etmek için java -version komutunu çalıştırın.

  • Desteklenen Alibaba Cloud OpenSearch ticari sürümleri şunlardır: Industry Algorithm Edition, LLM Intelligent Q&A Edition, High-performance Search Edition, Vector Search Edition ve Retrieval Engine Edition.

Sınırlamalar

  • OpenSearch Writer, Serverless resource groups (recommended) ve exclusive resource groups for Data Integration kaynak gruplarını destekler ancak custom resource groups kaynak gruplarını desteklemez.

  • OpenSearch sütunları sırasızdır. Bu nedenle OpenSearch Writer, veri yazarken belirtilen sütun sırasını takip eder. OpenSearch'te bulunanlardan daha az sütun belirtirseniz kalan sütunlar varsayılan değerlerini veya null değerini alır.

    Örneğin, içe aktarılacak alanların b ve c olduğunu, OpenSearch tablosunda ise a, b ve c sütunlarının bulunduğunu varsayalım. Sütunları "column":["c","b"] olarak yapılandırabilirsiniz. Böylece ilk ve ikinci Reader sütunları sırasıyla c ve b alanlarına aktarılır; yeni eklenen kayıtta yer alan a alanı ise varsayılan değerine veya null değerine ayarlanır.

  • Şu anda OpenSearch'e yalnızca script mode içinde çevrimdışı veri yazılabilir.

Desteklenen alan türleri

OpenSearch Writer, çoğu OpenSearch türünü destekler. Veri türlerinizi kontrol edin. Aşağıdaki tabloda OpenSearch tür eşlemeleri listelenmiştir.


Tür kategorisi


OpenSearch veri türü


Tamsayı


INT


Kayan nokta


DOUBLE ve FLOAT


Dize


TEXT, LITERAL ve SHORT_TEXT


Tarih ve saat


INT


Boole


LITERAL

Veri senkronizasyon görevi geliştirme

Senkronizasyon görevinin giriş noktası ve yapılandırma yordamı hakkında bilgi için aşağıdaki yapılandırma kılavuzlarına bakın.

SSS

Yanlış sütun yapılandırmalarının ele alınması

Güvenilir yazma işlemleri sağlamak ve fazla sütundan kaynaklanan veri kaybını önlemek amacıyla OpenSearch Writer, çok sayıda sütun yazıldığında hata bildirir. Örneğin, bir OpenSearch tablosunda a, b ve c alanları varsa OpenSearch Writer üçten fazla alan aldığında hata verir.

Tablo yapılandırması hususları

OpenSearch Writer aynı anda yalnızca bir tabloya yazabilir.

Görevlerin yeniden çalıştırılması ve yük devretme

Yeniden çalıştırmadan sonra aynı ID'ye sahip kayıtlar otomatik olarak üzerine yazılır. Bu nedenle OpenSearch'e eklenen sütunlar her bir kaydı benzersiz şekilde tanımlayan bir ID içermelidir. Aynı tanımlayıcıya sahip kayıtlar birbirinin üzerine yazılır.

Ek: Örnek betikler ve parametre açıklamaları

Kod düzenleyici kullanarak toplu iş senkronizasyon görevini yapılandırma

Kod düzenleyici kullanarak toplu iş senkronizasyon görevi yapılandırmak istiyorsanız ilgili parametreleri betikte birleşik betik biçimi gereksinimlerine göre yapılandırmanız gerekir. Daha fazla bilgi için bkz. Script mode configuration. Aşağıdaki bilgiler, kod düzenleyici kullanarak toplu iş senkronizasyon görevi yapılandırırken veri kaynakları için yapılandırmanız gereken parametreleri açıklar.

Örnek Writer betiği (Industry Algorithm Edition, LLM Intelligent Q&A Edition ve High-performance Search Edition)

{
    "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
            }
        }
    }
}

Writer betiği parametreleri (Industry Algorithm Edition, LLM Intelligent Q&A Edition ve High-performance Search Edition)

Parametre

Açıklama

Gerekli

Varsayılan değer

accessId

Erişim anahtar çiftinin AccessKey ID'si.

Evet

Yok

accessKey

Erişim anahtar çiftinin AccessKey Secret değeri (oturum açma parolasına eşdeğerdir).

Evet

Yok

host

OpenSearch trafik uç noktası. OpenSearch konsolundaki örnek ayrıntılar sayfasında bulunur.

Evet

Yok

endpoint

OpenSearch yönetim uç noktası. İlgili OpenSearch sürümünün belgelerinde bulunur. Örneğin, Industry Algorithm Edition için: Service endpoints.

Evet

Yok

indexName

OpenSearch uygulamasının adı.

Evet

Yok

table

Hedef tablonun adı. DataX aynı anda birden fazla tabloya içe aktarmayı desteklemediğinden birden fazla tablo belirtemezsiniz.

Evet

Yok

column

İçe aktarılacak alanların listesi. Tüm alanları içe aktarmak için "column":["*"] şeklinde yapılandırın. Yalnızca bazı OpenSearch sütunlarını içe aktarmak için bunları belirtin; örneğin: "column":["id","name"].

OpenSearch sütun filtreleme ve yeniden sıralamayı destekler. Örneğin, bir tabloda a, b ve c alanları varsa ve yalnızca c ile b alanlarına ihtiyacınız varsa ["c","b"] şeklinde yapılandırın. İçe aktarma sırasında a alanı null değeriyle doldurulur.

Evet

Yok

batchSize

Her partide yazılan kayıt sayısı. OpenSearch toplu iş yazmayı destekler ve genellikle yüksek yazma aktarım hızından ziyade sorgulama konusunda daha iyidir. Bu değeri hesabınıza ayrılan kaynaklara göre ayarlayın.

Genellikle tek bir OpenSearch kaydı 1 MB'tan küçük, toplu iş yazma işlemi ise 2 MB'tan küçüktür.

Bu seçenek bölümlendirilmiş tablolar için gereklidir ve bölümlendirilmemiş tablolar için atlanmalıdır.

300

writeMode

OpenSearch Writer, yinelemeli yazmaları sağlamak için "writeMode":"add/update" kullanır:

  • "add": Yazma işlemi başarısız olursa ve görev yeniden çalıştırılırsa OpenSearch Writer mevcut kaydı kaldırır ve yeni kaydı atomik bir işlem olarak içe aktarır.

  • "update": Kaydı atomik bir işlem olarak güncelleyerek ekler.

    Not

    OpenSearch toplu ekleme işlemleri atomik değildir: bazı kayıtlar başarılı olurken diğerleri başarısız olabilir. writeMode değerini dikkatlice seçin. V3 şu anda güncelleme işlemlerini desteklemez.

Evet

Yok

ignoreWriteError

Yazma hatalarını yoksay.

Örnek yapılandırma:"ignoreWriteError":true. Başarısız olan bir toplu iş yazmanın yoksayılıp yoksayılmayacağını belirler. Etkinleştirilirse görev diğer yazma işlemleriyle devam eder. Aksi takdirde görev durur ve hata döndürür. Varsayılan değer önerilir.

Hayır

false

version

OpenSearch sürümü; örneğin "version":"v3". V2'nin push işlemleri üzerinde daha fazla kısıtlaması bulunduğundan V3 önerilir.

Hayır

v2

Örnek Writer betiği (Vector Search Edition ve Retrieval Engine Edition)

{
  "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"
}

Writer betiği parametreleri (Vector Search Edition ve Retrieval Engine Edition)


Parametre


Açıklama


Gerekli


Varsayılan değer


table


Hedef tablonun adı. DataX aynı anda birden fazla tabloya içe aktarmayı desteklemediğinden birden fazla tablo belirtemezsiniz.


Evet


Yok


column

İçe aktarılacak alanların listesi. Tüm alanları içe aktarmak için "column":["*"] şeklinde yapılandırın. Yalnızca bazı OpenSearch sütunlarını içe aktarmak için bunları belirtin; örneğin: "column":["id","name"].

OpenSearch sütun filtreleme ve yeniden sıralamayı destekler. Örneğin, bir tabloda a, b ve c alanları varsa ve yalnızca c ile b alanlarına ihtiyacınız varsa ["c","b"] şeklinde yapılandırın. İçe aktarma sırasında a alanı null değeriyle doldurulur.


Evet


Yok


batchSize

Her partide yazılan kayıt sayısı. OpenSearch toplu iş yazmayı destekler ve genellikle yüksek yazma aktarım hızından ziyade sorgulama konusunda daha iyidir. Bu değeri hesabınıza ayrılan kaynaklara göre ayarlayın.

Genellikle tek bir OpenSearch kaydı 1 MB'tan küçük, toplu iş yazma işlemi ise 2 MB'tan küçüktür.


Bu seçenek bölümlendirilmiş tablolar için gereklidir ve bölümlendirilmemiş tablolar için atlanmalıdır.


300