Este tema responde algunas preguntas frecuentes sobre la sincronización completa e incremental.
Descripción general
¿Por qué decimal(7.4) se convierte en numeric(38.18) cuando ejecuto una tarea de sincronización para sincronizar datos de MySQL a Hologres?
Para evitar la pérdida de precisión de los datos, Data Integration aumenta automáticamente dicha precisión durante la sincronización. Data Integration le permite modificar las instrucciones de creación de tablas. También puede configurar reglas predeterminadas de conversión de tipos de datos según sus necesidades de negocio al configurar una tarea de sincronización. Para obtener más información, consulte Create a real-time synchronization solution to synchronize data to Hologres.
¿Puedo ejecutar una tarea de sincronización en tiempo real con un solo clic para sincronizar datos de tablas en bases de datos fragmentadas hacia una misma tabla de MaxCompute?
No. Una tarea de sincronización completa e incremental en tiempo real con un solo clic no sirve para sincronizar datos de tablas en bases de datos fragmentadas hacia una misma tabla de MaxCompute. Si necesita sincronizar datos de tablas en bases de datos fragmentadas hacia una misma tabla de MaxCompute, utilice una tarea diseñada específicamente para sincronizar datos de tablas en bases de datos fragmentadas hacia MaxCompute. Para obtener más información, consulte Synchronize data from tables in sharded MySQL databases to MaxCompute.
¿Cómo evito que se reporte un error después de cambiar campos en una tabla de origen especificada en una tarea de sincronización completa e incremental en tiempo real con un solo clic?
Al configurar la tarea de sincronización, puede establecer reglas de procesamiento para los mensajes DDL generados por las operaciones en el origen. Estas reglas incluyen procesamiento normal, omisión y reporte de errores. Para obtener más información, consulte la sección Configure rules to process DDL or DML messages and configure synchronization rules del tema Configurar una tarea de sincronización en Data Integration.
¿Qué hago si mi origen de datos de PolarDB falla en la prueba de conectividad de red?
Descripción del problema: agrego un origen de datos de PolarDB y pruebo su conectividad de red, pero la prueba falla.
Solución: establezca el parámetro Data Source Type en Connection String Mode. Después, compruebe la configuración de lista blanca del origen de datos y la configuración de virtual private cloud (VPC) de su resource group exclusivo.
¿Qué hago si mi origen de datos de Oracle falla en la prueba de conectividad de red?
Descripción del problema: agrego un origen de datos de Oracle y pruebo su conectividad de red, pero la prueba falla.
Solución: establezca el parámetro Data Source Type en Connection String Mode. Después, compruebe la configuración de lista blanca del origen de datos y la configuración de VPC de su resource group exclusivo.
¿Qué hago si mi origen de datos de OceanBase falla en la prueba de conectividad de red?
Descripción del problema: agrego un origen de datos de OceanBase y pruebo su conectividad de red, pero la prueba falla.
Solución: establezca el parámetro Data Source Type en Connection String Mode. Después, compruebe la configuración de lista blanca del origen de datos y la configuración de VPC de su resource group exclusivo.
¿Qué hago si mi origen de datos de MySQL falla en la prueba de conectividad de red?
Descripción del problema: agrego un origen de datos de MySQL y pruebo su conectividad de red, pero la prueba falla.
Solución: establezca el parámetro Data Source Type en Connection String Mode. Después, compruebe la configuración de lista blanca del origen de datos y la configuración de VPC de su resource group exclusivo.
Cuando configuro una tarea de sincronización completa e incremental en tiempo real para sincronizar datos hacia MaxCompute, el origen de datos de MaxCompute que quiero usar aparece atenuado. ¿Qué hago?
El origen de datos de MaxCompute aparece atenuado porque usted lo agregó manualmente a DataWorks. No se generó al vincular un proyecto de MaxCompute con el espacio de trabajo como instancia de motor de cómputo. Para una tarea de sincronización completa e incremental en tiempo real hacia MaxCompute, debe seleccionar un origen de datos de MaxCompute generado al vincular un motor de cómputo de MaxCompute.
Cuando se ejecuta la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB, se devuelve el siguiente mensaje de error: com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX. ¿Qué hago?
Descripción del problema: la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB falla y se devuelve el siguiente mensaje de error:
com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX.Causa: la función de registro binario está deshabilitada en el origen de datos de PolarDB.
Solución: habilite la función de registro binario en el origen de datos de PolarDB. Para obtener más información, consulte PolarDB data source. Además, debe modificar uno o más registros de datos en el origen y cambiar el desplazamiento inicial de la subtarea de sincronización en tiempo real a la hora actual.
Cuando se ejecuta la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB, se devuelve el siguiente mensaje de error: com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation. ¿Qué hago?
Descripción del problema: la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB falla y se devuelve el siguiente mensaje de error:
com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation.Causa: la cuenta utilizada para sincronizar los datos no tiene autorización para acceder al origen de datos de PolarDB, o bien la base de datos de PolarDB conectada no está desplegada en el nodo principal.
Solución: autorice a la cuenta para acceder al origen de datos de PolarDB o compruebe si la base de datos de PolarDB conectada está desplegada en el nodo principal. Una tarea de sincronización en tiempo real no puede sincronizar datos desde nodos de solo lectura en un origen de datos de PolarDB. Para obtener información sobre cómo autorizar una cuenta para acceder a un origen de datos de PolarDB, consulte PolarDB data source.
Cuando se ejecuta la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB, se devuelve el siguiente mensaje de error: com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first. ¿Qué hago?
Descripción del problema: la subtarea de sincronización en tiempo real generada por mi tarea de sincronización de datos desde un origen de datos de PolarDB falla y se devuelve el siguiente mensaje de error:
com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first.Causa: el parámetro loose_polar_log_bin está establecido en off en el origen de datos de PolarDB.
Solución: establezca el parámetro loose_polar_log_bin en on. Para obtener más información, consulte Enable binary logging.
Cuando se ejecuta la subtarea de sincronización por lotes generada por mi tarea de sincronización, se devuelve el siguiente mensaje de error: com.alibaba.datax.common.exception.DataXException: Code:[HoloWriter-02], Description:[Invalid config parameter in your configuration.]. - Field _log_file_name_offset_ not allow null but not present in user configured columns. ¿Qué hago?
Descripción del problema: la subtarea de sincronización por lotes generada por mi tarea de sincronización falla y se devuelve el siguiente mensaje de error:
com.alibaba.datax.common.exception.DataXException: Code:[HoloWriter-02], Description:[Invalid config parameter in your configuration.]. - Field _log_file_name_offset_ not allow null but not present in user configured columns.Causa: el plugin del motor de DataWorks utilizado para la sincronización por lotes no está actualizado a la versión más reciente.
Solución: Envíe un ticket para contactar al soporte técnico y actualizar el plugin.
Cuando se ejecuta la subtarea de sincronización por lotes generada por mi tarea de sincronización de datos hacia Hologres, se devuelve el siguiente mensaje de error: errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist. ¿Qué hago?
Descripción del problema: la subtarea de sincronización por lotes generada por mi tarea de sincronización de datos hacia Hologres falla y se devuelve el siguiente mensaje de error:
errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist.-
Causas:
La tabla de destino de Hologres utilizada para la sincronización de datos no existe.
La subtarea de sincronización por lotes generada por la tarea de sincronización transfiere datos de una tabla de origen a una tabla externa de Hologres. Hologres Writer no admite la sincronización de datos hacia tablas externas de Hologres.
Solución: utilice una tabla interna de Hologres como tabla de destino para la sincronización de datos. Si la tabla de destino de Hologres no existe, modifique la configuración de la tarea de sincronización y establezca Table Generation Method en Create Table para que el sistema cree automáticamente una tabla de destino de Hologres. Para obtener más información, consulte la sección Step 4: Configure a destination table del tema Crear una solución de sincronización en tiempo real para sincronizar datos hacia Hologres.
¿El sistema conserva la información de una tabla de origen, como las propiedades de no nulo y los valores predeterminados de sus campos, en la tabla de destino mapeada que se crea automáticamente?
Cuando el sistema crea una tabla de destino, solo conserva en ella información como los nombres de los campos, los tipos de datos y los comentarios de la tabla de origen mapeada. No conserva los valores predeterminados de los campos ni las restricciones de la tabla de origen mapeada, como las restricciones de no nulo o las restricciones de índices.
¿Cómo ejecuto una sincronización completa para una tarea de sincronización existente?
Vaya a Data Integration, busque su tarea de sincronización existente en la lista de tareas de sincronización y luego haga clic en More > Rerun en la columna Actions.