GBase 8a
安装配置
文章
南大通用GBase 8a之聚合函数: 计算峰度功能的实现
发表于2025-03-21 11:56:23239次浏览0个评论
主要解决问题
(1) 目前系统缺少求峰度的功能。特编写可以实现该功能的so以应对。
部署方式
(1) 将文件libkurtosis.so 放在集群对应的$GBASE_HOME/lib/gbase/plugin $GCLUSTER_HOME/lib/gbase/plugin 目录下
(2) 库内执行:CREATE AGGREGATE FUNCTION kurtosis RETURNS REAL SONAME 'libkurtosis.so';
使用方式
直接作为库内聚合函数使用,如:
select a,kurtosis( cast(b as double) ) from zhao group by a;
演示样例
gbase> create table zhao(a int, b int );
Query OK, 0 rows affected (Elapsed: 00:00:00.21)
gbase> insert into zhao values (1,1),(1,2),(1,3),(1,99),(1,8),(1,7),(1,6);
Query OK, 7 rows affected (Elapsed: 00:00:00.15)
Records: 7 Duplicates: 0 Warnings: 0
gbase> insert into zhao values (2,1),(2,2),(2,3),(2,9),(2,4),(2,3),(2,2);
Query OK, 7 rows affected (Elapsed: 00:00:00.12)
Records: 7 Duplicates: 0 Warnings: 0
gbase> select a,kurtosis( cast(b as double) ) from zhao group by a;
+------+-------------------------------+
| a | kurtosis( cast(b as double) ) |
+------+-------------------------------+
| 1 | 2.116505 |
| 2 | 1.050244 |
+------+-------------------------------+
2 rows in set (Elapsed: 00:00:00.23)可见,函数可有效区分组1数据比组2数据异常。
4. 参考文件
(1) 注: 该版本为centos7环境下编译。
(2) 文件下载:libkurtosis.so
通过网盘分享的文件:libkurtosis.so
链接: https://pan.baidu.com/s/1GMCxZejRFqUF_jG62WQ21w 提取码: uuux
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528