返回首页

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

更新日期:2024年09月11日

加载指定having lines separator 时
max_data_processor 不起作用
问题现象
当使用文本加载方式时,
行分隔符默认为'\n'。
如果某列数据可能包含了行分隔符,
则需要在SQL 中输入'having lines separator'子句,同时需要输入'enclosed by'指定
字段包围符。加载sql 如下:
load data infile 'sftp://gbase:gbase@192.168.105.100//home/gbase/test.txt' into t
able test data_format 3 having lines separator fields terminated by '|' enclose
d by '"';
当在load sql 中指定max_data_processors ,或者在数据库中修改参数
gcluster_loader_max_data_processors
加载时,通过查看系统表
information_schema.load_satus 发现只有一个node 节点参与数据分发处理,
指定的
参数不起作用,加载性能较慢。
原因分析
这个现象在当前产品中是正常的约束,因为列数据中不包含有行分隔符时,可以

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
129
将数据文件按照行进行分块切分,发送给多个node 去进行数据处理分发。
而列数据中包含有行分隔符时,无法直接将数据文件按照行分隔符分块切分,需
要考虑每个行分隔符前后的包围符是否成对匹配,这个过程是无法并行操作的。
解决方法
建议从数据来源上杜绝这种列数据中包含有行分隔符的情况,比如可以自行指定
多字节行分隔符。

MOT 在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)以及高资源利用
率(某些程度上节约成本)方面拥有显著优势。

低延迟(Low Latency):提供快速的查询和事务响应时间。

高吞吐量(High Throughput):支持峰值和持续高用户并发。

高资源利用率(High Resource Utilization):充分利用硬件。
此外,高负载和高争用的场景是所有领先的行业数据库都会遇到的公认问题,而MOT
能够在这种情况下极高地利用服务器资源。
使用MOT后,
4路服务器的资源利用率达到99%,
远远领先其他行业数据库。
这种能力在现代的多核服务器上尤为明显和重要。

SQLDataSources 列出数据源名称。
下表描述了 SQLDataSources 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01004
-11003
Data truncated
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1090
-11071
Invalid string or buffer length
S1103
-11083
Direction option out of range