加载sftp服务器修改了ssh默认端口后,sftp加载语句load data infile需要添加端口号。如ssh端口被修改为10022,则对应加载语句示例如下:
load data infile 'sftp://gbase:gbase@192.168.10.114:10022//opt/data/test.tbl' into table test.t data_format 3;
加载sftp服务器修改了ssh默认端口后,sftp加载语句load data infile需要添加端口号。如ssh端口被修改为10022,则对应加载语句示例如下:
load data infile 'sftp://gbase:gbase@192.168.10.114:10022//opt/data/test.tbl' into table test.t data_format 3;
8611中新建用户想要执行加载,只需要被授予file权限和加载表的insert权限即可。
支持ftp/http/hdfs多种协议。
8611版本集群加载工具load data infile目前不支持本地文件的加载,数据文件可以放在任意通用的ftp、http、hadoop服务器上。目前数据来源只能是文件方式存放,不支持命名管道,因为linux下命名管道不支持远程,并且不能预先获取文件大小。
对于随机分布表、复制表、nocopies表的加载需要file权限,加载表的insert权限,gbase.table_distribution的select权限;
对于哈希分布表,除了需要上述权限外,还需要gbase.nodedatamap的select权限。
gbase> show grants for u1;
+--------------------------------------------------------------------------------------------------+
| Grants for u1@% |
+--------------------------------------------------------------------------------------------------+
| GRANT FILE ON *.* TO 'u1'@'%' IDENTIFIED BY PASSWORD
'*556BEF296211C2AF58F53DA3EDDD0A3371B6ECD5' |
| GRANT INSERT ON "db1"."t1" TO 'u1'@'%' |
| GRANT SELECT ON "gbase"."table_distribution" TO 'u1'@'%' |
+--------------------------------------------------------------------------------------------------+
3 rows in set (Elapsed: 00:00:00.00)
gbase> show grants for u1;
+--------------------------------------------------------------------------------------------------+
| Grants for u1@% |
+--------------------------------------------------------------------------------------------------+
| GRANT FILE ON *.* TO 'u1'@'%' IDENTIFIED BY PASSWORD
'*556BEF296211C2AF58F53DA3EDDD0A3371B6ECD5' |
| GRANT INSERT ON "db1"."t2" TO 'u1'@'%' |
| GRANT SELECT ON "gbase"."table_distribution" TO 'u1'@'%' |
| GRANT SELECT ON "gbase"."nodedatamap" TO 'u1'@'%' |
+--------------------------------------------------------------------------------------------------+
4 rows in set (Elapsed: 00:00:00.00)