跳到主要内容

客户端驱动参考手册

TDengine 客户端驱动提供了应用编程所需要的全部 API,并且在整个集群的分布式计算中扮演着重要角色。客户端驱动的行为除了 API 及其具体参数以外,也可以通过配置文件的形式进行全局控制,本节列举 TDengine 客户端可以使用的配置参数。

配置参数

连接相关

参数名称支持版本动态修改参数含义
firstEp支持动态修改 立即生效启动时,主动连接的集群中首个 dnode 的 endpoint,缺省值:hostname:6030,若无法获取该服务器的 hostname,则赋值为 localhost
secondEp支持动态修改 立即生效启动时,如果 firstEp 连接不上,尝试连接集群中第二个 dnode 的 endpoint,没有缺省值
serverPort支持动态修改 立即生效taosd 监听的端口,默认值 6030
compressMsgSize支持动态修改 立即生效是否对 RPC 消息进行压缩;-1:所有消息都不压缩;0:所有消息都压缩;N (N>0):只有大于 N 个字节的消息才压缩;缺省值 -1
shellActivityTimer不支持动态修改客户端向 mnode 发送心跳的时长,单位为秒,取值范围 1-120,默认值 3
numOfRpcSessions支持动态修改 立即生效RPC 支持的最大连接数,取值范围 100-100000,缺省值 30000
numOfRpcThreads不支持动态修改RPC 收发数据线程数目,取值范围1-50,默认值为 CPU 核数的一半
numOfTaskQueueThreads不支持动态修改客户端处理 RPC消息的线程数, 范围4-16,默认值为 CPU 核数的一半
timeToGetAvailableConn3.3.4.*之后取消不支持动态修改获得可用连接的最长等待时间,取值范围 10-50000000,单位为毫秒,缺省值 500000
useAdapter支持动态修改 立即生效内部参数,是否使用 taosadapter,影响 CSV 文件导入
shareConnLimit3.3.4.0 新增不支持动态修改内部参数,一个链接可以共享的查询数目,取值范围 1-256,默认值 10
readTimeout3.3.4.0 新增不支持动态修改内部参数,最小超时时间,取值范围 64-604800,单位为秒,默认值 900

查询相关

参数名称支持版本动态修改参数含义
countAlwaysReturnValue支持动态修改 立即生效count/hyperloglog 函数在输入数据为空或者 NULL 的情况下是否返回值;0:返回空行,1:返回;默认值 1;该参数设置为 1 时,如果查询中含有 INTERVAL 子句或者该查询使用了 TSMA 时,且相应的组或窗口内数据为空或者 NULL,对应的组或窗口将不返回查询结果;注意此参数客户端和服务端值应保持一致
keepColumnName支持动态修改 立即生效Last、First、LastRow 函数查询且未指定别名时,自动设置别名为列名(不含函数名),因此 order by 子句如果引用了该列名将自动引用该列对应的函数;1:表示自动设置别名为列名(不包含函数名),0:表示不自动设置别名;缺省值:0
multiResultFunctionStarReturnTags3.3.3.0 后支持动态修改 立即生效查询超级表时,last(*)/last_row(*)/first(*) 是否返回标签列;查询普通表、子表时,不受该参数影响;0:不返回标签列,1:返回标签列;缺省值:0;该参数设置为 0 时,last(*)/last_row(*)/first(*) 只返回超级表的普通列;为 1 时,返回超级表的普通列和标签列
metaCacheMaxSize支持动态修改 立即生效指定单个客户端元数据缓存大小的最大值,单位 MB;缺省值 -1,表示无限制
maxTsmaCalcDelay支持动态修改 立即生效查询时客户端可允许的 tsma 计算延迟,若 tsma 的计算延迟大于配置值,则该 TSMA 将不会被使用;取值范围 600s - 86400s,即 10 分钟 - 1 小时;缺省值:600 秒
tsmaDataDeleteMark支持动态修改 立即生效TSMA 计算的历史数据中间结果保存时间,单位为毫秒;取值范围 >= 3600000,即大于等于1h;缺省值:86400000,即 1d
queryPolicy支持动态修改 立即生效查询语句的执行策略,1:只使用 vnode,不使用 qnode;2:没有扫描算子的子任务在 qnode 执行,带扫描算子的子任务在 vnode 执行;3:vnode 只运行扫描算子,其余算子均在 qnode 执行;缺省值:1
queryTableNotExistAsEmpty支持动态修改 立即生效查询表不存在时是否返回空结果集;false:返回错误;true:返回空结果集;缺省值 false
querySmaOptimize支持动态修改 立即生效sma index 的优化策略,0:表示不使用 sma index,永远从原始数据进行查询;1:表示使用 sma index,对符合的语句,直接从预计算的结果进行查询;缺省值:0
queryPlannerTrace支持动态修改 立即生效内部参数,查询计划是否输出详细日志
queryNodeChunkSize支持动态修改 立即生效内部参数,查询计划的块大小
queryUseNodeAllocator支持动态修改 立即生效内部参数,查询计划的分配方法
queryMaxConcurrentTables不支持动态修改内部参数,查询计划的并发数目
enableQueryHb支持动态修改 立即生效内部参数,是否发送查询心跳消息
minSlidingTime支持动态修改 立即生效内部参数,sliding 的最小允许值
minIntervalTime支持动态修改 立即生效内部参数,interval 的最小允许值

写入相关

参数名称支持版本动态修改参数含义
smlChildTableName支持动态修改 立即生效schemaless 自定义的子表名的 key,无缺省值
smlAutoChildTableNameDelimiter支持动态修改 立即生效schemaless tag 之间的连接符,连起来作为子表名,无缺省值
smlTagName支持动态修改 立即生效schemaless tag 为空时默认的 tag 名字,缺省值 "_tag_null"
smlTsDefaultName支持动态修改 立即生效schemaless 自动建表的时间列名字通过该配置设置,缺省值 "_ts"
smlDot2Underline支持动态修改 立即生效schemaless 把超级表名中的 dot 转成下划线
maxInsertBatchRows支持动态修改 立即生效内部参数,一批写入的最大条数

区域相关

参数名称支持版本动态修改参数含义
timezone支持动态修改 立即生效时区;缺省从系统中动态获取当前的时区设置
locale支持动态修改 立即生效系统区位信息及编码格式,缺省从系统中获取
charset支持动态修改 立即生效字符集编码,缺省从系统中获取

存储相关

参数名称支持版本动态修改参数含义
tempDir支持动态修改 立即生效指定所有运行过程中的临时文件生成的目录,Linux 平台默认值为 /tmp
minimalTmpDirGB支持动态修改 立即生效tempDir 所指定的临时文件目录所需要保留的最小空间,单位 GB,缺省值:1

日志相关

参数名称支持版本动态修改参数含义
logDir不支持动态修改日志文件目录,运行日志将写入该目录,缺省值:/var/log/taos
minimalLogDirGB支持动态修改 立即生效日志文件夹所在磁盘可用空间大小小于该值时,停止写日志,单位 GB,缺省值:1
numOfLogLines支持动态修改 立即生效单个日志文件允许的最大行数,缺省值:10,000,000
asyncLog支持动态修改 立即生效日志写入模式,0:同步,1:异步,缺省值:1
logKeepDays支持动态修改 立即生效日志文件的最长保存时间,单位:天,缺省值:0,意味着无限保存,日志文件不会被重命名,也不会有新的日志文件滚动产生,但日志文件的内容有可能会不断滚动,取决于日志文件大小的设置;当设置为大于 0 的值时,当日志文件大小达到设置的上限时会被重命名为 taoslogx.yyy,其中 yyy 为日志文件最后修改的时间戳,并滚动产生新的日志文件
debugFlag支持动态修改 立即生效运行日志开关,131(输出错误和警告日志),135(输出错误、警告和调试日志),143(输出错误、警告、调试和跟踪日志);默认值 131 或 135 (取决于不同模块)
tmrDebugFlag支持动态修改 立即生效定时器模块的日志开关,取值范围同上
uDebugFlag支持动态修改 立即生效共用功能模块的日志开关,取值范围同上
rpcDebugFlag支持动态修改 立即生效rpc 模块的日志开关,取值范围同上
jniDebugFlag支持动态修改 立即生效jni 模块的日志开关,取值范围同上
qDebugFlag支持动态修改 立即生效query 模块的日志开关,取值范围同上
cDebugFlag支持动态修改 立即生效客户端模块的日志开关,取值范围同上
simDebugFlag支持动态修改 立即生效内部参数,测试工具的日志开关,取值范围同上
tqClientDebugFlag3.3.4.3 后支持动态修改 立即生效客户端模块的日志开关,取值范围同上

调试相关

参数名称支持版本动态修改参数含义
crashReporting支持动态修改 立即生效是否上传 crash 到 telemetry,0:不上传,1:上传;缺省值:1
enableCoreFile支持动态修改 立即生效crash 时是否生成 core 文件,0:不生成,1:生成;缺省值:1
assert不支持动态修改断言控制开关,缺省值:0
configDir不支持动态修改配置文件所在目录
scriptDir不支持动态修改内部参数,测试用例的目录
randErrorChance3.3.3.0 后不支持动态修改内部参数,用于随机失败测试
randErrorDivisor3.3.3.0 后不支持动态修改内部参数,用于随机失败测试
randErrorScope3.3.3.0 后不支持动态修改内部参数,用于随机失败测试
safetyCheckLevel3.3.3.0 后不支持动态修改内部参数,用于随机失败测试
simdEnable3.3.4.3 后不支持动态修改内部参数,用于测试 SIMD 加速
AVX512Enable3.3.4.3 后不支持动态修改内部参数,用于测试 AVX512 加速
bypassFlag3.3.4.5 后支持动态修改 立即生效内部参数,用于短路测试,0:正常写入,1:写入消息在 taos 客户端发送 RPC 消息前返回,2:写入消息在 taosd 服务端收到 RPC 消息后返回,4:写入消息在 taosd 服务端写入内存缓存前返回,8:写入消息在 taosd 服务端数据落盘前返回;缺省值:0

SHELL 相关

参数名称支持版本动态修改参数含义
enableScience不支持动态修改是否开启科学计数法显示浮点数;0:不开始,1:开启;缺省值:1

API

请参考连接器