obloader使用--column-splitter时, 是没有办法识别多字节的十六进制数么?

【 使用环境 】生产环境/测试环境皆有
【 OB or 其他组件 】obloader
【 使用版本 】3.1.2(企业版)/3.1.4(社区版)
【问题描述】obloader使用–column-splitter无法识别多字节的十六进制数
【复现路径】在测试环境原样复现
【问题现象及影响】
数据文件如下:
image
使用的欧元符作为分隔符。
对该文件执行xxd可得到欧元符的十六进制数为:0xe282ac
image
执行的命令如下:
/home/udaptest/middleware/oceanbase-client/ob-loader-dumper-3.1.0-SNAPSHOT/bin/obloader -h 10.1.12.18 -P 2883 -t sys -u testuser -p ‘xxx’ -D testdb --table [ob_test_zzb_001] -f /tmp/02@100000139@2023052311223600/oceanbase-writer/0/ob_test_zzb_001.1.txt --external-data --cut --column-splitter ‘0xe282ac’ --block-size 1024 -c obcluster --ctl-path /tmp/02@100000139@2023052311223600/oceanbase-writer/0/obLoader.ctl --sys-user root --sys-password root123! --log-path /tmp/02@100000139@2023052311223600/oceanbase-writer/0/log1
控制文件如下:
image
结果如下:


可以看到实际上没有将欧元符识别为分隔符分开。
想请教下是不是obloader目前暂时不支持识别多字节的十六进制数?

附: 使用单字节的分隔符的十六进制数是可以的。

@不羁 报错的数据有记录到ob-loader-dumper.bad,麻烦截图看下最后的识别效果

如下图:

有多行数据是因为我尝试了多次, 以最后一行为准即可

针对上述问题答复:

  • 尝试从社区软件中心下载最新的版本 4.2.1 试用;
  • 对于十六进制符号的支持是有限的,尽量指定可见的字符;
1 个赞