IoTDB数据库导入导出数据

文章目录

    • [1. 需求场景](#1. 需求场景)
    • [2. 解决办法](#2. 解决办法)
      • [2.1 使用 DBeaver 工具](#2.1 使用 DBeaver 工具)
      • [2.2 官方命令](#2.2 官方命令)
    • [3. 可能会遇到的问题](#3. 可能会遇到的问题)

1. 需求场景

我现在遇到的情况:

  • 服务器 和 本地均有 IoTDB 数据库,版本均为 2.0.5,都是表模型
  • 两者的数据库名、数据表均一样 (可以不一样,后面会提到)
  • 服务器 和 本地 均是 Windows 系统

要求: 需要将服务器中的某个表 导出;然后再导入到本地上。
目的: 本地需要测试数据是否正常,但是服务器和本地不再一个网段,所以本地无法访问服务器中的 IoTDB 数据

2. 解决办法

2.1 使用 DBeaver 工具

首先想到使用 DBeaver 工具进行导入导出:

一般我们选择导出 csv 文件。导出可以正常进行,但我们导入数据后,会出现各种错误。【放弃】

2.2 官方命令

那就是参考官方文档中给出的导出导入命令进行。

注意: 以下针对 IoTDB 版本为 2.0.5、2.0.6,如果其余版本使用了这个命令后出现了问题,则请参考官方文档。

首先: 进入 IoTDB 的安装目录,进入 tools 的 windows 目录,如下:

然后 当前目录下 cmd 输入下面命令

命令:

1、导出命令:

bash 复制代码
export-data.bat -ft csv -sql_dialect table -h 127.0.0.1 -p 6667 -u root -pw root -db 数据库名(填写自己的数据库名)-q "select * from 表明(填写自己的数据表名)" -t "D:\iexport"

-h、-p :根据 自己的服务器地址和端口填写
-u、-pw :填写 自己的用户名和密码(没有就不写)
-t :是导出 csv 文件的存放位置(可自定义)

执行完后,会看到文件夹中有很多个 csv 文件 (不用管,也不打开看),直接执行下面的导入命令即可。

2、 导入命令:

bash 复制代码
import-data.bat -ft csv -sql_dialect table -h 127.0.0.1 -p 6667 -u root -pw root -db 数据库名 -table 表名 -s "D:\iexport"

-s :导出 csv 文件的位置

运行后看到下面的 导入完成 即可(上面的 警告 不用管,看到 导入完成 就行)

3. 可能会遇到的问题

1、首先导入、导出所在的服务器需要有 Java 环境,否则运行命令时会报错。

2、Java 环境变量的路径中不要包含空格,否则也会报错:

bash 复制代码
E:\apache-iotdb-2.0.5-all-bin\tools\windows>export-data.bat -ft csv -sql_dialect table -h xxx -p xxx -u root -pw root -db xxx-q "select * from xxx" -t "E:\iexport" 
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_333\lib;C:\Program 

所以需要在 系统环境变量 中配置的 JAVA_HOME 路径中不要有 空格 和 中文。

相关推荐
尚雷55809 小时前
Oracle ASM 存储更换与整体迁移实战整理
数据库·oracle·ocr·asm
Nontee9 小时前
如何用 MySQL 实现一个可重入的锁?
数据库·mysql
麦聪聊数据9 小时前
数据服务轻量化:基于API架构的企业数据统一交付与消费方案
数据库·架构
小碗羊肉10 小时前
【Redis | 第三篇】缓存(Cache)
数据库·redis·缓存
OceanBase数据库官方博客10 小时前
常州公积金采用OceanBase,三年稳定运行并实现智慧服务新范式
数据库·oceanbase
白雪落青衣10 小时前
BUU SQL COURSE 1 sql注入
数据库·sql·web安全·网络安全
徒手猫10 小时前
SQL CTE 从零到一:理解与实战
数据库
有味道的男人10 小时前
Open Claw对接小红书笔记详情
数据库·笔记
共绩算力10 小时前
第四辑:8 张「印刷品与示意图」——几何海报到工间操
前端·数据库·人工智能·共绩算力