IoTDB 如何修改测点类型

问题

  1. 时序数据库 IoTDB 如果在数据插入时未指定属性值的类型,而后期需要将原本推断为 INT32 类型的数据强制转换为 TEXT 类型,应如何处理?
  2. 如果字段类型不支持直接修改,是否有其他方案可以实现字段类型的调整?
  3. 如何将设备某个属性的类型从 TEXT 更改为 LONG?
  4. 如何修改已存在数据序列的字段类型,例如将原本为 FLOAT 类型的字段修改为 INT 类型?
  5. 是否可以更改 timeseries 的数据类型,例如将 FLOAT 类型更改为 DOUBLE?

原因

IoTDB 不支持修改已经创建测点的类型。

方案

(1)如果不需要旧数据:

方案一:删除旧序列重新创建新元数据
删除旧序列,并在创建新元数据时手动指定目标数据类型,然后重新写入数据。

方案二:修改自动推断策略配置
删除旧序列,修改自动推断策略配置并重启服务,以实现自动创建新的目标类型元数据。

自动创建模式配置:

####################
### Configurations for creating schema automatically
##################### Whether creating schema automatically is enabled
# If true, then create database and timeseries automatically when not exists in insertion
# Or else, user need to create database and timeseries before insertion.
# effectiveMode: hot_reload
# Datatype: boolean
enable_auto_create_schema=true# ALL data types: BOOLEAN, INT32, INT64, FLOAT, DOUBLE, TEXT# register time series as which type when receiving boolean string "true" or "false"
# effectiveMode: hot_reload
# Datatype: TSDataType
# Options: BOOLEAN, TEXT
boolean_string_infer_type=BOOLEAN# register time series as which type when receiving an integer string and using float or double may lose precision
# effectiveMode: hot_reload
# Datatype: TSDataType
# Options: DOUBLE, FLOAT, INT32, INT64, TEXT
integer_string_infer_type=DOUBLE# register time series as which type when receiving a floating number string "6.7"
# effectiveMode: hot_reload
# Datatype: TSDataType
# Options: DOUBLE, FLOAT, TEXT
floating_string_infer_type=DOUBLE# register time series as which type when receiving the Literal NaN.
# effectiveMode: hot_reload
# Datatype: TSDataType
# Options: DOUBLE, FLOAT, TEXT
nan_string_infer_type=DOUBLE

(2)如果需要旧数据:

  1. 使用 Select into + Cast:具体支持的转换规则详见官方文档:内置函数与表达式章节。
# 举例:将DOUBLE类型转成TEXT类型
select cast(L1_BidPrice as TEXT) into root.stock.Legacy.0700HK(L1_BidPrice_back) from root.stock.Legacy.0700HK
  1. 导入导出工具:将数据导出 CSV 文件,修改类型后再重新导入目标类型一致的序列。
  2. 自定义程序:
  • TsFile 重写:调用 TsFile 写入 API 重写 TsFile。
  • Session 数据重写:查询旧数据,修改为指定类型后再批量写入到新测点。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚幻引擎内各个组件的关系

1. GameMode: 关系: GameMode 是游戏规则的制定者和管理者,GameState 则是游戏状态的记录者和同步者。GameMode 通常负责创建和初始化 GameState。 交互: GameMode 可以直接访问和修改 GameState 的属性,例如更新游戏分数、切换游戏阶段等。GameState 的变化会通过 GameMode …

力扣刷题TOP101: 32.BM39 序列化二叉树

目录: 目的 思路 复杂度 记忆秘诀 python代码 目的: 请实现两个函数,分别用来序列化和反序列化二叉树,不对序列化之后的字符串进行约束,但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。 思路…

MySQL有哪些高可用方案?

大家好,我是锋哥。今天分享关于【MySQL有哪些高可用方案?】面试题。希望对大家有帮助; MySQL有哪些高可用方案? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 高可用方案旨在确保数据库系统的高可靠性、低宕机时间、以及在硬件故障…

An error happened while trying to locate the file on the Hub and we cannot f

An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. 关于上述comfy ui使用control net预处理器的报错问…

Nginx之配置防盗链(Configuring Anti-hotlinking in Nginx)

运维小白入门——Nginx配置防盗 什么是防盗链: 防盗链技术主要用于防止未经授权的第三方或域名访问网站的静态资源。例如,一个网站可能拥有独特的图片素材,为了防止其他网站通过直接链接图片URL的方式访问这些图片,网站管理员会采…

深度学习:CPU和GPU算力

一、算力 “算力”(Computing Power)通常是指计算机或计算系统执行计算任务的能力。它是衡量系统处理数据、运行算法以及执行计算任务效率的重要指标。根据上下文,算力可以在以下几种场景中具体化: 1. 单机算力 CPU算力&#x…

【AI日记】24.12.13 kaggle 比赛 2-3 大扫除、断舍离、自己做饭

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Regression with an Insurance Dataset参考:kaggle 回归类入门比赛 House Prices - Advanced Regression Techniques内容:构建自己的EDA&#xff08…

【echarts】数据过多时可以左右滑动查看(可鼠标可滚动条)

1. 鼠标左右拖动 在和 series 同级的地方配置 dataZoom: dataZoom: [{type: inside, // inside 鼠标左右拖图表,滚轮缩放; slider 使用滑动条start: 0, // 左边的滑块位置,表示从 0 开始显示end: 60, // 右边的滑块位置&#xf…

pytest -s执行的路径

pytest -s执行的路径: 直接写pytest -s,表示从当前路径下开始执行全部.py的文件。 执行具体指定文件:pytest -s .\testXdist\test_dandu.py 下面这样执行pytest -s 会报找不到文件或没权限访问, 必须要加上具体文件路径pytest -s…

AP AUTOSAR网络管理——Network Management R24-11

AP AUTOSAR——Network Management 1.网络管理 网络管理(Network Management,NM)的定义: NM是自适应平台服务中的一个功能集群,主要管理每个网络节点(包括物理网络和部分网络)在正常运行模式和总线关闭睡眠模式之间的转换。NM的操作独立于所使用的通信网络绑定。直接网…

预处理器Stylus的介绍及使用,并同Less、Sass进行对比(简单介绍)

目录 一、安装与配置 安装Node.js: 安装Stylus: 配置Webpack: 二、编写Stylus代码 定义变量: 使用变量: 嵌套语法: 混合(Mixins): 函数: 6.关键字参…

内网跨“边界”

背景 “边界”通常是指内网与外网之间的那条边界,在内网中,边界也包括各个区域之间的边界。本篇文章主要介绍在内网各种环境中的shell反弹、内网穿透及文件传输方面常用的一些方法和工具,利用这些方法来跨越内网中的层层边界。 当我们获取到…

Docker的镜像

目录 1. 镜像是什么??2. 镜像命令详解2.1 镜像命令清单2.2 docker rmi命令2.3 docker save命令2.4 docker load命令2.5 docker history命令2.6 docker import命令2.7 docker image prune命令2.8 docker build命令 3. 镜像的操作4. 离线迁移镜像5. 镜像存…

Vue Web开发(五)

1. axios axios官方文档 异步库axios和mockjs模拟后端数据,axios是一个基于promise的HTTP库,使用npm i axios。在main.js中引入,需要绑定在Vue的prototype属性上,并重命名。   (1)main.js文件引用 imp…

【合作原创】使用Termux搭建可以使用的生产力环境(六)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(五)-CSDN博客我们讲到了如何美化xfce4桌面,达到类似于Windows的效果,这一篇将继续在上一篇桌面的基础上给我们的系统装上必要的软件,让它做到真正可以使…

Java学习教程,从入门到精通,Java Stack(堆栈)语法知识点及语法知识点(58)

Java Stack(堆栈)语法知识点详解 一、概述 栈(Stack)是一种后进先出(Last In First Out, LIFO)或先进后出(First In Last Out, FILO)的数据结构,它只允许在一端&#x…

stm32 hal使用sysTick定时器非阻塞延时方法

简介 一种在stm32 hal库中实现非阻塞任务处理扫描的方式。 stm32f1xx_it.c /* USER CODE BEGIN 0 */ uint8_t Time_1ms 0; uint8_t Time_10ms 0;/* USER CODE END 0 *//*** brief This function handles System tick timer.*/ void SysTick_Handler(void) {/* USER CODE B…

docker简单私有仓库的创建

1:下载Registry镜像 导入镜像到本地中 [rootlocalhost ~]# docker load -i registry.tag.gz 进行检查 2:开启Registry registry开启的端口号为5000 [rootlocalhost ~]# docker run -d -p 5000:5000 --restartalways registry [rootlocalhost ~]# dock…

AI技术架构:从基础设施到应用

人工智能(AI)的发展,正以前所未有的速度重塑我们的世界。了解AI技术架构,不仅能帮助我们看懂 AI 的底层逻辑,还能掌握其对各行业变革的潜力与方向。 一、基础设施层:AI 技术的坚实地基 基础设施层是 AI 技…

Python Turtle 实现动态时钟:十二时辰与星空流星效果

在这篇文章中,我将带你通过 Python 的 turtle 模块构建一个动态可视化时钟程序。这个时钟不仅具备传统的时间显示功能,还融合了中国古代的十二时辰与八卦符号,并通过动态星空、流星效果与昼夜背景切换,为程序增添了观赏性和文化内…