【TDengine 使用环境】
预生产环境
【TDengine 版本】
3.3.6.13
【操作系统以及版本】
ubuntu 2204
【部署方式】容器
【集群节点数】
1
【集群副本数】
1
【描述业务影响】
无法插入数据
【遇到的问题:问题现象及影响】
pandas.to_sql 无法插入超级表数据
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
python库为
taospy>=2.8.6
pandas>=2.3.3
numpy>=2.2.6
客户端为
TDengine-client-3.3.6.13-lite
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
代码
import numpy as np
import pandas as pd
from sqlalchemy import create_engine, text
from sqlalchemy.types import Integer, Float, TIMESTAMP, String
def create_connection_with_sqlalchemy():
engine = create_engine(f"taos://root:taosdata@192.168.11.225:6030?timezone=Asia/Shanghai")
conn = engine.connect()
return conn
conn = create_connection_with_sqlalchemy()
conn.execute(text("CREATE DATABASE IF NOT EXISTS cq"))
conn.execute(
text(
"""CREATE STABLE IF NOT EXISTS cq.gas_data (datetime TIMESTAMP,p_t FLOAT,p_c FLOAT,q_export FLOAT,p_export FLOAT,temperature_export FLOAT,q_all FLOAT,open_time INT,close_time INT,status INT) TAGS (gas_no BINARY(64))"""
))
conn.execute(text("Use cq"))
n = 10000
for gas_no in ["aaaa"]:
tmp_df = pd.DataFrame({
"datetime": pd.date_range("2025-01-01", periods=n, freq="min"),
"p_t": np.random.rand(n).astype(float),
"p_c": np.random.rand(n).astype(float),
"q_export": np.random.rand(n).astype(float),
"p_export": np.random.rand(n).astype(float),
"temperature_export": np.random.rand(n).astype(float),
"q_all": np.random.rand(n).astype(float),
"open_time": [120] * n,
"close_time": [360] * n,
"status": [1] * n,
"gas_no": gas_no * n,
"tbname": gas_no * n,
})
column_types = {
'datetime': TIMESTAMP,
'p_t': Float,
'p_c': Float,
'q_export': Float,
'p_export': Float,
'temperature_export': Float,
'q_all': Float,
'open_time': Integer,
'close_time': Integer,
'status': Integer,
'gas_no': String,
}
tmp_df.to_sql("gas_data", con=conn,
index=False, if_exists="append",dtype=column_types, chunksize=100)
print(len(tmp_df))
错误
原始错误为

使用gdb排查,发现
