El origen de datos KingbaseES permite la sincronización bidireccional de datos entre KingbaseES y DataWorks Data Integration. Úselo para leer datos de KingbaseES hacia su pipeline o para escribir datos procesados de vuelta en KingbaseES.
Límites
Grupos de recursos compatibles: únicamente Serverless resource groups (recommended) y exclusive resource groups for Data Integration.
Permiso obligatorio: La tarea de sincronización requiere permisos de
insert/replace into. Utilice los parámetrospreSqlypostSqlpara determinar si se necesitan permisos adicionales.
Tipos de campo compatibles
La siguiente tabla enumera los tipos de datos que admite KingbaseES Reader. Los tipos de campo no listados no son compatibles.
|
Categoría |
Tipos de datos |
Notas |
|
Entero |
INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT |
|
|
Punto flotante |
FLOAT, DOUBLE, DECIMAL |
|
|
Cadena |
VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT |
|
|
Fecha y hora |
DATE, DATETIME, TIMESTAMP, TIME, YEAR |
|
|
Booleano |
BIT, BOOL |
|
|
Binario |
TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY |
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización, agregue el origen de datos KingbaseES en DataWorks. Para obtener instrucciones, consulte Gestión de orígenes de datos. Las descripciones de los parámetros están disponibles en la consola de DataWorks cuando agrega el origen de datos.
Desarrollar una tarea de sincronización
Configurar una tarea de sincronización sin conexión para una sola tabla
Utilice cualquiera de los siguientes métodos para configurar una tarea de sincronización sin conexión:
Interfaz sin código: Configure a task in the codeless UI
Editor de código: Configure a task in the code editor
Para consultar todos los parámetros y un script de ejemplo para el editor de código, consulte Appendix: Script demo and parameter descriptions.
Apéndice: Script de demostración y descripciones de parámetros
Para configurar una tarea de sincronización por lotes mediante el editor de código, establezca los parámetros obligatorios en el script siguiendo el formato unificado de scripts. Para más información, consulte Configure a task in the code editor.
Script de demostración del lector
Base de datos única y tabla única
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "kingbasees",
"parameter": {
"column": [
"id"
],
"connection": [
{
"querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
"datasource": "",
"table": [
"xxx"
]
}
],
"where": "",
"splitPk": "",
"encoding": "UTF-8"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Bases de datos y tablas fragmentadas
Al utilizar tablas fragmentadas, todas las tablas KingbaseES seleccionadas deben tener el mismo esquema.
{
"type": "job",
"version": "1.0",
"configuration": {
"reader": {
"plugin": "kingbasees",
"parameter": {
"connection": [
{
"table": ["tbl1", "tbl2", "tbl3"],
"datasource": "datasourceName1"
},
{
"table": ["tbl4", "tbl5", "tbl6"],
"datasource": "datasourceName2"
}
],
"singleOrMulti": "multi",
"splitPk": "db_id",
"column": ["id", "name", "age"],
"where": "1 < id and id < 100"
}
},
"writer": {}
}
}
Parámetros del lector
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
|
El nombre de usuario para conectarse a KingbaseES. |
No |
Ninguna |
|
|
La contraseña para conectarse a KingbaseES. |
No |
Ninguna |
|
|
Los campos que se van a sincronizar. Utilice |
No |
Ninguna |
|
|
El nombre de la tabla que se va a sincronizar. Utilice el formato de matriz incluso para una sola tabla: |
No |
Ninguna |
|
|
La URL de Java Database Connectivity (JDBC) para conectarse a KingbaseES. Ejemplo: |
No |
Ninguna |
|
|
Una consulta SQL personalizada que se usa para filtrar datos. Cuando se especifica, el lector ignora |
No |
Ninguna |
|
|
Una condición de filtro aplicada a la tabla. Se ignora cuando se especifica |
No |
Ninguna |
|
|
Un campo numérico entero en la tabla KingbaseES que se utiliza como clave de división para habilitar la sincronización de alta concurrencia. Déjelo en blanco si no existe dicho campo. |
No |
Ninguna |
|
|
El formato de codificación de los datos. |
No |
|
Script de demostración del escritor
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "kingbasees",
"parameter": {
"postSql": [],
"datasource": "",
"column": ["id", "value"],
"batchSize": 1024,
"table": "",
"preSql": [
"delete from XXX;"
]
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parámetros del escritor
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
|
El nombre del origen de datos. Debe coincidir con el nombre del origen de datos agregado en DataWorks. |
Sí |
Ninguna |
|
|
El nombre de la tabla de destino. |
Sí |
Ninguna |
|
|
Los campos de la tabla de destino donde se escribirán los datos. Separe varios campos con comas. Ejemplo: |
Sí |
Ninguna |
|
|
Sentencia SQL que se ejecuta antes de que inicie la tarea de sincronización. Utilícela para preparar la tabla de destino; por ejemplo: |
No |
Ninguna |
|
|
Sentencia SQL que se ejecuta después de que finaliza la tarea de sincronización. Por ejemplo: |
No |
Ninguna |
|
|
El número de registros que se envían en un solo lote. Valores mayores reducen los ciclos de red y mejoran el rendimiento, pero valores excesivamente grandes pueden provocar errores de falta de memoria (OOM). |
No |
|