返回首页

gbase数据、南大通用产品文档:GBase8aHDFS 文件加载说明

更新日期:2024年09月11日


针对加载HDFS 文件支持NameNode 高可用的情况,在执行加载语句前,需
要首先设置gbase_hdfs_namenodes='acitve_nn, standby_nn',指定HDFS 的高
可用NameNode 主机信息。
(HDFS 通常由两个NameNode 和若干DataNode
组成,
其中一个NameNode 处于Active 状态,
另外一个处于Standby 状态。

示例:
在执行加载语句前,对支持高可用的HDFS,设置系统参数。
gbase> set gbase_hdfs_namenodes="192.168.10.1,192.168.10.2";
用户输入加载语句,指定加载HDFS 文件,在URL 中指定了正确的HDFS
的NameNode 主机名(或IP 地址)和端口号。
gbase> LOAD DATA INFILE 'hdp://hadoop@192.168.10.1:50070/data/test.tbl' INTO TABLE
test.t;
注:如上示例,目前兼容工具支持对/data/test.tbl 部分特殊字符转义,支持文
件名包含以下特殊字符:
' '(空格), '!', '"', '#', '$', '%', '&', "'", '(', ')', '+', '-', '.', ':', ';', '<', '=', '>', '@', '[', '\', ']', '^',
'_', '`', '{', '|', '}', '~'

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1192
不支持以下特殊字符转义:
通配符:'*'、'?'
路径分隔符:'/'
不支持以下特殊字符组合:'%('、' ;'(空格和分号),'\[','\]'
特殊字符'\'在配置文件中须写为'\\'

多hadoop 集群并行导入和导出:
多套HDFS 环境需要从集群并行导入导出时,设置gbase_hdfs_namenodes 参
数为多套HDFS 的NameNode 组之间使用'|'分隔
gbase_hdfs_namenodes='hdfs1_acitve_nn, hdfs1_standby_nn | hdfs2_acitve_nn,
hdfs2_standby_nn '
gbase_hdfs_namenodes='192.168.1.1,192.168.1.2|192.168.2.1,192.168.2.2'
load data infile 'hdp://gbase@192.168.1.1/data/f.tbl' into table test.t
load data infile 'hdp://gbase@192.168.2.1/data/f.tbl' into table test.t

函数说明
TRUNC 函数返回以指定元素格式截去一部分的日期值。
表5- 26 参数说明
参数名称


date/datetime
为必选参数,表示输入的一个日期值。
format
可选参数,表示日期格式,用以指定的元素格式来截去输入
的日期值。如果省略此参数,则由最近的日期截去。
表5- 27 format 支持类型说明




year
返回当年第一天
yyyy
返回当年第一天
month
返回当月第一天
mm
返回当月第一天
dd
返回当天的日期
hh
得到当天凌晨0 点0 分0 秒的日期
mi
得到当天凌晨0 点0 分0 秒的日期

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
829
示例
示例1:返回执行当年的第一天。
gbase> SELECT TRUNC(current_date,'year') FROM dual;
+----------------------------+
| TRUNC(current_date,'year') |
+----------------------------+
| 2020-01-01
|
+----------------------------+
1 row in set
示例2:返回执行当年的第一天。
gbase> SELECT TRUNC(current_date,'yyyy') FROM dual;
+----------------------------+
| TRUNC(current_date,'yyyy') |
+----------------------------+
| 2020-01-01
|
+----------------------------+
1 row in set
示例3:返回执行当月的第一天。
gbase> SELECT TRUNC(current_date,'mm') FROM dual;
+--------------------------+
| TRUNC(current_date,'mm') |
+--------------------------+
| 2020-04-01
|
+--------------------------+
1 row in set
示例4:返回执行当天的日期。
gbase> SELECT TRUNC(current_date,'dd') FROM dual;
+--------------------------+
| TRUNC(current_date,'dd') |
+--------------------------+
| 2020-04-02
|
+--------------------------+
1 row in set
示例5:得到当天凌晨0 点0 分0 秒的日期。
gbase> SELECT TRUNC(current_date,'hh') FROM dual;
+--------------------------+
| TRUNC(current_date,'hh') |
+--------------------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
830
| 2020-04-02 00:00:00
|
+--------------------------+
1 row in set
示例6:得到当天凌晨0 点0 分0 秒的日期。
gbase> SELECT TRUNC(current_date,'mi') FROM dual;
+--------------------------+
| TRUNC(current_date,'mi') |
+--------------------------+
| 2020-04-02 00:00:00
|
+--------------------------+
1 row in set

功能
该参数用来配置kafka server 的IP 和端口,例如: