IoTDB 常见问题 QA 第三期
关于 IoTDB 的 Q & A
IoTDB Q&A 第三期持续更新!我们将定期汇总我们将定期汇总社区讨论频繁的问题,并展开进行详细回答,通过积累常见问题“小百科”,方便大家使用 IoTDB。
Q1:查询最新值 & null 数据相加方法
问题现象 1
如果我想查 1000 个点的最新值,这些点的设备地址可能都不相同,那么我怎么查?
解决方案
1. from 后面可以写多个设备
2. select 后面也可以写多个测点
3. 还可以用通配符
问题现象 2
在版本 1.1.1 中,group by 遇到两列数据相加时,其中一列为 null,另一列属性不为 null,导致两者相加之后为 null,有类似 ifnull 的函数处理这种问题吗?
以下是 SQL:
select (last_value(APM.1value) +last_value(APM2.value)) as val from root.dec group by ([10000,20000), 60s,10s)alse])
解决方案
可以用 case when 来实现,用户手册中有使用参考:
https://iotdb.apache.org/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.html#case
Q2:集群中某一节点掉线导致删除序列失败
问题
1.3.2 版本三台机器的集群部署,删除时间序列时,三台机器都在线没问题,掉了一台机器之后报错,请问是什么原因?
原因
当前版本中,删除序列时所有元数据引擎的缓存都需要强一致性失效,某一节点不能成功则全部失败。因此元数据删除操作是必须要求所有节点都在线的。
方案
恢复集群异常节点的状态,再进行删除操作。
Q3:查询时报可用内存不足
现象
3C3D 集群中,进行查询时报可用内存不足,即使是 show devices 这样简单的查询也会报内存不足。
原因
1. 客户目前使用的 JDK 版本是 1.8, 该版本 JDK 对 GC 控制效果不佳,有可能出现可用内存不足的情况,同时 GC 耗时较长,内存得不到及时释放。
2. 集群 3 个节点之间网络延迟不一致,影响了集群间通信,导致节点之间吞吐不一致。
解决方案
1. 升级 JDK 版本,由 JDK1.8 升级到 JDK17, 高版本 JDK 相比低版本有如下提升:
性能优化:JDK 17 的默认垃圾收集算法为 G1,提供了更好的吞吐量和更短的停顿时间,这对于提高应用程序的整体性能和用户体验非常有帮助。
更好的内存管理:JDK 17 提供了更先进的内存管理功能,包括更强的封装和更有效的内存分配策略,这有助于提高内存使用效率和减少内存泄漏。
2. 解决集群间网络延迟不一致的问题。
采用上述解决方案后,查询可用内存不足的问题得到解决,同时查询效率得到明显提升。
启示
以后如果遇到集群性能发挥不佳的情况,可以排查一下集群间的网络延迟情况,这个对集群性能影响还是比较大的。
Q4:Continuous Query 在 ConfigNode 运行还是在 DataNode 运行
问题
请问 Continuous Query 在 ConfigNode 运行还是在 DataNode 运行?
解答
Continuous Query 执行阶段运行在 DataNode 中,但 Continuous Query 的调度和控制阶段(比如定时向 DataNode 发起查询)是在 ConfigNode 发生的。
IoTDB 中的 ConfigNode 仅用于做集群管理及节点调度等,所有与元数据/数据相关的操作均在 DataNode 节点上进行。
Q5:IoTDB 升级后 Trigger 不可用
问题现象
目前将 1.3.2 版本升级到了 1.3.3(通过替换 lib 的方式)。替换后发现原有触发器,show triggers 显示 active,但实际并未生效。卸载安装后依旧无法监听路径上的插入数据,不知道触发器逻辑是否有变更?没有发现异常日志,回退 1.3.2 版本后正常。
原因
Apache TsFile 目前已经独立成了一个项目,原来在 TsFile 下的类的包名都发生了变化,因此 Trigger 中依赖的 TsFile 路径发生了变化,需要重新打包注册。
方案
需要更新依赖版本 iotdb-server 重新打包注册插件。
UDF、Pipe 同理。
Q6:数据类型相关问题
指定数据类型
问题 1
通过 tools/import-data.sh 导入数据时,发现默认推断类型配置没有生效,请问是什么原因?
现象
解决方案
通过 tools/import-data.sh 命令导入数据时,需要指定 -typeInfer 参数,用于指定类型推断规则,如:
<srcTsDataType1=dstTsDataType1,srcTsDataType2=dstTsDataType2,...>
srcTsDataType 包括 boolean,int,long,float,double,NaN;
dstTsDataType 包括 boolean,int,long,float,double,text;
当 srcTsDataType 为 boolean,dstTsDataType 只能为 boolean 或 text;
当 srcTsDataType 为 NaN, dstTsDataType 只能为 float, double 或 text;
当 srcTsDataType 为数值类型, dstTsDataType 的精度需要高于 srcTsDataType。
设置举例:-typeInfer boolean=text,float=double。
数据小数点位数是否影响查询性能
问题 2
存 double 型数据,截短保留 2 位小数和不截短,在查询效率和速度上有没有区别?
回答
没有,double 的长度和小数位数没太大关系。
升级后数据转换问题
问题 3
上面的查询在 1.0 版本是没问题的,1.3.2 版本就提示转换错误,这个可以设置吗,还是新版本只能这样转换?
回答
这个是因为尝试将字符串 'bad' 转成 float 时出错了。
也可用正则表达式替换处理:
select avg(cast(regexreplace(v, 'regex'='^[A-Za-z]+$', 'replace'='1', 'limit'='2'), 'type'='FLOAT')) as V,
avg(cast(regexreplace(v1, "regex"="^[A-Za-z]+$", "replace"="0", "limit"="1"), 'type'='FLOAT')) as V1 from root.ln.d2 where time>=2024-11-20 00:00:00 and time<=2024-11-26 00:00:00 group by ([2024-11-20T00:00:00,2024-11-26T00:00:00 ),1d)
规上企业应用实例
能源电力:中核武汉|国网信通产业集团|华润电力|大唐先一|上海电气国轩|清安储能|某储能厂商|太极股份
航天航空:中航机载共性|北邮一号卫星
钢铁、金属冶炼:宝武钢铁|中冶赛迪|中国恩菲
交通运输:中车四方|长安汽车|城建智控|德国铁路
智慧工厂与物联:PCB 龙头企业|博世力士乐|德国宝马|北斗智慧物联|京东|昆仑数据|怡养科技|绍兴安瑞思
相关文章:

IoTDB 常见问题 QA 第三期
关于 IoTDB 的 Q & A IoTDB Q&A 第三期持续更新!我们将定期汇总我们将定期汇总社区讨论频繁的问题,并展开进行详细回答,通过积累常见问题“小百科”,方便大家使用 IoTDB。 Q1:查询最新值 & null 数据相加方…...

RabbitMQ---消息确认和持久化
(一)消息确认 1.概念 生产者发送消息后,到达消费端会有以下情况: 1.消息处理成功 2.消息处理异常 如果RabbitMQ把消息发送给消费者后就把消息删除,那么就可能会导致,消息处理异常想要再获取这条消息的时…...
《鸿蒙Next旅游应用:人工智能赋能个性化与智能导览新体验》
随着鸿蒙Next的推出,旅游应用迎来了全新的发展机遇,借助人工智能技术能为用户带来更出色的个性化推荐和智能导览服务。 鸿蒙Next与人工智能融合优势 鸿蒙Next拥有强大的分布式能力和原生智能体验。其能打破设备界限,实现多设备协同…...
微信小程序获取当前页面路径,登录成功后重定向回原页面
🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回&#…...
【9.2】Golang后端开发系列--Gin路由定义与实战使用
文章目录 一、Gin 框架路由的基本定义方式1. 简单路由创建2. 路由参数3. 查询参数 二、商业大项目中的路由定义和服务调用1. 路由模块化2. 路由组和中间件3. 中间件的使用4. 服务层调用5. 错误处理6. 版本控制7. 路由注册 一、Gin 框架路由的基本定义方式 1. 简单路由创建 使…...
【微信小程序】let和const-综合实训
let 和 const 都是用于声明变量的关键字,它们与传统的 var 关键字相比,有很多不同之处。 let 声明块级作用域变量,可再赋值;const 声明块级作用域常量,不可再赋值。 以下是它们的详细介绍: 一、基本概念…...

图匹配算法(涵盖近似图匹配)
【图数据管理与挖掘-第四讲(子)图匹配算法(涵盖近似图匹配) 北京大学2021暑期-邹磊教授】https://www.bilibili.com/video/BV1zh411q7PW?vd_source7c2b5de7032bf3907543a7675013ce3a 图同构: 定义: 给定…...

java线程——Thread
java线程——Thread 基本步骤示例优劣总结 继承Thread类是Java中实现多线程的一种方式。使用时创建一个新的类,该类继承自java.lang.Thread,并重写其run()方法,在方法中定义线程执行的任务逻辑。 基本步骤 1、创建一个子类:定义一…...
MySQL8.0新特性
第十八章_MySQL8.0新特性 1.新特性概述 1. 数据库管理和存储 1.1 数据字典 特性: MySQL 8.0 使用统一的数据字典存储元数据(如表、列、索引等),并将其存储在 InnoDB 表中。 优点 : 提升性能:减少对文件系统的依赖。 提高一致…...

Oracle EBS GL定期盘存WIP日记账无法过账数据修复
系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 问题症状 用户反映来源为“定期盘存”和类别为“WIP”的日记账无法过账,标准日记账的界面上的过账按钮灰色不可用。但是,在超级用户职责下,该日记账又可以过账,细心检查发现该业务实体下有二个公司段值15100和…...
【绝对无坑】Mongodb获取集合的字段以及数据类型信息
Mongodb获取集合的字段以及数据类型信息 感觉很LOW的一个数据仓工具seatunel,竟然不能自动读取mongodb的表结构信息,需要手工创建。 然鹅,本人对mongodb也是新手,很多操作也不知所措,作为一个DBA,始终还是…...

【Git版本控制器--1】Git的基本操作--本地仓库
目录 初识git 本地仓库 认识工作区、暂存区、版本库 add操作与commit操作 master文件与commit id 修改文件 版本回退 撤销修改 删除文件 初识git Git 是一个分布式版本控制系统,主要用于跟踪文件的更改,特别是在软件开发中。 为什么要版本…...
C++并发编程之无锁数据结构及其优缺点
在C并发编程中,无锁数据结构(Lock-free Data Structures)是指那些在实现中不使用互斥锁(如std::mutex)来保证线程安全的数据结构。相反,它们利用原子操作和内存模型来确保多线程环境下的正确性和高效性。下…...

Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速
本文使用 Ubuntu 环境。Ubuntu 直接使用 APT 安装的就支持 CUDA 加速。本文使用这样下载的版本进行演示,你自己编译或者其他源的版本可能会不同。 ffmpeg 的一些介绍,以及 macOS 版本的 ffmpeg 硬件加速请见《macOS上如何安装(不需要编译安装…...

rclone,云存储备份和迁移的瑞士军刀,千字常文解析,附下载链接和安装操作步骤...
一、什么是rclone? rclone是一个命令行程序,全称:rsync for cloud storage。是用于将文件和目录同步到云存储提供商的工具。因其支持多种云存储服务的备份,如Google Drive、Amazon S3、Dropbox、Backblaze B2、One Drive、Swift、…...
Ubuntu | 系统软件安装系列指导说明
文章目录 Ubuntu 系统软件安装系列指导说明工具系列1. Docker 与 Docker-Compose部署与安装 环境系列1. Golang部署与安装 数据库系列1. PostgreSQL17.2源码部署与安装 Ubuntu 系统软件安装系列指导说明 工具系列 1. Docker 与 Docker-Compose部署与安装 链接 环境系列 1…...

队列(算法十三)
简介 几乎没有单纯之考察队列的,队列一般只作为一个辅助工具 队列常服务于BFS queue接口 1.N叉树的层序遍历 link: 思路: 队列 层序遍历即可 code /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node()…...

vLLM私有化部署大语言模型LLM
目录 一、vLLM介绍 二、安装vLLM 1、安装环境 2、安装步骤 三、运行vLLM 1、运行方式 2、切换模型下载源 3、运行本地已下载模型 四、通过http访问vLLM 一、vLLM介绍 vLLM(官方网址:https://www.vllm.ai)是一种用于大规模语言模型&#x…...

OpenAI Whisper:语音识别技术的革新者—深入架构与参数
当下语音识别技术正以前所未有的速度发展,极大地推动了人机交互的便利性和效率。OpenAI的Whisper系统无疑是这一领域的佼佼者,它凭借其卓越的性能、广泛的适用性和创新的技术架构,正在重新定义语音转文本技术的规则。今天我们一起了解一下Whi…...

基于当前最前沿的前端(Vue3 + Vite + Antdv)和后台(Spring boot)实现的低代码开发平台
项目是一个基于当前最前沿的前端技术栈(Vue3 Vite Ant Design Vue,简称Antdv)和后台技术栈(Spring Boot)实现的低代码开发平台。以下是对该项目的详细介绍: 一、项目概述 项目名称:lowcode-s…...

大故障,阿里云核心域名疑似被劫持
2025年6月5日凌晨,阿里云多个服务突发异常,罪魁祸首居然是它自家的“核心域名”——aliyuncs.com。包括对象存储 OSS、内容分发 CDN、镜像仓库 ACR、云解析 DNS 等服务在内,全部受到波及,用户业务连夜“塌房”。 更让人惊讶的是&…...

yolov11与双目测距结合,实现目标的识别和定位测距(onnx版本)
一、yolov11双目测距基本流程 yolov11 双目测距的大致流程就是: 双目标定 --> 立体校正(含消除畸变) --> 立体匹配 --> 视差计算 --> 深度计算(3D坐标)计算 --> 目标检测 --> 目标距离计算及可视化 下面将分别阐述每…...

【数据结构】6. 时间与空间复杂度
文章目录 一、算法效率1、算法的复杂度 二、时间复杂度1、时间复杂度的概念2、大O的渐进表示法3、常见时间复杂度计算1)实例12)实例23)实例34)实例45)实例56)实例67)实例78)实例8 三…...
微信小程序带参分享、链接功能
分享链接的功能是右上角点...然后复制链接,可以直接点击 #小程序://**商城/p5XqHti******* 这种链接直接从其他地方跳转到小程序 wx.onCopyUrl(() > {return {query: "shareCode" this.shareCode,}; }); query就是参数,直接在onload里…...

字符串字典序最大后缀问题详解
字符串字典序最大后缀问题详解 一、问题定义与背景1.1 问题描述1.2 实际应用场景 二、暴力解法及其局限性2.1 暴力解法思路2.2 代码示例2.3 局限性分析 三、双指针算法:高效解决方案3.1 算法核心思想3.2 算法步骤3.3 代码实现3.4 与暴力解法对比 四、复杂度分析4.1 …...

IDEA中的debug使用技巧
详细教学视频见b站链接:IDEA的debug调试 CSDN详细博客文章链接:debug文章学习 以下为个人学习记录总结: idea中的debug模式界面如下: 现在详细介绍图标作用: 图标一(Show Execution Point)&…...

Python训练营打卡 Day46
道注意力(SE注意力) 知识点回顾: 不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通道注意力:模型的定义和插入的位置通道注意力后…...

Golang——5、函数详解、time包及日期函数
函数详解、time包及日期函数 1、函数1.1、函数定义1.2、函数参数1.3、函数返回值1.4、函数类型与变量1.5、函数作参数和返回值1.6、匿名函数、函数递归和闭包1.7、defer语句1.8、panic和recover 2、time包以及日期函数2.1、time.Now()获取当前时间2.2、Format方法格式化输出日期…...

DVWA全靶场
目录 暴破 Low - 万能密码 Medium - 转义 High - Token Impossible 命令注入 CSRF跨站请求伪造 - 抓包 Low Medium - 域名限制 High - 域名限制xss 文件包含 - 页面点点点 Low Medium - 过滤http:// High - file Impossible - 写死 文件上传 Low Medium - 文件…...
Neo4j 数据建模:原理、技术与实践指南
Neo4j 作为领先的图数据库,其核心优势在于利用图结构直观地表达和高效地查询复杂关系。其数据建模理念与传统关系型数据库截然不同,专注于实体(节点)及其连接(关系)。以下基于官方文档,系统阐述其建模原理、关键技术、实用技巧及最佳实践: 一、 核心原理:以关系为中心…...