DataX
DataX copied to clipboard
splitPk 为字符串时会有重复数据
splitPk 为字符串时会有重复数据
写了只支持整型啊
如果是mysql,存在以下情况出现重复问题。 因为代码切分规则根据的ascii码,通过select min(id),max(id) from yourtable。如果你的表是大小写忽略集合。检索最大最小值可能是0xxx,fxxx。 因为在大小写忽略字符集中‘f’和‘F’是一样的,但是在ascii码中‘F’<‘f’,拆分的时候就出现了即包含大写字母,也包含小写字母的情况。因此有重复数据。
"splitPk": "CHECKSUM(ID)"
我的场景是:reader 为SQL server库,表ID是字符串类型,采用上述写法可以实现数据分片。思路是将ID字符串转换成分散的哈希值,如果是其他数据库,可以查下有没有类似的函数能将字符串转换成哈希值