全增量同步任务常见问题

本文为您介绍全增量同步任务的常见问题及解决方案。

文档概述

MySQL一键同步至Hologres中decimal(7,4)数据类型转换成了numeric(38,18),正常吗?

为了避免数据精度丢失,同步时默认扩大数字精度。目前产品上已经支持您自行修改建表语句,以及设置默认的同步类型转换规则,如您有需要,可以在配置同步任务时进行设置。详情请参见一键实时同步至Hologres

一键实时同步至MaxCompute时, 分表是否可以同步到同一张表里?

一键实时全增量同步任务不支持分表同步到同一张表,但是可以使用分库分表至MaxCompute全增量同步任务。详情请参考MySQL分库分表同步至MaxCompute

一键实时全增量同步任务中,实时同步时修改源表字段是否会导致报错?

您可以在同步任务配置时,通过设置DDL消息处理规则控制源表字段更变时的处理策略,包括正常处理、忽略或报警等。详情请参见设置写入规则

PolarDB数据源网络联通性测试失败怎么办?

  • 错误现象:添加数据源PolarDB时,网络连通性测试失败。

  • 如何处理:切换到jdbc连接串,同时检查白名单配置,以及独享资源组的VPC配置。

Oracle数据源网络联通性测试失败怎么办?

  • 错误现象:添加数据源Oracle时,网络连通性测试失败。

  • 如何处理:切换到jdbc连接串,同时检查白名单配置,以及独享资源组的VPC配置。

OceanBase数据源网络联通性测试失败怎么办?

  • 错误现象:添加数据源OceanBase时,网络连通性测试失败。

  • 如何处理:切换到jdbc连接串,同时检查白名单配置,以及独享资源组的VPC配置。

MySQL数据源网络联通性测试失败怎么办?

  • 错误现象:添加数据源MySQL时,网络连通性测试失败。

  • 如何处理:切换到jdbc连接串,同时检查白名单配置,以及独享资源组的VPC配置。

全增量实时至MaxCompute时,数据源被置灰了没法选择怎么办?

因为您的数据源是自行配置的,并非本DataWorks项目下的计算引擎数据源。全增量实时同步至MaxCompute暂不支持非计算引擎数据。

实时任务,运行报错:com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX

  • 报错内容:数据同步任务执行时,实时任务运行失败,错误提示为com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX

  • 可能原因:来源数据源PolarDB没有开启binlog。

  • 如何处理:PolarDB开启binlog,详细操作可参见PolarDB数据源。并进行至少一条数据的变更,同时切换数据集成实时同步开始点位到当前时间。

实时任务,运行报错: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

  • 报错内容:数据同步任务执行时,实时任务运行失败,错误提示为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

  • 可能原因:来源数据源PolarDB没有给进行数据同步的账号开启所需权限,或对接的PolarDB数据库不是主节点。

  • 如何处理:参见PolarDB数据源的操作授予权限,或者检查PolarDB是否是主节点(读写库),目前实时任务不支持从PolarDB备节点抓取数据。

实时任务,运行报错: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.

  • 报错内容:数据同步任务执行时,实时任务运行失败,错误提示为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

  • 可能原因:来源数据源PolarDB未打开loose_polar_log_bin参数。

  • 如何处理:需要打开loose_polar_log_bin参数,详细操作可参见开启Binlog

离线任务运行报错: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.

  • 报错内容:数据同步任务执行时,离线任务运行失败,错误提示为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

  • 可能原因:DataWorks的离线引擎插件未升级到最新版本。

  • 如何处理:请提交工单联系技术支持,帮您将离线引擎插件升级到最新版本。

同步数据至Hologres任务运行报错:errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist.

  • 报错内容:执行数据同步任务时,离线任务运行失败,错误提示为errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist.

  • 可能原因:

    • 数据同步任务中使用的Hologres目标表不存在。

    • 使用数据同步任务同步了数据源表至Hologres的外部表。目前,Hologres Writer不支持写入数据至Hologres外部表。

  • 如何处理:您需要使用Hologres的内部表作为同步任务的目标表。如果Hologres目标表不存在,请在配置数据同步任务时使用自动建表,创建可用的Hologres目标表,详情请参见配置Hologres目标表

源表有默认值,通过数据集成创建的目标表,默认值、非空属性等会保留吗?

创建目标表时候,DataWorks只会保留源表的列名、数据类型、注释等信息,不会保留源表的默认值、约束(包含非空约束,索引等)。