TDengine Schemaless(无模式写入)常见问题的原因及故障排除

Tips:使用版本:3.0.2.6

(一)TDengine ERROR (80003002): Invalid data format

格式化问题;如缺少必要的组成格式(时间戳、超级表等),或有字符串未作修饰符修饰,类似的还有:

TDengine ERROR (80000127): Invalid timestamp format

原因是末尾的时间戳和数据库的时间戳格式不一致,导致无法格式化


(二)TDengine ERROR (8000061b): Table schema is old

可供参考的issues:
https://github.com/taosdata/TDengine/issues/19254

https://github.com/taosdata/TDengine/issues/19013

这个错误的意思是client端缓存的表schema和server端不一致了。在client端运行命令reset query cache 清理下client端的缓存再试试。
看GitHub的issues,有人通过升级版本解决了问题, 但是我当时的问题是并发写入速度太快,导致的并发问题。


(三)java.lang.NullPointerException

stack:writer.write(strings, SchemalessProtocolType.LINE, SchemalessTimestampType.MILLI_SECONDS);

没有初始化数据库连接对象


(四)TDengine ERROR (80003004): Not the same type like before

同一个插入批次的同一个字段的类型前后出现两种类型修饰,将出现此错误
如sex,第一条是用0和1标识,后面一条数据用str标识,即会出现此错误。


(五)TDengine ERROR (80000203): Invalid value in client

插入字段的类型与数据库内同名字段的数据类型不一致
如果没有字段类型映射系统,或者数据中不包含类型描述,我个人更推荐所有的字段类型都采用nchar;如果通过值的类型去推断,极大可能出现类型不一致的问题,导致各种写入错误。

猜你喜欢

转载自blog.csdn.net/qq_44491709/article/details/129420133