Data Integration de DataWorks utiliza MetaQ Reader para leer datos de Message Queue (MQ). Este tema describe las capacidades de lectura de datos de MetaQ en DataWorks.
Versiones compatibles
MetaQ Reader se suscribe a los mensajes en tiempo real de MetaQ mediante el SDK de Java de Message Queue. Las versiones del SDK de Java son a continuación:
<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>
Límites
Actualmente, los datos de MQ solo se pueden leer con el complemento MetaQ Reader en modo script.
MetaQ Reader es compatible con Serverless resource groups (recommended) y exclusive Data Integration resource groups.
Tipos de campo compatibles
A continuación se muestran los tipos de campo compatibles.
|
Tipo de campo |
Lectura sin conexión (MetaQ Reader) |
|
STRING |
Compatible |
MetaQ Reader asigna los tipos de MetaQ de la siguiente manera.
|
Tipo de dato de Data Integration |
Tipo de dato de Message Queue |
|
STRING |
STRING |
Desarrollo de una tarea de sincronización de datos
Para conocer el punto de entrada y el procedimiento de configuración de una tarea de sincronización, consulte las siguientes guías de configuración.
Para consultar el procedimiento, consulte Script mode configuration.
Para revisar todos los parámetros y un script de ejemplo en modo script, consulte Appendix: MetaQ sample script and parameter descriptions.
Apéndice: script de ejemplo de MetaQ y descripción de parámetros
Configuración de una tarea de sincronización por lotes mediante el editor de código
Si desea configurar una tarea de sincronización por lotes mediante el editor de código, debe especificar los parámetros correspondientes en el script según los requisitos unificados de formato. Para obtener más información, consulte Script mode configuration. A continuación se describen los parámetros que debe configurar para los orígenes de datos cuando utilice el editor de código.
Script de ejemplo del reader
{
"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
}
}
}
]
}
}
Parámetros del script del reader
Parámetro | Descripción | Obligatorio |
accessId | Información de la clave de acceso de Message Queue que se usa para la autenticación. | Sí |
accessKey | Sí | |
consumerId | Un consumidor, también llamado suscriptor de mensajes, recibe y procesa los mensajes. consumerIdIdentificador de una clase de consumidores. Los consumidores con el mismo identificador suelen recibir y procesar el mismo tipo de mensajes mediante la misma lógica de procesamiento. | Sí |
topicName | Tema del mensaje, que representa la categoría principal. Los mensajes se clasifican por tema. | Sí |
subExpression | Subtema del mensaje. | Sí |
onsChannel | Se usa para la autenticación con Message Queue. | Sí |
unitName | Unidad de destino que recibe los mensajes. Entre las unidades comunes se incluyen:
| No |
instanceName | Nombre de la instancia del consumidor. | No |
domainName | Endpoint de Message Queue. | Sí |
contentType | Tipo de mensaje. Los valores compatibles son singlestringcolumn (mensaje STRING), text (mensaje de texto) y json (mensaje JSON). | Sí |
beginOffset | Desplazamiento desde el cual la tarea comienza a leer. Los valores compatibles son begin (desde el inicio) y lastRead (desde el último desplazamiento leído). | No |
nullCurrentOffset | Punto de inicio de lectura cuando el desplazamiento anterior está vacío. Los valores compatibles son begin (desde el inicio) y current (desde el desplazamiento actual). | Sí |
fieldDelimiter | Delimitador de columnas para las cadenas de mensajes en modo delimitador, como una coma. Se admiten caracteres de control; por ejemplo, \u0001. | Sí |
column | Lista de campos por leer. | Sí |
beginDateTime | Hora de inicio del consumo de datos, que corresponde al límite inferior inclusivo del intervalo de tiempo. beginDateTime es una cadena de marca de tiempo con formato yyyyMMddHHmmss y se puede usar junto con los parámetros de tiempo de programación de DataWorks. | No Nota beginDateTime y endDateTime se usan de forma conjunta. |
endDateTime | Hora de finalización del consumo de datos, que corresponde al límite superior exclusivo del intervalo de tiempo. endDateTime es una cadena de marca de tiempo con formato yyyyMMddHHmmss y se puede usar junto con los parámetros de tiempo de programación de DataWorks. |