元数据导入
1. 功能概述
元数据导入工具 import-schema.sh 位于tools/schema 目录下,能够将指定路径下创建元数据的脚本文件导入到 UDB-DS 中。
2. 功能详解
2.1 参数介绍
| 参数缩写 | 参数全称 | 参数含义 | 是否为必填项 | 默认值 |
|---|---|---|---|---|
-h |
-- host |
主机名 | 否 | 127.0.0.1 |
-p |
--port |
端口号 | 否 | 7777 |
-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 |
指定失败文件最大写入数据的行数,只在-sql_dialect为 table 类型下生效。 |
否 | 100000范围:0~Integer.Max=2147483647 |
-help |
--help |
显示帮助信息 | 否 |
2.2 运行命令
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.3 运行示例
将 /home 下的文件 dump_database1.sql 导入到 database2 中,文件内容如下:
DROP TABLE IF EXISTS table1;
CREATE TABLE table1(
time TIMESTAMP TIME,
region STRING TAG,
plant_id STRING TAG,
device_id STRING TAG,
model_id STRING ATTRIBUTE,
maintenance STRING ATTRIBUTE,
temperature FLOAT FIELD,
humidity FLOAT FIELD,
status BOOLEAN FIELD,
arrival_time TIMESTAMP FIELD
);
DROP TABLE IF EXISTS table2;
CREATE TABLE table2(
time TIMESTAMP TIME,
region STRING TAG,
plant_id STRING TAG,
device_id STRING TAG,
model_id STRING ATTRIBUTE,
maintenance STRING ATTRIBUTE,
temperature FLOAT FIELD,
humidity FLOAT FIELD,
status BOOLEAN FIELD,
arrival_time TIMESTAMP FIELD
);
执行脚本:
./import-schema.sh -sql_dialect table -s /home/dump_database1.sql -db database2
# database2 不存在时,提示错误信息如下
The target database database2 does not exist
# database2 存在时,提示成功
Import completely!
验证导入元数据:
# 导入前
UDB-DS:database2> show tables
+---------+-------+
|TableName|TTL(ms)|
+---------+-------+
+---------+-------+
Empty set.
# 导入后
UDB-DS:database2> show tables details
+---------+-------+------+-------+
|TableName|TTL(ms)|Status|Comment|
+---------+-------+------+-------+
| table2| INF| USING| null|
| table1| INF| USING| null|
+---------+-------+------+-------+
UDB-DS:database2> desc table1
+------------+---------+---------+
| ColumnName| DataType| Category|
+------------+---------+---------+
| time|TIMESTAMP| TIME|
| region| STRING| TAG|
| plant_id| STRING| TAG|
| device_id| STRING| TAG|
| model_id| STRING|ATTRIBUTE|
| maintenance| STRING|ATTRIBUTE|
| temperature| FLOAT| FIELD|
| humidity| FLOAT| FIELD|
| status| BOOLEAN| FIELD|
|arrival_time|TIMESTAMP| FIELD|
+------------+---------+---------+
UDB-DS:database2> desc table2
+------------+---------+---------+
| ColumnName| DataType| Category|
+------------+---------+---------+
| time|TIMESTAMP| TIME|
| region| STRING| TAG|
| plant_id| STRING| TAG|
| device_id| STRING| TAG|
| model_id| STRING|ATTRIBUTE|
| maintenance| STRING|ATTRIBUTE|
| temperature| FLOAT| FIELD|
| humidity| FLOAT| FIELD|
| status| BOOLEAN| FIELD|
|arrival_time|TIMESTAMP| FIELD|
+------------+---------+---------+