IoTDB 常见问题 QA 第三期

关于 IoTDB 的 Q & A

IoTDB Q&A 第三期持续更新!我们将定期汇总我们将定期汇总社区讨论频繁的问题,并展开进行详细回答,通过积累常见问题“小百科”,方便大家使用 IoTDB。

Q1:查询最新值 & null 数据相加方法

outside_default.png

问题现象 1

如果我想查 1000 个点的最新值,这些点的设备地址可能都不相同,那么我怎么查?

outside_default.png

解决方案

1. from 后面可以写多个设备

2. select 后面也可以写多个测点

3. 还可以用通配符

outside_default.png

问题现象 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])

outside_default.png

解决方案

可以用 case when 来实现,用户手册中有使用参考:

https://iotdb.apache.org/zh/UserGuide/latest/SQL-Manual/Function-and-Expression.html#case

Q2:集群中某一节点掉线导致删除序列失败

outside_default.png

问题

1.3.2 版本三台机器的集群部署,删除时间序列时,三台机器都在线没问题,掉了一台机器之后报错,请问是什么原因?

6a28fe46ba819e2e93f2d7becc58b9aa.png

outside_default.png

原因

当前版本中,删除序列时所有元数据引擎的缓存都需要强一致性失效,某一节点不能成功则全部失败。因此元数据删除操作是必须要求所有节点都在线的。

outside_default.png

方案

恢复集群异常节点的状态,再进行删除操作。

Q3:查询时报可用内存不足

outside_default.png

现象

3C3D 集群中,进行查询时报可用内存不足,即使是 show devices 这样简单的查询也会报内存不足。

778f968ef7edd7d9ce4562fd86920be2.png

outside_default.png

原因

1. 客户目前使用的 JDK 版本是 1.8, 该版本 JDK 对 GC 控制效果不佳,有可能出现可用内存不足的情况,同时 GC 耗时较长,内存得不到及时释放。

b1291cbce37f344f1fd8408954e6719d.png

2. 集群 3 个节点之间网络延迟不一致,影响了集群间通信,导致节点之间吞吐不一致。

910803a1066e0d5488962d06fee1e683.png

outside_default.png

解决方案

1. 升级 JDK 版本,由 JDK1.8 升级到 JDK17, 高版本 JDK 相比低版本有如下提升:

  • 性能优化:JDK 17 的默认垃圾收集算法为 G1,提供了更好的吞吐量和更短的停顿时间,这对于提高应用程序的整体性能和用户体验非常有帮助。

  • 更好的内存管理:JDK 17 提供了更先进的内存管理功能,包括更强的封装和更有效的内存分配策略,这有助于提高内存使用效率和减少内存泄漏。

2. 解决集群间网络延迟不一致的问题。

采用上述解决方案后,查询可用内存不足的问题得到解决,同时查询效率得到明显提升。

outside_default.png

启示

以后如果遇到集群性能发挥不佳的情况,可以排查一下集群间的网络延迟情况,这个对集群性能影响还是比较大的。

Q4:Continuous Query 在 ConfigNode 运行还是在 DataNode 运行

outside_default.png

问题

请问 Continuous Query 在 ConfigNode 运行还是在 DataNode 运行?

outside_default.png

解答

Continuous Query 执行阶段运行在 DataNode 中,但 Continuous Query 的调度和控制阶段(比如定时向 DataNode 发起查询)是在 ConfigNode 发生的。

IoTDB 中的 ConfigNode 仅用于做集群管理及节点调度等,所有与元数据/数据相关的操作均在 DataNode 节点上进行。

Q5:IoTDB 升级后 Trigger 不可用

outside_default.png

问题现象

目前将 1.3.2 版本升级到了 1.3.3(通过替换 lib 的方式)。替换后发现原有触发器,show triggers 显示 active,但实际并未生效。卸载安装后依旧无法监听路径上的插入数据,不知道触发器逻辑是否有变更?没有发现异常日志,回退 1.3.2 版本后正常。

outside_default.png

原因

Apache TsFile 目前已经独立成了一个项目,原来在 TsFile 下的类的包名都发生了变化,因此 Trigger 中依赖的 TsFile 路径发生了变化,需要重新打包注册。

outside_default.png

方案

  • 需要更新依赖版本 iotdb-server 重新打包注册插件。

  • UDF、Pipe 同理。

Q6:数据类型相关问题

指定数据类型

outside_default.png

问题 1

通过 tools/import-data.sh 导入数据时,发现默认推断类型配置没有生效,请问是什么原因?

outside_default.png

现象

715e07b3988005be0d65364e3d15351b.jpeg

6916cfd3f1ab7804c4fcf494bcefa7c4.jpeg

outside_default.png

解决方案

通过 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。

数据小数点位数是否影响查询性能

outside_default.png

问题 2

存 double 型数据,截短保留 2 位小数和不截短,在查询效率和速度上有没有区别?

outside_default.png

回答

没有,double 的长度和小数位数没太大关系。

升级后数据转换问题

outside_default.png

问题 3

90f7bee4d7784ee9f19600a4a8095a30.jpeg

上面的查询在 1.0 版本是没问题的,1.3.2 版本就提示转换错误,这个可以设置吗,还是新版本只能这样转换?

outside_default.png

回答

这个是因为尝试将字符串 'bad' 转成 float 时出错了。

3696daa9045ebb3d2a41144e75cb0469.png

也可用正则表达式替换处理:

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 龙头企业|博世力士乐|德国宝马|北斗智慧物联|京东|昆仑数据|怡养科技|绍兴安瑞思

a2dace37b29500c8d0363a568920b6c4.gif

f583a58f2f06b57996bbc28120ab5bbc.jpeg

f2a377a5e48c81e11cfc10689b9184c3.jpeg

758532c45d94ef08e119028a59538d1e.jpeg

1a0e82932559c1c1d324cbd22714530f.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库(SQL分类)

SQL分类 分类全称解释DDLData Definition Language数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09;DMLData Manipulation Language数据操作语言&#xff0c;用来对数据库表中的数据进行增删改DQLData Query Languag…

Swift 趣味开发:查找拼音首字母全部相同的 4 字成语(上)

概述 Swift 语言是一门现代化、安全、强大且还算性感的语言。在去年 WWDC 24 中苹果正式推出了秃头码农们期待许久的 Swift 6.0&#xff0c;它进一步完善了 Swift 语言的语法和语义&#xff0c;并再接再厉——强化了现代化并发模型的安全性和灵活性。 这里我们不妨用 Swift 来…

C++ STL之容器介绍(vector、list、set、map)

1 STL基本概念 C有两大思想&#xff0c;面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型&#xff0c;而是使用模板来代替实际类型&#xff0c;这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL&#xff08;Standard …

VUE3 + Ant Design Vue4 开发笔记

异常记录 [Vue warn]: Extraneous non-props attributes (options) were passed to component but could not be automatically inherited because component renders fragment or text root nodes 定位原因解决方法 错误的中文释义&#xff1a;[Vue 警告]&#xff1a;传递给…

QT跨平台应用程序开发框架(2)—— 初识QT

目录 一&#xff0c;创建helloworld 1.1 通过图形化 1.2 通过代码 1.3 通过编辑框 1.4 使用按钮 二&#xff0c;对象树 2.1 关于对象树 2.2 演示释放流程 三&#xff0c;乱码问题 3.1 为什么会有乱码问题 3.2 解决乱码问题 四&#xff0c;认识Qt坐标系 五&#xf…

【搭建JavaEE】(3)前后端交互,请求响应机制,JDBC数据库连接

前后端交互 Apache Tomat B/S目前主流。 tomat包含2部分&#xff1a; apache容器 再认识servlet 抽象出的开发模式 项目创建配置 maven javaeetomcat 忽略一些不用的文件 webapp文件夹 HiServlet 这里面出现了webinfo&#xff0c;这个别删因为这个呢&#xff0c;是这这个这…

美摄科技PC端视频编辑解决方案,为企业打造专属的高效创作平台

在当今这个信息爆炸的时代&#xff0c;视频已成为不可或缺的重要内容形式&#xff0c;美摄科技推出了PC端视频编辑解决方案的私有化部署服务&#xff0c;旨在为企业提供一款量身定制的高效创作平台。 一、全面功能&#xff0c;满足企业多样化需求 美摄科技的PC端视频编辑解决…

探索图像编辑的无限可能——Adobe Photoshop全解析

文章目录 前言一、PS的历史二、PS的应用场景三、PS的功能及工具用法四、图层的概念五、调整与滤镜六、创建蒙版七、绘制形状与路径八、实战练习结语 前言 在当今数字化的世界里&#xff0c;视觉内容无处不在&#xff0c;而创建和编辑这些内容的能力已经成为许多行业的核心技能…

STM32-笔记41-RTC(实时时钟)

一、什么是RTC&#xff1f; 实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路&#xff0c;通常称为时钟芯片。 实时时钟是一个独立的定时器。 RTC模块拥有一组连续计数的计数器&#xff0c;在相应软件配置下&#xff0c;可提供时钟日历的功能。修改计数器的值可以重新设…

51c自动驾驶~合集46

我自己的原文哦~ https://blog.51cto.com/whaosoft/13050104 #世界模型会是L3自动驾驶的唯一解吗 三维空间占有率&#xff08;3D Occupancy&#xff09;预测的目的是预测三维空间中的每个体素是否被占有&#xff0c;如果被占有&#xff0c;则对应的体素将被标记。3D Semant…

mybatis-spring @MapperScan走读分析

接上一篇文章&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145100531&#xff0c; 本文注解分析mybatis-spring中的MapperScan注解&#xff0c;则将容易许多。 目录 MapperScan注解定义ConfigurationClassPostProcessor扫描注册beanDefinitionorg.mybatis.s…

Apache PAIMON 学习

参考&#xff1a;Apache PAIMON&#xff1a;实时数据湖技术框架及其实践 数据湖不仅仅是一个存储不同类数据的技术手段&#xff0c;更是提高数据分析效率、支持数据驱动决策、加速AI发展的基础设施。 新一代实时数据湖技术&#xff0c;Apache PAIMON兼容Apache Flink、Spark等…

SQL面试题1:连续登陆问题

引言 场景介绍&#xff1a; 许多互联网平台为了提高用户的参与度和忠诚度&#xff0c;会推出各种连续登录奖励机制。例如&#xff0c;游戏平台会给连续登录的玩家发放游戏道具、金币等奖励&#xff1b;学习类 APP 会为连续登录学习的用户提供积分&#xff0c;积分可兑换课程或…

电商系统,核心通用架构案例设计方案浅析

文章目录 一、用户系统案例设计1、用户信息的存储方案2、用户注册确保唯一3、用户数据合并方案4、用户敏感信息加密存储5、数据传输安全性6、多用户数据隔离性7、防止恶意注册8、用户好友关系存储方案9、用户登录token方案10、会员优先处理设计 二、网关系统设计1、网关的功能2…

【EI 会议征稿】第四届材料工程与应用力学国际学术会议(ICMEAAE 2025)

2025 4th International Conference on Materials Engineering and Applied Mechanics 重要信息 大会官网&#xff1a;www.icmeaae.com 大会时间&#xff1a;2025年3月7-9日 大会地点&#xff1a;中国西安 截稿时间&#xff1a;2025年1月24日23:59 接受/拒稿通知&#xf…

SQL面试题2:留存率问题

引言 场景介绍&#xff1a; 在互联网产品运营中&#xff0c;用户注册量和留存率是衡量产品吸引力和用户粘性的关键指标&#xff0c;直接影响产品的可持续发展和商业价值。通过分析这些数据&#xff0c;企业可以了解用户行为&#xff0c;优化产品策略&#xff0c;提升用户体验…

【Rust自学】11.7. 按测试的名称运行测试

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 11.7.1. 按名称运行测试的子集 如果想要选择运行的测试&#xff0c;就将测试的名称&#xff08;一个或多个&#xff09;作为cargo test的…

深入浅出 Android AES 加密解密:从理论到实战

深入浅出 Android AES 加密解密&#xff1a;从理论到实战 在现代移动应用中&#xff0c;数据安全是不可忽视的一环。无论是用户隐私保护&#xff0c;还是敏感信息的存储与传输&#xff0c;加密技术都扮演着重要角色。本文将以 AES&#xff08;Advanced Encryption Standard&am…

jupyter notebook练手项目:线性回归——学习时间与成绩的关系

线性回归——学习时间与学习成绩的关系 第1步&#xff1a;导入工具库 pandas——数据分析库&#xff0c;提供了数据结构&#xff08;如DataFrame和Series&#xff09;和数据操作方法&#xff0c;方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库&#xff0c;p…

JVM虚拟机的组成 笼统理解 六大部分 类加载子系统 运行时数据区 执行引擎 本地接口 垃圾回收器 线程工具

目录 JVM虚拟机的组成&#xff1a;概述 JVM虚拟机的组成&#xff1a;详细解析 1. 类加载子系统 2. 运行时数据区 3. 执行引擎 4. 本地接口 5. 垃圾回收器 6. 线程管理与调试工具 概述 JVM&#xff08;Java Virtual Machine&#xff09;是一个虚拟计算机&#xff0c;执行…