返回首页

gbase数据、南大通用产品文档:GBase8s支持多字符定界符

更新日期:2024年09月11日

支持可将定界符设置为多个字符。用户在导入和导出数据时,可以在导入
导出语句中设置多字符为DELIMITER 定界符,
也可以通过设置DBDELIMITER
环境变量为多字符来实现。
使用DELIMITER 子句可指定定界符,该定界符用于隔开包含在输入表中
某一行中的每一列中的数据。可以指定水平制表符或空格(=ASCII 32)作为定
界符号。
定界符可以是单个字符或多个字符,但是字符个数不得超过 4 个。并且,
不能包含下列项:

反斜杠(\)

十六进制数字(0 至 9、a 至 f、A 至 F)

不可见字符
(除空格、
水平制表符之外的所有空白字符,
包括换行符、
换页符、回车符、垂直制表符)



如果省略此子句,则数据库服务器检查DBDELIMITER 环境变量。如果尚
未设置DBDELIMITER 环境变量,则缺省的定界符是竖线(|)

以下示例指定分号
(;)
作为定界符。
该示例使用 Windows 文件命名约定。
LOAD FROM 'C:\data\loadfile' DELIMITER ';' INSERT INTO orders;
设置DBDELIMITER 环境变量,可以指定与LOAD 及UNLOAD 和与
DBEXPORT 实用程序语句配合使用的字段定界符。
例如,
要将字段定界符更改为两个加号,
可按如下方式设置DBDELIMITER
EXPORT DBDELIMITER='++'

6 gunload 和 gload 实用程序
gunload 和 gload 实用程序提供在相同平台上使用相同数据库服务器的
计算机之间移动数据的最快方法。
例如:假设您的站点购买了性能更强的 UNIX™ 计算机,使用户更快地进
行访问。您需要将现有数据库传送到新计算机上的新数据库服务器。使用
gunload 从第一个数据库服务器卸载数据,然后使用 gload 将数据装入第二个
数据库服务器。两个数据库服务器都必须具有相同或兼容的版本号。您可移动
整个数据库或只移动选定的表,但无法修改数据库模式。
gunload 实用程序可比 dbexport 或 UNLOAD 语句更快地卸载数据,因
为 gunload 以二进制格式和以页大小为单位复制数据。gload 实用程序使用
gunload 实用程序创建的磁带或文件并重新创建数据库或表。
gunload 和 gload 实用程序比 dbimport、 dbload 或 LOAD 要快,
但相
比之下灵活性小很多,并且不允许您修改数据库模式或从一个操作系统(或数
据库服务器)版本移动到另一个。

GBA-02DD-0002
错误码
错误标识
错误信息
GBA-02DD-00
02
ER_GCLUSTER_HAS
H_COLUMN_REPLIC
ATED
replicated table should not be created
with distributed column.
错误出现原因
复制表不允许建立hash 分布列
分析与建议
检查建表语句,确认需要建立hash 分布列的表不是复制表

示例中用到的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
示例1:如果FIELDS ESCAPED BY ''中的字符是空字符,则NULL 被作为NULL
输出,而不是作为“\N”输出。
gbase>
SELECT
*
FROM
gs
INTO
OUTFILE
'/home/gbase/temp/esp_1.txt'
FIELDS
ESCAPED
BY
'';
Query OK, 2 rows affected
查看导出文件:
$ cat esp_1.txt
NULL NULL
1 GBase
注意
hive 表如果设置FIELDS ESCAPED BY ''是空字符,则NULL 还是作为\N 输出。

gbase> select * from r3 INTO OUTFILE '/home/gbase/4.txt' FIELDS ESCAPED BY '';
Query OK
# cat 000000_0
2 tod 2001-01-01 00:00:00
\N \N \N
示例2:如果在导出语句中指定了字段包围符,仍对NULL 值不起作用。
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/esp_2.txt' FIELDS ESCAPED BY

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 243
'' ENCLOSED BY '"';
Query OK, 2 rows affected
查看导出文件:
$ cat esp_2.txt
NULL NULL
"1" "GBase"