

IoTDB 数据导入全攻略:工具、自动加载与 Load SQL 详解
在 IoTDB 的日常运维和数据管理工作中,元数据的导入导出是非常关键的操作。它可以帮助我们实现元数据的备份、迁移以及批量创建。本文将详细介绍 IoTDB 中 import-schema 和 export-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 实操案例
+———-+—–+——–+——–+——–+———–+—-+———-+——–+——————+——–+
|Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|Deadband|DeadbandParameters|ViewType|
+———-+—–+——–+——–+——–+———–+—-+———-+——–+——————+——–+
+———-+—–+——–+——–+——–+———–+—-+———-+——–+——————+——–+
+——————————+—–+———–+——–+——–+———–+—-+———-+——–+——————+——–+
| 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|
+——————————+—–+———–+——–+——–+———–+—-+———-+——–+——————+——–+
二、元数据导出工具 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 是一款工业物联网时序数据库管理系统,采用端边云协同的轻量化架构,支持一体化的物联网时序数据收集、存储、管理与分析 ,具有多协议兼容、超高压缩比、高通量读写、工业级稳定、极简运维等特点。
| 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 博主,全栈领域优质创作者,博客专家,目前,活跃在CSDN、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。
亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。
愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。
至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。
💞 关注博主 🌀 带你实现畅游前后端!
🏰 大屏可视化 🌀 带你体验酷炫大屏!
💯 神秘个人简介 🌀 带你体验不一样得介绍!
🥇 从零到一学习Python 🌀 带你玩转Python技术流!
🏆 前沿应用深度测评 🌀 前沿AI产品热门应用在线等你来发掘!
💦 注:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有) ,https://xcleigh.blog.csdn.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。

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




