【 使用环境 】 测试环境
【 OB or 其他组件 】Datax
【 使用版本 】
【问题描述】 oceanbasev10writer 报错: java.lang.NumberFormatException: multiple points
【复现路径】执行 python %DataX_Home/datax.py xxx.json 导入数据报错。
【问题现象及影响】
【附件】
表结构:
任务配置文件.josn内容:
{
"job": {
"setting": {
"speed": {
"channel": 4
},
"errorLimit": {
"record": 0,
"percentage": 0.2
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "admin",
"column": ["id","name","list_num"],
"connection": [
{
"table": ["test_mysql"],
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/mysql_ob?useUnicode=true&characterEncoding=utf8"]
}
]
}
},
"writer": {
"name": "oceanbasev10writer",
"parameter": {
"obWriteMode": "insert",
"column": ["id","name","list_num"],
"preSql": ["truncate table test_ob"],
"connection": [
{
"jdbcUrl": "jdbc:oceanbase://192.168.2.142:2881/test?",
"table": ["test_ob"]
}
],
"username": "root",
"password":"admin",
"writerThreadCount":10,
"batchSize": 1000,
"memstoreThreshold": "0.9"
}
}
}
]
}
}
错误日志:
[root@localhost job]# python ../bin/datax.py myjob.json
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
2023-08-23 16:33:34.250 [main] INFO VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
2023-08-23 16:33:34.261 [main] INFO Engine - the machine info =>
osInfo: Oracle Corporation 1.8 25.262-b10
jvmInfo: Linux amd64 3.10.0-1160.el7.x86_64
cpu num: 4
totalPhysicalMemory: -0.00G
freePhysicalMemory: -0.00G
maxFileDescriptorCount: -1
currentOpenFileDescriptorCount: -1
GC Names [PS MarkSweep, PS Scavenge]
MEMORY_NAME | allocation_size | init_size
PS Eden Space | 256.00MB | 256.00MB
Code Cache | 240.00MB | 2.44MB
Compressed Class Space | 1,024.00MB | 0.00MB
PS Survivor Space | 42.50MB | 42.50MB
PS Old Gen | 683.00MB | 683.00MB
Metaspace | -0.00MB | 0.00MB
2023-08-23 16:33:34.287 [main] INFO Engine -
{
...
}
2023-08-23 16:33:34.314 [main] WARN Engine - prioriy set to 0, because NumberFormatException, the value is: null
2023-08-23 16:33:34.320 [main] INFO PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2023-08-23 16:33:34.320 [main] INFO JobContainer - DataX jobContainer starts job.
2023-08-23 16:33:34.323 [main] INFO JobContainer - Set jobId = 0
2023-08-23 16:33:34.819 [job-0] INFO OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://127.0.0.1:3306/mysql_ob?useUnicode=true&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
2023-08-23 16:33:34.838 [job-0] INFO OriginalConfPretreatmentUtil - table:[test_mysql] has columns:[id,name,list_num].
2023-08-23 16:33:35.327 [job-0] INFO DbUtils - value for query [SHOW VARIABLES LIKE 'ob_compatibility_mode'] is [MYSQL]
2023-08-23 16:33:35.525 [job-0] INFO OriginalConfPretreatmentUtil - table:[test_ob] all columns:[id,name,list_num].
2023-08-23 16:33:35.705 [job-0] INFO OriginalConfPretreatmentUtil - Write data [INSERT INTO %s (id,name,list_num) VALUES(?,?,?)], which jdbcUrl like:[jdbc:oceanbase://192.168.2.142:2881/test?&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true]
2023-08-23 16:33:35.705 [job-0] INFO JobContainer - jobContainer starts to do prepare ...
2023-08-23 16:33:35.705 [job-0] INFO JobContainer - DataX Reader.Job [mysqlreader] do prepare work .
2023-08-23 16:33:35.706 [job-0] INFO JobContainer - DataX Writer.Job [oceanbasev10writer] do prepare work .
2023-08-23 16:33:35.862 [job-0] INFO CommonRdbmsWriter$Job - Begin to execute preSqls:[truncate table test_ob]. context info:jdbc:oceanbase://192.168.2.142:2881/test?&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
2023-08-23 16:33:36.263 [job-0] INFO DbUtils - value for query [show variables like 'version'] is [5.7.25-OceanBase_CE-v4.1.0.2]
2023-08-23 16:33:36.264 [job-0] INFO JobContainer - jobContainer starts to do split ...
2023-08-23 16:33:36.264 [job-0] INFO JobContainer - Job set Channel-Number to 4 channels.
2023-08-23 16:33:36.270 [job-0] INFO JobContainer - DataX Reader.Job [mysqlreader] splits to [1] tasks.
2023-08-23 16:33:36.271 [job-0] INFO JobContainer - DataX Writer.Job [oceanbasev10writer] splits to [1] tasks.
2023-08-23 16:33:36.291 [job-0] INFO JobContainer - jobContainer starts to do schedule ...
2023-08-23 16:33:36.295 [job-0] INFO JobContainer - Scheduler starts [1] taskGroups.
2023-08-23 16:33:36.298 [job-0] INFO JobContainer - Running by standalone Mode.
2023-08-23 16:33:36.311 [taskGroup-0] INFO TaskGroupContainer - taskGroupId=[0] start [1] channels for [1] tasks.
2023-08-23 16:33:36.317 [taskGroup-0] INFO Channel - Channel set byte_speed_limit to -1, No bps activated.
2023-08-23 16:33:36.317 [taskGroup-0] INFO Channel - Channel set record_speed_limit to -1, No tps activated.
2023-08-23 16:33:36.335 [taskGroup-0] INFO TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
2023-08-23 16:33:36.338 [0-0-0-writer] INFO OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2023-08-23 16:33:36.340 [0-0-0-writer] INFO ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
2023-08-23 16:33:36.341 [0-0-0-reader] INFO CommonRdbmsReader$Task - Begin to read record by Sql: [select id,name,list_num from test_mysql ] jdbcUrl:[jdbc:mysql://127.0.0.1:3306/mysql_ob?useUnicode=true&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2023-08-23 16:33:36.367 [0-0-0-reader] INFO CommonRdbmsReader$Task - Finished read record by Sql: [select id,name,list_num from test_mysql ] jdbcUrl:[jdbc:mysql://127.0.0.1:3306/mysql_ob?useUnicode=true&characterEncoding=utf8&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2023-08-23 16:33:36.518 [0-0-0-writer] INFO ConcurrentTableWriterTask - Disable partition calculation feature.
2023-08-23 16:33:36.676 [0-0-0-writer] INFO CommonRdbmsWriter$Task - write mode: insert
2023-08-23 16:33:36.677 [0-0-0-writer] INFO ConcurrentTableWriterTask - writeRecordSql :INSERT INTO test_ob (id,name,list_num) VALUES(?,?,?)
2023-08-23 16:33:36.681 [0-0-0-writer] ERROR WriterRunner - Writer Runner Received Exceptions:
java.lang.NumberFormatException: multiple points
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1914) ~[na:1.8.0_262]
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122) ~[na:1.8.0_262]
at java.lang.Float.parseFloat(Float.java:451) ~[na:1.8.0_262]
at java.lang.Float.valueOf(Float.java:416) ~[na:1.8.0_262]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask.init(ConcurrentTableWriterTask.java:131) ~[oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Task.init(OceanBaseV10Writer.java:210) ~[oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.taskgroup.runner.WriterRunner.run(WriterRunner.java:44) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_262]
Exception in thread "taskGroup-0" com.alibaba.datax.common.exception.DataXException: Code:[Framework-13], Description:[DataX插件运行时出错, 具体原因请参看DataX运行结束时的错误诊断信息 .].