IoTDB 运维必备:元数据导入导出工具使用指南

IoTDB 运维必备:元数据导入导出工具使用指南
在这里插入图片描述

IoTDB 数据导入全攻略:工具、自动加载与 Load SQL 详解

在 IoTDB 的日常运维和数据管理工作中,元数据的导入导出是非常关键的操作。它可以帮助我们实现元数据的备份、迁移以及批量创建。本文将详细介绍 IoTDB 中 import-schemaexport-schema 两款工具的参数配置、运行命令以及实操案例,帮助大家快速掌握元数据的导入导出方法。
在这里插入图片描述

一、元数据导入工具 import-schema

import-schema 工具的作用是将指定路径下创建元数据的脚本文件导入到 IoTDB 中,工具脚本位于 tools 目录下,支持 Unix/OS X 和 Windows 系统。

1.1 参数详解

参数缩写参数全称参数含义是否必填默认值补充说明
-h–host主机名127.0.0.1-
-p–port端口号6667-
-u–username用户名root-
-pw–password密码root-
-sql_dialect–sql_dialect选择 server 模型(tree/table)tree支持树模型和表模型两种类型
-db–database目标数据库-元数据要导入的数据库
-table–table目标表-仅在 sql_dialect 为 table 时生效
-s–source待加载脚本文件(夹)路径-本地目录下的脚本文件或文件夹路径
-fd–fail_dir失败文件保存目录-导入失败的文件会保存到该目录
-lpf–lines_per_failed_file失败文件最大行数100000仅在 sql_dialect 为 table 时生效,范围 0~2147483647
-help–help显示帮助信息--

1.2 运行命令

(1)Unix/OS X 系统
tools/import-schema.sh [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -s <source>[-fd <fail_dir>][-lpf <lines_per_failed_file>]
(2)Windows 系统
  • V2.0.4.x 版本之前
tools\import-schema.bat [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -s <source>[-fd <fail_dir>][-lpf <lines_per_failed_file>]
  • V2.0.4.x 版本及之后
tools\windows\schema\import-schema.bat [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -s <source>[-fd <fail_dir>][-lpf <lines_per_failed_file>]

1.3 实操案例

导入后验证
再次查看时间序列,确认元数据导入成功:

IoTDB>show timeseries root.treedb.**+------------------------------+-----+-----------+--------+--------+-----------+----+----------+--------+------------------+--------+| Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|Deadband|DeadbandParameters|ViewType|+------------------------------+-----+-----------+--------+--------+-----------+----+----------+--------+------------------+--------+|root.treedb.device.temperature|null|root.treedb|DOUBLE| GORILLA| LZ4|null|null|null|null| BASE|| root.treedb.device.humidity|null|root.treedb|DOUBLE| GORILLA| LZ4|null|null|null|null| BASE|+------------------------------+-----+-----------+--------+--------+-----------+----+----------+--------+------------------+--------+

执行导入命令
采用树模型,将 /home/dump0_0.csv 中的元数据导入到 root.treedb 数据库:

./import-schema.sh -sql_dialect tree -s /home/dump0_0.csv -db root.treedb 

导入前验证
先通过 IoTDB 客户端查看目标数据库下的时间序列,确认当前无相关元数据:

IoTDB>show timeseries root.treedb.**+----------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+|Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|Deadband|DeadbandParameters|ViewType|+----------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------++----------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+

二、元数据导出工具 export-schema

export-schema 工具可以将 IoTDB 中指定数据库下的元数据导出为脚本文件,工具脚本同样位于 tools 目录下,支持多系统运行。

2.1 参数详解

参数缩写参数全称参数含义是否必填默认值补充说明
-h–host主机名127.0.0.1-
-p–port端口号6667-
-u–username用户名root-
-pw–password密码root-
-sql_dialect–sql_dialect选择 server 模型(tree/table)tree支持树模型和表模型两种类型
-db–database目标数据库-仅在 sql_dialect 为 table 时必填
-table–table目标表-仅在 sql_dialect 为 table 时生效
-t–target输出文件目标文件夹-路径不存在时会自动新建
-path–path_pattern导出元数据的路径匹配模式-仅在 sql_dialect 为 tree 时必填
-pfn–prefix_file_name导出文件名称前缀dump_dbname.sql导出文件的命名前缀
-lpf–lines_per_file导出文件最大行数10000仅在 sql_dialect 为 tree 时生效
-timeout–query_timeout会话查询超时时间(ms)-1范围 -1~9223372036854775807
-help–help显示帮助信息--

2.2 运行命令

(1)Unix/OS X 系统
> tools/export-schema.sh [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -t <target_directory>[-path <exportPathPattern>][-pfn <prefix_file_name>][-lpf <lines_per_file>][-timeout <query_timeout>]
(2)Windows 系统
  • V2.0.4.x 版本之前
> tools\export-schema.bat [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -t <target_directory>[-path <exportPathPattern>][-pfn <prefix_file_name>][-lpf <lines_per_file>][-timeout <query_timeout>]
  • V2.0.4.x 版本及之后
> tools\windows\schema\export-schema.bat [-sql_dialect<sql_dialect>] -db<database> -table<table>[-h <host>][-p <port>][-u <username>][-pw <password>] -t <target_directory>[-path <exportPathPattern>][-pfn <prefix_file_name>][-lpf <lines_per_file>][-timeout <query_timeout>]

2.3 实操案例

执行如下命令,将 root.treedb 路径下的元数据导出到 /home/ 目录下:

./export-schema.sh -sql_dialect tree -t /home/ -path "root.treedb.**"

导出后的文件内容格式如下:

Timeseries,Alias,DataType,Encoding,Compression root.treedb.device.temperature,,DOUBLE,GORILLA,LZ4 root.treedb.device.humidity,,DOUBLE,GORILLA,LZ4 

三、总结

本文详细介绍了 IoTDB 元数据导入导出的两款核心工具。import-schema 用于将本地脚本中的元数据批量导入 IoTDB,export-schema 则可以将 IoTDB 中的元数据导出为文件,方便备份与迁移。在实际使用过程中,需要根据系统版本选择对应的命令,同时注意区分树模型和表模型的参数差异。掌握这两款工具的使用,能够极大提升 IoTDB 元数据管理的效率。

🌐 附:IoTDB的各大版本

📄 Apache IoTDB 是一款工业物联网时序数据库管理系统,采用端边云协同的轻量化架构,支持一体化的物联网时序数据收集、存储、管理与分析 ,具有多协议兼容、超高压缩比、高通量读写、工业级稳定、极简运维等特点。

版本IoTDB 二进制包IoTDB 源代码发布说明
2.0.5- All-in-one
- AINode
- SHA512
- ASC
- 源代码
- SHA512
- ASC
release notes
1.3.5- All-in-one
- AINode
- SHA512
- ASC
- 源代码
- SHA512
- ASC
release notes
0.13.4- All-in-one
- Grafana 连接器
- Grafana 插件
- SHA512
- ASC
- 源代码
- SHA512
- ASC
release notes

✨ 目前最新版本为2.0.6,去获取:https://archive.apache.org/dist/iotdb/

联系博主

    xcLeigh 博主,全栈领域优质创作者,博客专家,目前,活跃在ZEEKLOG、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。

    亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

     愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

    至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


     💞 关注博主 🌀 带你实现畅游前后端!

     🏰 大屏可视化 🌀 带你体验酷炫大屏!

     💯 神秘个人简介 🌀 带你体验不一样得介绍!

     🥇 从零到一学习Python 🌀 带你玩转Python技术流!

     🏆 前沿应用深度测评 🌀 前沿AI产品热门应用在线等你来发掘!

     💦 :本文撰写于ZEEKLOG平台,作者:xcLeigh所有权归作者所有)https://xcleigh.blog.ZEEKLOG.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


在这里插入图片描述

     📣 亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(或者关注下方公众号,看见后第一时间回复,还有海量编程资料等你来领!),博主看见后一定及时给您答复 💌💌💌

Read more

Flutter for OpenHarmony: Flutter 三方库 pedantic_mono 引入最严格的代码静态审计规范(鸿蒙项目代码质量卫士)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 项目开发,尤其是多人协作的大型工程时,“代码风格不统一”和“潜在逻辑风险”是性能和维护的双重杀手。虽然 Dart 官方提供了 lints 包,但其约束力往往较弱。 pedantic_mono 是一套极度严格、由社区资深开发者维护的统计审计(Lint)规则集。它不仅包含了基础的排版规范,更深入到了异步安全(Async Safely)、集合操作性能以及代码健壮性等多个维度。引入它,就像是为你的鸿蒙项目请来了一位 24 小时待命的“代码审计专家”。 一、核心审计范围图 pedantic_mono 覆盖了从变量命名到高阶逻辑的每个角落。 pedantic_mono 规则库 基础规范 (命名/排序) 异步安全 (忘记 await/

By Ne0inhk
Flutter 三方库 lazy_evaluation 的鸿蒙化适配指南 - 深度调优计算性能、实现“按需而动”的极致资源管理方案

Flutter 三方库 lazy_evaluation 的鸿蒙化适配指南 - 深度调优计算性能、实现“按需而动”的极致资源管理方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 lazy_evaluation 的鸿蒙化适配指南 - 深度调优计算性能、实现“按需而动”的极致资源管理方案 前言 在高性能应用的开发中,我们常说“最好的优化就是不做无用功”。然而,在复杂的逻辑链中,我们往往会预先计算一堆可能根本不会被用到的变量或模型,这在资源受限的移动设备(尤其是需要极速响应的鸿蒙设备)上是对电池和 CPU 的极大浪费。 惰性求值(Lazy Evaluation)是一种优雅的策略:它确保一个昂贵的计算过程只在程序真正需要其结果时才执行,且结果会被缓存以备后用。 lazy_evaluation 为 Dart 提供了一种极简的封装,完美补齐了编译器层面某些惰性特性的缺失。在 OpenHarmony 系统的适配实操中,我们将看到它如何帮助我们实现更精细的初始化策略,以及如何在确保“鸿蒙式流畅”的同时,极限压榨硬件能效。 一、原理解析 / 概念介绍

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 intersperse 优雅在鸿蒙列表项间插入间隔或装饰(UI 细节处理助手)

Flutter for OpenHarmony: Flutter 三方库 intersperse 优雅在鸿蒙列表项间插入间隔或装饰(UI 细节处理助手)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在 OpenHarmony 应用的 UI 设计中,我们经常需要在列表(List)或一排组件(Column/Row)之间插入特定的元素,例如: 1. 在一排按钮中间插入分隔线。 2. 在列表数据项之间插入间隙(Spacing)。 3. 为每个组件之间添加逗号或其他符号。 常见的做法是手写 for 循环并通过索引判断。但这种方式不仅代码丑陋,且在处理动态列表时极其容易出错(例如忘记最后一个元素不加分隔符)。 intersperse 是一个极简的扩展库。它通过为 Iterable 增加一个极其直观的方法,彻底解决了“元素间插入”这一烦人的小问题。 一、核心操作图解 intersperse 提供了一种“无感插入”的流式处理方式。 [A, B, C] (原始数据) intersperse(

By Ne0inhk
Windows装Docker至D盘/其他盘(最新,最准确,直接装)

Windows装Docker至D盘/其他盘(最新,最准确,直接装)

前言 Docker的默认安装路径为 C:\你的用户名\AppData\Local\Docker\wsl 这样安装常常会导致C盘爆满。目前现有博客的安装方法往往不能把docker的container和image也装在非C盘。本博客旨在用最简单的方式,把Docker Deskstop的images和container装在D盘中。 安装前,请提前打开WSL2, 步骤 1. 上官网下载Docker Desktop Installer.exe 2. 以管理员身份打开Windows终端,并转到你下载文件的位置。 输入:cd + 你Docker Desktop Installer.exe下载到的地址。比如,我本机的命令为: cd C:\Users\ASUS\Downloads 3. 在命令提示符内运行下面代码,并根据你的安装需求做出修改: start /w “” “Docker Desktop Installer.exe” install -accept-license --installation-dir=“D:

By Ne0inhk