Data Integration de DataWorks puede escribir datos en SelectDB mediante la sincronización sin conexión de una sola tabla o de toda la base de datos. Este tema describe la compatibilidad con la sincronización de SelectDB.
Versiones de SelectDB compatibles
SelectDB Writer utiliza MySQL Driver 5.1.47. Para conocer las capacidades del controlador, consulte Conectores de MySQL. El controlador es compatible con a continuación versiones:
Versiones estándar de SelectDB: 2.2.31 y 2.2.22.
Versiones de SelectDB de Alibaba Cloud: 2.4, 3.0 y 4.0.
Límites
No se admite la escritura de campos BITMAP, HLL (HyperLogLog) ni QUANTILE_STATE.
Tipos de campo compatibles
Para consultar el conjunto completo de tipos de campo de cada versión de SelectDB, revise la documentación de SelectDB. A continuación se utilizan los tipos de campo compatibles con SelectDB 2.2.22 como ejemplo.
|
Tipo de campo de SelectDB |
Escrituras sin conexión (SelectDB Writer) |
|
INT |
Compatible |
|
BIGINT |
Compatible |
|
LARGEINT |
Compatible |
|
SMALLINT |
Compatible |
|
TINYINT |
Compatible |
|
BOOLEAN |
Compatible |
|
DECIMAL |
Compatible |
|
DOUBLE |
Compatible |
|
FLOAT |
Compatible |
|
CHAR |
Compatible |
|
VARCHAR |
Compatible |
|
STRING |
Compatible |
|
DATE |
Compatible |
|
DATEV2 |
Compatible |
|
DATETIME |
Compatible |
|
DATETIMEV2 |
Compatible |
|
ARRAY |
Compatible |
|
JSONB |
Compatible |
|
BITMATP |
No compatible |
|
HLL (HyperLogLog) |
No compatible |
|
QUANTILE_STATE |
No compatible |
Preparativos antes de la sincronización
Antes de sincronizar datos en DataWorks, prepare el entorno de SelectDB tal como se indica aquí para que el servicio funcione correctamente al configurar y ejecutar la tarea. Los pasos de preparación son a continuación.
Paso 1: Compruebe la versión de SelectDB
Data Integration tiene requisitos específicos sobre la versión de SelectDB. Para más detalles, consulte Supported SelectDB versions. En la consola de SelectDB, compruebe si el origen cumple con estos requisitos.
Paso 2: Cree una cuenta y configure los permisos
Se recomienda crear una cuenta exclusiva de SelectDB para el acceso desde DataWorks. Si utiliza el usuario administrador predeterminado del almacén de datos de SelectDB, establezca una contraseña para dicho usuario.
Paso 3: Configure el acceso de red a SelectDB
SelectDB admite conexiones de red privada y pública, y Data Integration puede utilizar cualquiera de las dos.
Conexión privada: recomendada por su mayor ancho de banda y conectividad más estable. Primero, cree un endpoint como se describe en Configuración de red. Una vez creado el endpoint, cuando su estado cambie de Creating a Available y su estado de conexión pase de Connecting... a Connected, vincule la VPC que contiene el endpoint con la VPC donde se encuentra el resource group. Para ver las instrucciones, consulte Network connectivity solutions.
Conexión pública: agregue la dirección EIP del resource group a la lista de permitidos de SelectDB. Para ver las instrucciones, consulte Configure a whitelist.
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, debe agregar el origen de datos necesario siguiendo las instrucciones de Data source configuration. Al agregar un origen de datos, consulte las descripciones de parámetros en la consola de DataWorks para comprender el significado de cada uno.
A continuación se describen varias configuraciones del origen de datos de SelectDB:
MySQL connection address: introduzca la cadena de conexión JDBC. En la consola de SelectDB, vaya a y copie la JDBC connection string. Se admiten direcciones IP públicas y privadas.
HTTP connection address: introduzca la dirección de acceso HTTP. En la consola de SelectDB, vaya a y copie la HTTP access address. Se admiten direcciones IP públicas y privadas.
Username: introduzca el nombre de usuario del almacén de datos de SelectDB.
Password: introduzca la contraseña del usuario del almacén de datos de SelectDB.
Desarrollar una tarea de sincronización de datos
Para obtener información sobre el punto de entrada y el procedimiento de configuración de una tarea de sincronización, consulte a continuación guías de configuración.
Guía de configuración de sincronización sin conexión de una sola tabla
Para consultar el procedimiento, revise Codeless UI configuration y Script mode configuration.
Para ver todos los parámetros del modo script y un script de ejemplo, consulte Appendix: SelectDB sample script and parameter descriptions.
Guía de configuración de sincronización sin conexión de toda la base de datos
Bases de datos de origen compatibles: MySQL y PostgreSQL.
Para consultar el procedimiento, revise Batch database synchronization configuration.
Apéndice: script de ejemplo de SelectDB y descripciones de parámetros
Configurar 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 establecer los parámetros correspondientes en el script según los requisitos unificados de formato. Para más información, consulte Script mode configuration. A continuación información describe los parámetros que debe configurar para los orígenes de datos al usar el editor de código.
Script de ejemplo de Writer
{ "stepType": "selectdb",//Plug-in name。 "parameter": { "postSql"://SQL statements to run after the synchronization task。 [], "preSql": [],//SQL statements to run before the synchronization task。 "datasource":"selectdb_datasource",//Data source name。 "table": "selectdb_table_name",//Table name。 "column": [ "id", "table_id", "table_no", "table_name", "table_status" ], "loadProps":{ "format":"csv",//Specify CSV format "column_separator": "\\x01",//Specify the column delimiter "line_delimiter": "\\x02"//Specify the row delimiter } }, "name": "Writer", "category": "writer" }
Parámetros del script de Writer
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
datasource |
Nombre del origen de datos. El modo script permite agregar orígenes de datos; este valor debe coincidir con el nombre del origen de datos agregado. |
Sí |
Ninguna |
|
table |
Nombre de la tabla que se va a sincronizar. |
Sí |
Ninguna |
|
column |
Campos que se escribirán en la tabla de destino, separados por comas. Por ejemplo, |
Sí |
Ninguna |
|
preSql |
Instrucciones SQL que se ejecutarán antes de la tarea de sincronización. El modo asistente solo admite una instrucción, mientras que el modo script permite varias, como limpiar los datos antiguos de la tabla antes de escribir. |
No |
Ninguna |
|
postSql |
Instrucciones SQL que se ejecutarán después de la tarea de sincronización. El modo asistente solo admite una instrucción, pero el modo script permite varias, como agregar una marca de tiempo. |
No |
Ninguna |
|
maxBatchRows |
Número máximo de filas importadas por lote. Junto con batchSize, controla el tamaño del lote. La importación comienza cuando se alcanza cualquiera de los dos umbrales. |
No |
500000 |
|
batchSize |
Cantidad máxima de datos importados por lote. Junto con maxBatchRows, controla el tamaño del lote. La importación comienza cuando se alcanza cualquiera de los dos umbrales. |
No |
94371840 |
|
maxRetries |
Número de reintentos tras un error en la importación por lotes. |
No |
3 |
|
labelPrefix |
Prefijo de la etiqueta de cada lote cargado. La etiqueta final se forma con |
No |
datax_selectdb_writer_ |
|
loadProps |
Parámetros de la solicitud COPY INTO, utilizados principalmente para configurar el formato de los datos de importación. El valor predeterminado es JSON. Si omite loadProps o lo establece en
Para importar archivos CSV, especifique el formato y los delimitadores de fila y columna como se muestra a continuación. Si omite los delimitadores, los datos se convierten en cadenas de texto y se utiliza
|
No |
Ninguna |
|
clusterName |
Nombre del clúster de SelectDB Cloud. Puede encontrarlo en la consola de SelectDB. |
No |
Ninguna |
|
flushInterval |
Tiempo entre lotes de escritura de datos, en milisegundos. Si configura valores muy altos para maxBatchRows y batchSize, los datos podrían importarse por tiempo transcurrido antes de alcanzar el volumen configurado. |
No |
30000 |