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/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


在这里插入图片描述

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

Could not load content