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.3ile üçü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 -versionkomutunu ç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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
Yordam için bkz. Script mode configuration.
Tüm script-mode parametreleri ve örnek bir betik için bkz. Ek: Örnek betikler ve parametre açıklamaları.
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 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 | 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:
| Evet | Yok |
ignoreWriteError | Yazma hatalarını yoksay. Örnek yapılandırma: | Hayır | false |
version | OpenSearch sürümü; örneğin | 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)
|
|
|
|
|
|
|
|
|
|
|
|
İçe aktarılacak alanların listesi. Tüm alanları içe aktarmak için 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 |
|
|
|
|
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. |
|
|