返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

使用指导
前提条件

需要保证用户提供训练数据。

如果用户通过提供的工具收集训练数据,则需要启用WDR 功能,涉及到的参数为
track_stmt_stat_level 和log_min_duration_statement,具体情况见下面小结。

为保证预测准确率,用户提供的历史语句日志应尽可能全面并具有代表性。
SQL 流水采集方法
本工具需要用户提前准备数据,训练数据格式如下,每个样本通过换行符分隔:
SQL,EXECUTION_TIME
预测数据格式如下:
SQL

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
396
其中SQL 表示SQL 语句的文本,EXECUTION_TIME 表示SQL 语句的执行时间,样
例数据见sample_data 中的train.csv 和predict.csv。
用户可以按照要求格式自己收集训练数据,工具也提供了脚本自动采集
(load_sql_from_rd ),该脚本基于WDR 报告获取SQL 信息,涉及到的参数有
log_min_duration_statement 和track_stmt_stat_level:

其中log_min_duration_statement 表示慢SQL 阈值,如果为0 则全量收集,时间单位为
毫秒;

track_stmt_stat_level 表示信息捕获的级别,建议设置为track_stmt_stat_level='L0,L0'
参数开启后,可能占用一定的系统资源,但一般不大。持续的高并发场景可能产生5%
以内的损耗,数据库并发较低的场景,性能损耗可忽略。下述脚本存在于sqldiag 根目录
($GAUSSHOME/bin/components/sqldiag)中。
使用脚本获取训练集方式:
load_sql_from_wdr.py [-h] --port PORT --start_time START_TIME
--finish_time FINISH_TIME [--save_path SAVE_PATH]
例如:
python load_sql_from_wdr.py --start_time "2021-04-25 00:00:00" --finish_time
"2021-04-26 14:00:00" --port 5432
--save_path ./data.csv
操作步骤
(1)
提供历史日志以供模型训练
(2)
进行训练与预测操作。
基于模板法的训练与预测:
gs_dbmind component sqldiag [train, predict] -f FILE --model template --model-path
template_model_path
基于DNN 的训练与预测:
gs_dbmind component sqldiag [train, predict] -f FILE --model dnn --model-path
dnn_model_path
使用方法示例
使用提供的测试数据进行模板化训练:
gs_dbmind component sqldiag train -f ./sample_data/train.csv --model template
--model-path ./template
使用提供的测试数据进行模板化预测:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
397
gs_dbmind component sqldiag predict -f ./sample_data/predict.csv --model template
--model-path ./template --predicted-file ./result/t_result
使用提供的测试数据进行模板化模型更新:
gs_dbmind component sqldiag finetune -f ./sample_data/train.csv --model template
--model-path ./template
使用提供的测试数据进行DNN 训练:
gs_dbmind component sqldiag train -f ./sample_data/train.csv --model dnn
--model-path ./dnn_model
使用提供的测试数据进行DNN 预测:
gs_dbmind component sqldiag predict -f ./sample_data/predict.csv --model dnn
--model-path ./dnn_model --predicted-file
使用提供的测试数据进行DNN 模型更新:
gs_dbmind component sqldiag finetune -f ./sample_data/train.csv --model dnn
--model-path ./dnn_model



sword GCINumberNeg (
GCIError *errhp,
const GCINumber *number,
GCINumber *result
);

对一个数值进行求反操作。如果 number 参数为NULL,则此函数返回错误。 参数
输入
/输出


errhp
输入/输出 错误信息句柄,该接口调用失败时,错误信息会存在该句柄上
number
输入
待求反的数值
result
输出
对numbe执行求反操作的结果


如果执行成功,返回GCI_SUCCESS,否则返回GCI_ERROR。

GBase 8a MPP Cluster 目前支持四种字符类型,如下表所示:
表5- 5 字符类型
类型名称
最大长度(字符)
CHAR
255
VARCHAR
10922(utf8)、16383(gbk)
TEXT
10922
VARBINARY
32767