Data Integration de DataWorks prend en charge la lecture des données depuis Message Queue (MQ) à l'aide du connecteur MetaQ. Cette rubrique décrit les capacités de lecture des données MetaQ offertes par DataWorks.
Versions prises en charge
Le connecteur MetaQ s'abonne aux données de messages en temps réel dans MetaQ via le SDK Java du service Message Queue. Voici les versions du SDK Java utilisées.
<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>
Limites
Vous ne pouvez lire les données MQ via le plug-in Lecteur MetaQ qu'en mode script.
Le connecteur MetaQ prend en charge les groupes de ressources serverless (recommandés) et les groupes de ressources exclusifs pour Data Integration.
Types de colonne pris en charge
Voici les types de colonne pris en charge.
|**Type de colonne**
|
**Lecture par lots (connecteur MetaQ)**
| | --- | --- | |
STRING
|
Pris en charge
|
Voici le mappage de type utilisé par le connecteur MetaQ pour les types MetaQ.
|**Type de données Data Integration**
|
**Type de données Message Queue**
| | --- | --- | |
STRING
|
STRING
|
Développement d'une tâche de synchronisation des données
Pour obtenir des informations sur le point d'entrée et la procédure de configuration d'une tâche de synchronisation, consultez les guides de configuration suivants.
Pour la procédure, consultez Configuration en mode script.
Pour tous les paramètres et les exemples de scripts relatifs à la configuration en mode script, consultez Annexe : Exemples de scripts MetaQ et description des paramètres ci-dessous.
Annexe : Exemple de script MetaQ et description des paramètres
Configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code
Pour configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code, définissez les paramètres associés dans le script selon les exigences de format de script unifié. Pour plus d'informations, consultez Configuration en mode script. Les informations suivantes décrivent les paramètres que vous devez configurer pour les sources de données lors de la configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Exemple de script pour le lecteur
{
"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
}
}
}
]
}
}
Paramètres du script du lecteur
|
Paramètre |
Description |
Obligatoire |
|
accessId |
Les informations de clé d'accès de MQ, utilisées pour l'authentification. |
Oui |
|
accessKey |
Oui |
|
|
consumerId |
Un consommateur est un abonné aux messages qui reçoit et consomme les messages. consumerId est l'identifiant d'un groupe de consommateurs. Les consommateurs d'un même groupe reçoivent et consomment généralement le même type de messages avec la même logique de consommation. |
Oui |
|
topicName |
La rubrique de message, qui constitue le premier niveau de classification des messages. |
Oui |
|
subExpression |
La sous-rubrique du message. |
Oui |
|
onsChannel |
Utilisé pour l'authentification Message Queue. |
Oui |
|
unitName |
L'unité cible pour la réception des messages. Voici les unités courantes :
|
Non |
|
instanceName |
Le nom de l'instance du consommateur. |
Non |
|
domainName |
L'endpoint du service Message Queue. |
Oui |
|
contentType |
Le type de message. Valeurs valides : singlestringcolumn (type STRING), text (type texte) et json (type JSON). |
Oui |
|
beginOffset |
Le décalage à partir duquel la tâche commence la lecture. Valeurs valides : begin (à partir du début) et lastRead (décalage de la dernière lecture). |
Non |
|
nullCurrentOffset |
La position à partir de laquelle commencer la lecture lorsque le dernier décalage est vide. Valeurs valides : begin (à partir du début) et current (décalage actuel). |
Oui |
|
fieldDelimiter |
Le délimiteur de colonne pour les chaînes de messages en mode délimiteur, comme les virgules. Les caractères de contrôle sont pris en charge, tels que \u0001. |
Oui |
|
column |
La liste des colonnes à lire. |
Oui |
|
beginDateTime |
L'heure de début de la consommation des données, qui correspond à la limite gauche de la plage horaire (fermée à gauche, ouverte à droite). beginDateTime est une chaîne de temps au format yyyyMMddHHmmss, qui peut être utilisée avec les paramètres de planification de DataWorks. |
Non Remarque
beginDateTime et endDateTime sont utilisés conjointement. |
|
endDateTime |
L'heure de fin de la consommation des données, qui correspond à la limite droite de la plage horaire (fermée à gauche, ouverte à droite). endDateTime est une chaîne de temps au format yyyyMMddHHmmss, qui peut être utilisée avec les paramètres de planification de DataWorks. |