返回首页

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

更新日期:2024年09月11日

GBA-01BR-0033
错误码
错误标识
错误显示信息
GBA-01BR-0033

dir %s don’t exits
错误出现原因
文件夹不存在
分析与建议
检查文件夹状态、权限

使用本功能,您可以在管理工具中连接到当前负载较低的集群节点服务器
上。



GBase 8a MPP Cluster 管理工具手册
南大通用数据技术股份有限公司

- 29 -
要使用本功能,您需要在集群下配置多个该集群的GCluster 节点服务器,
管理工具会将节点列表发送给JDBC 接口,JDBC 接口会根据节点列表判断节点
负载,并连接到负载相对较低的GCluster 节点服务器上。
配置效果如下图所示:

图 6-16 集群下配置多个GCluster 节点服务器
如果需要连接到特定的某一个GCluster 节点服务器,
可以在集群下只配置
该GCluster 节点服务器。











GBase 8a MPP Cluster 管理工具手册

- 30 -

南大通用数据技术股份有限公司
7 对象资源管理器
“对象资源管理器”提供了GBase
8a
MPP
Cluster 服务器中所有数据对象
的视图,并具有可用于管理这些对象的用户界面。通过它可以管理GBase 8a
MPP Cluster 的数据对象。
您可以使用对象资源管理器对GBase
8a数据库对象进行管理。与对象资源
管理器建立连接成功,进入对象资源管理器主界面,如下图所示:

图 7-1 对象资源管理器主界面
“对象资源管理器”的初始化界面如上图所示,数据库中包含系统数据
库,系统数据库中包含information_schema、gbase 两个系统数据库,用户数
据库中包含一个test 数据库,您可以在对象资源管理器中建立用户数据库。



GBase 8a MPP Cluster 管理工具手册
南大通用数据技术股份有限公司

- 31 -
集群节点中,列出了所连接的集群中的所有节点,您可以对具体集群节点进行
管理。用户管理节点,对用户的权限进行管理。审计管理节点主要实现对日志
的审计管理。
GBase 8a MPP Cluster 主要包含数据库、表这些数据库对象,下面分别介
绍如何利用“对象资源管理器”管理这些数据库对象。

SELECT ...
[UNION [ALL | DISTINCT]
SELECT ...]
UNION 用来将多个SELECT 语句的结果合并到一个结果集中。
在每个SELECT 语句对应位置上的选择列,应该有相同的类型。
(例如,第一个语
句选出的第一列应该与其它语句选出的第一列的类型相同)

第一个SELECT 语句
中用到的列名称被作为返回结果的列名称。
SELECT 语句是一般的查询语句,但是有以下约束:
不同的数据类型,不能使用UNION 和UNION ALL,例如:数值型,字符型,日期
和时间型之间不能使用UNION 和UNION ALL。
如果UNION 和UNION ALL 两边的数据类型为CHAR 类型,
进行UNION 和UNION
ALL 操作时,结果返回VARCHAR 类型。
例如:SELECT CHAR(10) UNION SELECT CHAR(255) 的结果集为
VARCHAR(255)。
UNION 和UNION ALL 结果由小的数据类型向大的数据类型转换,如:INT ->
BIGINT -> DECIMAL -> DOUBLE。
例如:SELECT INT UNION SELECT DOUBLE 的结果集为DOUBLE 型。
NULL 可以和任何类型做UNION 和UNION ALL。
例如:SELECT NULL UNION SELECT 1;
如果只是使用UNION,那么将返回无重复记录的结果集,此时,UNION 等同于
UNION DISTINCT。如果使用UNION ALL,将会返回所有SELECT 后的结果集,
这个结果集会存在重复的记录。
如果在多个SELECT 的UNION 查询中,同时存在UNION [DISTINCT]和UNION
ALL,那么UNION ALL 会被忽略,最终返回UNION [DISTINCT]后的结果集(过
滤掉重复的记录行)。
如果希望使用ORDER BY 或LIMIT 子句来分类或限制整个UNION 结果,可以把
ORDER BY 或LIMIT 置于最后。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 775
示例1:使用ORDER BY 子句分类UNION 结果。
gbase> CREATE TABLE student (stu_no int, stu_name varchar(200),stu_sex int) ENGINE =
'HIVE';
Query OK, 0 rows affected

gbase> INSERT INTO student VALUES(4,'King',1),(5,'Smith',1);
Query OK, 2 rows affected
Records: 2 Duplicates: 0 Warnings: 0

gbase> SELECT stu_name FROM student WHERE stu_name LIKE 'S%'
UNION
SELECT stu_name FROM student WHERE stu_name LIKE '%K%'
ORDER BY stu_name DESC LIMIT 10;
+----------+
| stu_name |
+----------+
| Smith |
| King |
+----------+
2 rows in set
注意:
ORDER BY 不能使用包括表名的列引用
(如,table_name.col_name 格式的名
字)。相对的,可以在第一个SELECT 语句中提供一个列的别名并在ORDER BY
中引用这个别名。
示例2:单独的SELECT 应用ORDER BY 或LIMIT 时,将报错。
gbase> (SELECT stu_name FROM student WHERE stu_name LIKE '%K%' ORDER BY stu_name LIMIT
10)
UNION
(SELECT
stu_name
FROM
student
WHERE
stu_name
LIKE
'%S%'ORDER
BY
stu_name
LIMIT
10);
报错如下:
ERROR 1 (HY000): Error while compiling statement: FAILED: ParseException line 1:300
Failed to recognize predicate ''. Failed rule: 'orderByClause clusterByClause
distributeByClause sortByClause limitClause can only be applied to the whole union.'
in statement

-- 采用列别名的方式
gbase> SELECT stu_name name FROM student WHERE stu_name LIKE '%J%'
UNION
SELECT stu_name FROM student WHERE stu_name LIKE '%R%' ORDER BY name DESC LIMIT 4 ;
+-------+
| name |
+-------+
| Rose |

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 776
| Roose |
| Json |
| John |
+-------+
4 rows in set

示例3:CHAR 和CHAR 类型的UNION。
gbase> CREATE TABLE t1(a char(10)) ENGINE = 'HIVE';
Query OK, 0 rows affected

gbase> CREATE TABLE t2(a char(255)) ENGINE = 'HIVE';
Query OK, 0 rows affected

gbase> CREATE TABLE ta AS SELECT * FROM t1 UNION SELECT * FROM t2;
Query OK, 0 rows affected

gbase> DESC ta;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| a | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
1 row in set