返回首页

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

更新日期:2024年09月11日

导出到HADOOP 集群说明
在执行导出语句前,对支持高可用的HDFS ,需要首先设置
gbase_hdfs_namenodes='acitve_nn, standby_nn',指定HDFS 的高可用NameNode
主机信息。(HDFS 通常由两个NameNode 和若干DataNode 组成,其中一个
NameNode 处于Active 状态,另外一个处于Standby 状态。)
如下示例:
gbase> SET gbase_hdfs_namenodes="192.168.10.1,192.168.10.2";
然后用户输入导出语句,指定导出HDFS 文件,在URL 中指定了正确的HDFS
的NameNode 主机名(或IP 地址)和端口号。
gbase> SELECT * FROM test.t INTO OUTFILE
'hdp://hadoop@192.168.10.1:50070/export/test.tbl' OUTFILEMODE BY
HDFS;
在执行导出语句时,对支持多hdfs 环境并行导出,需要将多个hdfs 环境的
namenode 用‘|’间隔开赋值给gbase_hdfs_namenodes。
gbase_hdfs_namenodes='hdfs1_acitve_nn,
hdfs1_standby_nn
|
hdfs2_acitve_nn,
hdfs2_standby_nn '
注意
执行HDFS 导出,集群所有节点需配置/etc/hosts,添加Hadoop
的Namenode 和Datanode 的IP 地址和主机名映射。

从jdbc 版本 build55.2.1 开始支持gb18030 编码。
如果数据库设置使用了
gb18030 编码,相应的jdbc 也要对应支持。
使用步骤如下:
3) 集群已安装支持gb18030 版本,并且设置了字符集编码为gb18030
4) 设置url 为如下:
jdbc:gbase://192.168.7.126:5258/bht?user=gbase&password=gbase2011
0531&useUnicode=true&characterEncoding= gb18030
即只需要在url 上设置useUnicode=true&characterEncoding=
gb18030 即
可。

DBSPACETEMP 环境变量指定在其中构建临时表的数据库空间。该列表可能包含标准数
据库空间和/或临时数据库空间。

dbspace 是现有的标准或临时数据库空间的名称。
您可以列出数据库空间(用冒号 ( : ) 或逗号 ( , ) 符号来分隔),以便为跨物理
存储设备的临时表指定空间。例如:用来设置 DBSPACETEMP 环境变量的以下命令为临时
表指定三个数据库空间:
setenv DBSPACETEMP sorttmp1:sorttmp2:sorttmp3
DBSPACETEMP 覆盖 DBSPACETEMP 参数在数据库服务器配置文件中指定的任何
缺省数据库空间。对于 UPDATE STATISTICS 操作,只有在指定 HIGH 关键字选项时才
使用 DBSPACETEMP。
在 UNIX™ 平台上,如果 DBSPACETEMP 中的数据库空间列表是由作为原始设备
来分配的块所组成的,那么就可能获得更好的性能。
就象操作系统定义的那样,环境变量的最大大小限制数据库空间的数目。如果该环境
变量指定的数据库空间不存在,那么数据库服务器不会创建该数据库空间。
两类临时表包括用户创建的显式临时表和数据库服务器创建的隐式临时表。使用
DBSPACETEMP 为这两种类型的临时表指定数据库空间。
如果使用 CREATE TEMP TABLE 语句创建显式临时表,且不在 IN dbspace 子句或
FRAGMENT BY 子句中为该表指定数据库空间,那么数据库服务器使用
DBSPACETEMP 中的设置来确定在何处创建该表。
如果使用 SELECT INTO TEMP 语句创建显式临时表,那么数据库服务器使用
DBSPACETEMP 中的设置来确定在何处创建该表。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 162 -
如果设置了 DBSPACETEMP,并且它列出的数据库空间包括日志记录和非日志记录
数据库空间,那么数据库服务器会把临时表(该表隐式或显式支持事务日志记录)存储在
日志记录数据库空间中,并把非日志记录临时表存储在非日志记录数据库空间中。
数据库服务器在执行连接操作、带有 GROUP BY 子句的 SELECT 语句、带有
ORDER BY 子句的 SELECT 语句和索引构建时会创建隐式临时表以供其自身使用。
当数据库服务器创建显式或隐式临时表时,它会使用磁盘空间来写临时数据。如果临
时表位置的设置或语句规范之间有冲突,那么以降序(从最高到最低)的优先顺序解决这
些冲突:
1.
在 UNIX 平台上,环境变量 PSORT_DBTEMP(如果设置了该环境变量的话)指定的一
个或多个操作系统目录
2.
环境变量 DBSPACETEMP 指定的一个或多个数据库空间(如果设置了该环境变量的
话)
3.
ONCONFIG 参数 DBSPACETEMP 指定的数据库空间。
4.
DUMPDIR 配置参数指定的操作系统文件空间
5.
目录 $GBASEDBTDIR/tmp (UNIX)。
要点: 如果将 DBSPACETEMP 环境变量设置为无效值,那么对于显式临时表,数据库
服务器缺省值为根数据库空间,而对于隐式临时表,缺省值为 /tmp,而不是
DBSPACETEMP 配置参数的设置。在此情况下,数据库服务器可能会填充 /tmp 直至达到限
制,最终使得数据库服务器关闭或杀死文件系统。