DataWorks Data Integration, Message Queue (MQ) üzerinden veri okumak için MetaQ Reader'ı kullanabilir. Bu konu, DataWorks'ün MetaQ veri okuma yeteneklerini açıklar.
Desteklenen sürümler
MetaQ Reader, Message Queue Java SDK'yı kullanarak MetaQ'daki gerçek zamanlı mesajlara abone olur. Java SDK sürümleri aşağıdadır:
<dependency>
<groupId>com.taobao.metaq.final</groupId>
<artifactId>metaq-client</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>ons-sdk</artifactId>
<version>1.3.1</version>
</dependency>
Sınırlamalar
Şu anda MQ verileri yalnızca betik modundaki MetaQ Reader eklentisi ile okunabilir.
MetaQ Reader, Serverless kaynak gruplarını (önerilen) ve özel Data Integration kaynak gruplarını destekler.
Desteklenen alan türleri
Aşağıdaki alan türleri desteklenir.
|
|
|
|
|
|
MetaQ Reader, MetaQ türlerini aşağıdaki gibi eşler.
|
|
|
|
|
|
Veri senkronizasyon görevi geliştirme
Senkronizasyon görevini yapılandırmaya ilişkin giriş noktası ve yordam hakkında bilgi için aşağıdaki yapılandırma kılavuzlarına bakın.
Yordam için bkz. Betik modu yapılandırması.
Betik modundaki tüm parametreler ve örnek bir betik için bkz. Ek: MetaQ örnek betiği ve parametre açıklamaları.
Ek: MetaQ örnek betiği ve parametre açıklamaları
Kod düzenleyici kullanarak toplu iş senkronizasyon görevini yapılandırma
Kod düzenleyiciyi kullanarak bir toplu iş senkronizasyon görevini yapılandırmak istiyorsanız betikteki ilgili parametreleri birleşik betik formatı gereksinimlerine göre yapılandırmanız gerekir. Daha fazla bilgi için bkz. Betik modu yapılandırması. Aşağıda, kod düzenleyiciyi kullanarak bir toplu iş senkronizasyon görevini yapılandırırken veri kaynakları için ayarlamanız gereken parametreler açıklanmaktadır.
Örnek okuyucu betiği
{
"job": {
"content": [
{
"reader": {
"name": "metaqreader",
"parameter": {
"accessId": "<yourAccessKeyId>",
"accessKey": "<yourAccessKeySecret>",
"consumerId": "Test01",
"topicName": "test",
"subExpression": "*",
"onsChannel": "ALIYUN",
"domainName": "***.aliyun.com",
"contentType": "singlestringcolumn",
"beginOffset": "lastRead",
"nullCurrentOffset": "begin",
"fieldDelimiter": ",",
"column": [
"col0"
],
"fieldDelimiter": ","
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"print": false
}
}
}
]
}
}
Okuyucu betiği parametreleri
Parametre | Açıklama | Gerekli |
accessId | Kimlik doğrulama için kullanılan Message Queue erişim anahtarı bilgileri. | Evet |
accessKey | Evet | |
consumerId | Tüketici (mesaj abonesi olarak da adlandırılır), mesajları alır ve işler. consumerIdBir tüketici sınıfı için tanımlayıcıdır. Aynı tanımlayıcıya sahip tüketiciler genellikle aynı işleme mantığını kullanarak aynı türdeki mesajları alır ve işler. | Evet |
topicName | Mesaj konusu; temel mesaj kategorisidir. Mesajlar konuya göre sınıflandırılır. | Evet |
subExpression | Mesaj alt konusu. | Evet |
onsChannel | Message Queue ile kimlik doğrulama yapmak için kullanılır. | Evet |
unitName | Mesajları alan hedef birim. Yaygın birimler şunlardır:
| Hayır |
instanceName | Tüketici örnek adı. | Hayır |
domainName | Message Queue uç noktası. | Evet |
contentType | Mesaj türü. Desteklenen değerler singlestringcolumn (bir STRING mesajı), text (bir metin mesajı) ve json (bir JSON mesajı) şeklindedir. | Evet |
beginOffset | Görevin okumaya başladığı ofset. Desteklenen değerler begin (baştan itibaren) ve lastRead (son okunan ofsetten itibaren) şeklindedir. | Hayır |
nullCurrentOffset | Önceki ofset boş olduğunda okumanın nereden başlayacağı. Desteklenen değerler begin (baştan itibaren) ve current (geçerli ofsetten itibaren) şeklindedir. | Evet |
fieldDelimiter | Sınırlayıcı modundaki mesaj dizeleri için sütun sınırlayıcısı (örneğin virgül). Kontrol karakterleri desteklenir, örneğin \u0001. | Evet |
column | Okunacak alanların listesi. | Evet |
beginDateTime | Veri tüketimi için başlangıç zamanı; zaman aralığının dahil edilen alt sınırıdır. beginDateTime, bir yyyyMMddHHmmss zaman damgası dizesidir ve DataWorks zamanlama zamanı parametreleriyle birlikte kullanılabilir. | Hayır Not beginDateTime ve endDateTime birlikte kullanılır. |
endDateTime | Veri tüketimi için bitiş zamanı; zaman aralığının hariç tutulan üst sınırıdır. endDateTime, bir yyyyMMddHHmmss zaman damgası dizesidir ve DataWorks zamanlama zamanı parametreleriyle birlikte kullanılabilir. |