返回首页

gbase数据、南大通用产品文档:GBase8s确定 SQL 语句

更新日期:2024年09月11日

如果直到运行时刻,您才知道要执行什么 SQL 语句,则您可以 DESCRIBE 语句动
态地确定该语句,并使用动态管理结构来保存该语句发送到数据库服务器的或从数据库服
务器接收的任何值。

这些主题包含关于如何动态地确定 SQL 语句的下列信息:
存在什么动态管理结构,以及哪些 SQL 语句访问它们。
如何使用带有动态管理结构的 DESCRIBE 语句。

以gbasedbt用户身份,将/opt/GBASE/gbase/etc/目录中的onconfig.std文件复制一份,
命名为profile.gbaseserver中$ONCONFIG变量指定的名称onconfig.gbaerserver。
[gbasedbt@PRIMARY etc]$ cp onconfig.std onconfig.gbaseserver
[gbasedbt@PRIMARY etc]$ vim onconfig.gbaseserver
主要参数说明如下:
参数

说明
ROOTNAME
rootdbs
指定数据库服务器root dbspace的名称
ROOTPATH
$GBASEDBTDIR/gbaseser
指定root dbspace的初始chunk全路径名,

GBase 8s 共享存储集群安装手册
南大通用数据技术股份有限公司 - 5 -
ver_dbs/rootdbs
包括设备或文件
ROOTSIZE
500000
指定以KB为单位的root dbspace的初始
chunk的大小,500000即500M左右
PHYSFILE
100000
指定物理日志文件大小,100000即100M
左右
MSGPATH
$GBASEDBTDIR/gbaseser
ver.log
指定消息日志文件的全路径名
DBSPACETEMP
dbspacetemp
指定临时数据空间的名称
SBSPACETEMP
sbspacetemp
指定临时智能大对象空间的名称
SBSPACENAME
sbspace
指定智能大对象空间的名称
SERVERNUM
1
指定共享内存中的相对位置,取值范围
为0-255,多个数据库实例时候需要确保
SERVERNUM唯一
DBSERVERNAME
gbaseserver
数据库实例名
DRAUTO
3
指定由连接管理器控制
SDS_ENABLE
0,从节点的值修改为1
是否启用辅助服务器功能
SDS_TEMPDBS
sdstempdbspace,$GBASE
DBTDIR/sds_dbs/sdstem
pdbspace,2,0,51200
指定共享磁盘辅助服务器用于动态地创
建临时数据空间的信息
SDS_PAGING
$GBASEDBTDIR/sds_dbs/
paging1,$GBASEDBTDIR/s
ds_dbs/paging2
指定两个作为缓冲区的文件信息

注意:相关参数中用到的文件不存在的需要以gbasedbt用户身份touch。
[gbasedbt@PRIMARY etc]$ cd /opt/GBASE/gbase/
[gbasedbt@PRIMARY gbase]$ mkdir sds_dbs
[gbasedbt@PRIMARY gbase]$ cd sds_dbs
[gbasedbt@PRIMARY sds_dbs]$ touch sdstempdbspace paging1 paging2
[gbasedbt@PRIMARY sds_dbs]$ chmod 660 sdstempdbspace paging1 paging2
由于默认权限高为了安全需要chown为660

GBMLLib 提供的数据挖掘算法涉及大量的线性代数运算,需要处理向量和矩阵。
向量和矩阵在GBase 8a MPP CLuster 中通过BLOB 类型进行存储,
同时提供函数
把整数和浮点数类型的数据组装成数组和显示数组的内容。
组装数组
语法
ARRAY type[ expr1 [, expr2 …] ]
type 指定保存到数组中的数据的类型。目前支持double 和bigint。
示例

创建t1 表,插入数组类型的数据。
gbase> create table t1(a int, b blob);
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
gbase> insert into t1 values(1, ARRAY BIGINT[1,2]);
Query OK, 1 row affected (Elapsed: 00:00:00.01)
gbase> insert into t1 values(2, ARRAY BIGINT[3,4]);
Query OK, 1 row affected (Elapsed: 00:00:00.00)
显示数组中的数据
语法
ARRAY_TEXT(expr)
示例

显示t1 表中数组的内容。
gbase> select a, ARRAY_TEXT(b) from t1;
+------+---------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1426
| a
| ARRAY_TEXT(b) |
+------+---------------+
|
1 | {1,2}
|
|
2 | {3,4}
|
+------+---------------+
2 rows in set (Elapsed: 00:00:00.00)
可以参考下面各个挖掘算法的示例获取更多数组类型使用的信息。