VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 9
声望: 0
        for d in data_set:
            if count < batch_size:
                data.append(generate(d))
                count += 1
            else:
                self.cursor.execute(" ".join(data))

                data: List[str] = [f"insert into {table_name} values"]
                count = 0

这个循环的else,每次够batch_size后,此处批量执行写入batch_size个数据,但是漏掉了这一次的d。数据量多的时候,会漏掉挺多数据。

在将csv中数据导入taosdb过程中发现以上bug,导入一天数据是25933条,这个else会漏掉25条。数据库里还会缺1096条,我再继续找问题。

Member
avatar
加入于:
帖子: 9
声望: 0

缺失的1000多条数据找到了,数据源问题。

本来以为1秒两个tick,数据只精确到秒,那就把相同的时间的下一条+500ms,结果发现数据里还有些有三个同一秒的,还不少,所以有三个数据在同一个时间的情况就会少掉一个,taosdb的特性,相同时间,时序数据库不会存储。

Member
avatar
加入于:
帖子: 1446
声望: 102

感谢分享!

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】