更新时间:2024-11-29 GMT+08:00
IoTDB数据导出
操作场景
该任务指导用户使用“export-csv.sh”将数据从IoTDB导出为CSV格式的文件。
导出CSV格式的数据文件,可能存在注入风险,请谨慎使用。
前提条件
- 已安装客户端,例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
- 各组件业务用户由MRS集群管理员根据业务需要创建。安全模式下,“机机”用户需要下载keytab文件,“人机”用户第一次登录时需修改密码。
- 服务端默认开启了SSL,需参考使用IoTDB客户端章节生成“truststore.jks”证书,并拷贝到“客户端安装目录/IoTDB/iotdb/conf”目录下。
操作步骤
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录。
- 执行以下命令配置环境变量。
- 若当前集群开启了Kerberos认证,执行以下命令认证当前用户,若集群未开启Kerberos认证请跳过该步骤。
- 执行以下命令,切换“export-csv.sh”运行脚本所在目录。
- 在运行导出脚本之前,需要输入一些查询或指定一些SQL文件。如果在一个SQL文件中有多个SQL,SQL应该被换行符分割。例如:
select * from root.fit.d1 select * from root.sg1.d1
- 运行“export-csv.sh”,导出数据。
./export-csv.sh -h IoTDBServer实例节点的业务ip -p IoTDBServer RPC端口 -td <directory> [-tf <time-format> -s <sqlfile>]
运行示例:
./export-csv.sh -h x.x.x.x -p 22260 -td ./ # Or ./export-csv.sh -h x.x.x.x -p 22260 -td ./ -tf yyyy-MM-dd\ HH:mm:ss # Or ./export-csv.sh -h x.x.x.x -p 22260 -td ./ -s sql.txt # Or ./export-csv.sh -h x.x.x.x -p 22260 -td ./ -tf yyyy-MM-dd\ HH:mm:ss -s sql.txt
- IoTDBServer实例节点的业务IP地址可登录FusionInsight Manager后选择“集群 > 服务 > IoTDB > 实例”查看。
- RPC端口默认为22260,可通过“集群 > 服务 > IoTDB > 配置 > 全部配置”,搜索参数“IOTDB_SERVER_RPC_PORT”获得。
- 若导出字段存在,特殊字符:整个字段会被用双引号括起来,例如:hello,world导出为"hello,world"。
- 若导出字段存在"特殊字符:整个字段会被用双引号括起来且"会被替换为\",例如:"world"导出为"\"world\""。
- 运行7的命令会出现CSV注入风险提示,输入“yes”继续执行命令,输入其他,则取消数据导出操作。
例如:输入“yes”后,需根据提示输入业务用户名和对应密码,当显示以下信息,表示数据导出成功。
- 为避免安全风险,推荐使用交互式方式导出CSV文件。
- 导出CSV文件也可使用“./export-csv.sh -h IoTDBServer实例节点的业务ip -p IoTDBServer RPC端口 -u 业务用户名 -pw 业务用户密码 -td <directory> [-tf <time-format> -s <sqlfile>]”命令。
运行示例:
./export-csv.sh -h x.x.x.x -p 22260 -u test -pw 密码 -td ./ # Or ./export-csv.sh -h x.x.x.x -p 22260 -u test -pw 密码 -td ./ -tf yyyy-MM-dd\ HH:mm:ss # Or ./export-csv.sh -h x.x.x.x -p 22260 -u test -pw 密码 -td ./ -s sql.txt # Or ./export-csv.sh -h x.x.x.x -p 22260 -u test -pw 密码 -td ./ -tf yyyy-MM-dd\ HH:mm:ss -s sql.txt
如下显示表示CSV文件导出成功:
父主题: IoTDB数据导入与导出