元数据导出

1. 功能概述

元数据导出工具 export-schema.sh 位于tools/schema目录下,能够将 UDB-DS 中指定数据库下的元数据导出为脚本文件。

2. 功能详解

2.1 参数介绍

参数缩写 参数全称 参数含义 是否为必填项 默认值
-h -- host 主机名 127.0.0.1
-p --port 端口号 777
-u --username 用户名 root
-pw --password 密码 root
-sql_dialect --sql_dialect 选择 server 是树模型还是表模型,当前支持 tree 和 table 类型 tree
-db --database 将要导出的目标数据库,只在-sql_dialect为 table 类型下生效。 -sql_dialect为 table 时必填 -
-table --table 将要导出的目标表,只在-sql_dialect为 table 类型下生效。 -
-t --target 指定输出文件的目标文件夹,如果路径不存在新建文件夹
-path --path_pattern 指定导出元数据的path pattern -sql_dialect为 tree 时必填
-pfn --prefix_file_name 指定导出文件的名称。 dump_dbname.sql
-lpf --lines_per_file 指定导出的dump文件最大行数,只在-sql_dialect为 tree 类型下生效。 10000
-timeout --query_timeout 会话查询的超时时间(ms) -1范围:-1~Long. max=9223372036854775807
-help --help 显示帮助信息

2.2 运行命令

Shell
> 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.3 运行示例

database1 下的元数据导出到/home

./export-schema.sh -sql_dialect table -t /home/ -db database1

导出文件 dump_database1.sql,内容格式如下:

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
);