更新日期:2024年09月11日
函数说明
nth_value 函数区别于first_value 和last_value,nth_value 函数可以指定取值的偏
移量。
nth_value 函数支持两个参数,第一个参数与first_value 和last_value 完全相同;
第二个参数为偏移量,要求一个大于0 的常量参数,不支持NULL 值和字段。
示例
gbase> SELECT *, nth_value(totalamount, 2) over (partition by uname order
by dt) as nth_value from tt;
+----+------------+-------+-------------+-----------+
| id | dt
| uname | totalamount | nth_value |
+----+------------+-------+-------------+-----------+
|
2 | 2016-06-05 | A
|
148 |
135 |
|
1 | 2016-06-05 | A
|
135 |
135 |
|
4 | 2016-06-02 | B
|
153 |
120 |
|
3 | 2016-06-02 | B
|
120 |
120 |
|
5 | 2016-06-10 | B
|
198 |
120 |
|
8 | 2016-02-05 | C
|
NULL |
NULL |
|
6 | 2016-08-05 | C
|
201 |
201 |
|
9 | 2016-08-06 | C
|
NULL |
201 |
|
7 | 2016-08-09 | C
|
129 |
201 |
| 14 | 2016-07-02 | D
|
172 |
NULL |
| 13 | 2016-09-01 | D
|
165 |
165 |
| 15 | NULL
| D
|
149 |
165 |
| 10 | 2016-06-01 | NULL
|
125 |
NULL |
| 11 | 2016-07-02 | NULL
|
131 |
131 |
| 12 | 2016-08-03 | NULL
|
152 |
131 |
+----+------------+-------+-------------+-----------+
gbase> SELECT *, nth_value(totalamount, NULL) over (partition by uname
order by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
gbase> SELECT *, nth_value(totalamount, 0) over (partition by uname order
by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
gbase> SELECT *, nth_value('const', 2) over (partition by uname order by dt)
as nth_value from tt;
+----+------------+-------+-------------+-----------+
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
877
gbase> SELECT *, nth_value(totalamount, 2) over (partition by uname order
by dt) as nth_value from tt;
+----+------------+-------+-------------+-----------+
| id | dt
| uname | totalamount | nth_value |
+----+------------+-------+-------------+-----------+
|
2 | 2016-06-05 | A
|
148 |
135 |
|
1 | 2016-06-05 | A
|
135 |
135 |
|
4 | 2016-06-02 | B
|
153 |
120 |
|
3 | 2016-06-02 | B
|
120 |
120 |
|
5 | 2016-06-10 | B
|
198 |
120 |
|
8 | 2016-02-05 | C
|
NULL |
NULL |
|
6 | 2016-08-05 | C
|
201 |
201 |
|
9 | 2016-08-06 | C
|
NULL |
201 |
|
7 | 2016-08-09 | C
|
129 |
201 |
| 14 | 2016-07-02 | D
|
172 |
NULL |
| 13 | 2016-09-01 | D
|
165 |
165 |
| 15 | NULL
| D
|
149 |
165 |
| 10 | 2016-06-01 | NULL
|
125 |
NULL |
| 11 | 2016-07-02 | NULL
|
131 |
131 |
| 12 | 2016-08-03 | NULL
|
152 |
131 |
+----+------------+-------+-------------+-----------+
gbase> SELECT *, nth_value(totalamount, NULL) over (partition by uname
order by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
gbase> SELECT *, nth_value(totalamount, 0) over (partition by uname order
by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
| id | dt
| uname | totalamount | nth_value |
+----+------------+-------+-------------+-----------+
|
2 | 2016-06-05 | A
|
148 | const
|
|
1 | 2016-06-05 | A
|
135 | const
|
|
4 | 2016-06-02 | B
|
153 | const
|
|
3 | 2016-06-02 | B
|
120 | const
|
|
5 | 2016-06-10 | B
|
198 | const
|
|
8 | 2016-02-05 | C
|
NULL | NULL
|
|
6 | 2016-08-05 | C
|
201 | const
|
|
9 | 2016-08-06 | C
|
NULL | const
|
|
7 | 2016-08-09 | C
|
129 | const
|
| 14 | 2016-07-02 | D
|
172 | NULL
|
| 13 | 2016-09-01 | D
|
165 | const
|
| 15 | NULL
| D
|
149 | const
|
| 10 | 2016-06-01 | NULL
|
125 | NULL
|
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
878
gbase> SELECT *, nth_value(totalamount, 2) over (partition by uname order
by dt) as nth_value from tt;
+----+------------+-------+-------------+-----------+
| id | dt
| uname | totalamount | nth_value |
+----+------------+-------+-------------+-----------+
|
2 | 2016-06-05 | A
|
148 |
135 |
|
1 | 2016-06-05 | A
|
135 |
135 |
|
4 | 2016-06-02 | B
|
153 |
120 |
|
3 | 2016-06-02 | B
|
120 |
120 |
|
5 | 2016-06-10 | B
|
198 |
120 |
|
8 | 2016-02-05 | C
|
NULL |
NULL |
|
6 | 2016-08-05 | C
|
201 |
201 |
|
9 | 2016-08-06 | C
|
NULL |
201 |
|
7 | 2016-08-09 | C
|
129 |
201 |
| 14 | 2016-07-02 | D
|
172 |
NULL |
| 13 | 2016-09-01 | D
|
165 |
165 |
| 15 | NULL
| D
|
149 |
165 |
| 10 | 2016-06-01 | NULL
|
125 |
NULL |
| 11 | 2016-07-02 | NULL
|
131 |
131 |
| 12 | 2016-08-03 | NULL
|
152 |
131 |
+----+------------+-------+-------------+-----------+
gbase> SELECT *, nth_value(totalamount, NULL) over (partition by uname
order by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
gbase> SELECT *, nth_value(totalamount, 0) over (partition by uname order
by dt) as nth_value from tt;
ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: argument[2] of
nth_value is out of range
| 11 | 2016-07-02 | NULL
|
131 | const
|
| 12 | 2016-08-03 | NULL
|
152 | const
|
+----+------------+-------+-------------+-----------+
语法
支持向量机分类模型的训练函数的语法如下:
svm_classification(
source_table,
model_table,
dependent_varname,
independent_varname,
params
)
参数说明
source_table:含训练数据的输入表。
model _table:保存训练结果的结果表。
dependent_varname:因变量的列名。
independent_varname:自变量的列名,数组类型。
params:模型训练参数。
其中的模型训练参数(params)是以逗号分割的键-值(key-value)对,支持的键值
如下:
init_stepsize(初始步长)
缺省值: [0.01]. 初始的学习步长。一个比较小的值可以保证收敛结果,而较
大的值可以提高修炼速度。
decay_factor(衰减系数)。
缺省值:[0.9].控制迭代过程中使用的学习步长: 0 表示恒定步长; -1 表示反
向缩放,步长= 初始步长/ 迭代次数; > 0 表示指数衰减, 步长= 初始步
长*衰减系数^迭代次数。
max_iter(最大迭代次数)
缺省值:[100].
tolerance(容忍度)
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1429
缺省值:1e-10. 两次迭代的模型差值小于容忍度时结束迭代。
Lambda(正则化参数)
缺省值:[0.01]. 必须大于0,不能为负值。
结果表说明
训练函数成功执行后,会创建保存模型信息的结果表,结果表包含如下字段用来
表示模型信息:
coef:相关系数,用于预测。
loss:损失函数值。
norm_of_gradient:损失函数的梯度值。
num_iterations:迭代次数。
num_rows_processed:处理的数据行数。
num_rows_skipped:略过的数据行数。
dep_var_mapping:因变量的可能取值。
摘要表说明
训练结束还会生出一个摘要表,其名为结果表表名加上”_summary”,摘要表的字
段说明如下:
method:挖掘算法名称,SVC 代表SVM 分类算法。
source_table:输入表名。
model_table:结果表名。
dependent_varname:因变量名。
independent_varname:自变量名。
grouping_col:分组列名。
optim_params:优化参数。
num_all_groups:全部分组数。
num_failed_groups:训练失败分组数。
total_rows_processed:处理的数据行数。
total_rows_skipped:略过的数据行数。
GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1430