GBase之数据导入

用法:

load data infile '[远程数据文件]' into table [schema.表名] data format 3 fields terminated by '[字段分隔符]';

示例:

-- 将192.168.0.1机器(假设该机器开启了sftp,用户名/密码为root/root)上的data.txt文件载入到数据表gbase.data中
-- 文件分隔符为0x1D
load data infile 'sftp://root:root@192.168.0.1//path/data.txt' into table gbase.data data format 3 fields terminated by '\x1D';

注意:

有可能在导入过程中忽然中断并且报错,又类似“IOOperator … … Timeout”等字样,是因为载入的数据文件较大,读取时间较长,超过了默认时间导致的,此时需要在该数据连接会话先设置文件读取时间,然后再运行导入命令

用法:

set gbase_loader_read_timeout = [秒数];

示例:

-- 设置文件读取时间为3000秒
set gbase_loader_read_timeout =3000;

PS:该设置命令和导入命令一定要在一个数据库连接会话中执行,否则无效。

Gbase中重新建表并导入数据可以按以下操作进行: ### 重新建表 以GBase 8a为例,其数据模型有复制表、随机分布表、hash分布表等。建表时需根据实际需求选择合适的数据模型和字段类型等。例如创建一个名为`outtable`的表,包含`no`和`text`字段: ```sql CREATE TABLE outtable ( no INT, text VARCHAR(255) ); ``` ### 导入数据 #### GBase 8a 使用`LOAD DATA INFILE`语句从文件导入数据。示例如下,将位于`file://192.168.61.173/home/gbase/outtable.data`的文件数据导入到`test.outtable`表中,数据格式为3,字段以`|`分隔: ```sql LOAD DATA INFILE 'file://192.168.61.173/home/gbase/outtable.data' INTO TABLE test.outtable data_format 3 fields terminated by '|'; ``` 如果文件是压缩文件(如GZ格式),可以使用如下语句: ```sql LOAD DATA INFILE 'file://192.168.61.173/home/gbase/outtable.GZ' INTO TABLE test.outtable data_format 3 fields terminated by '|' enclosed by '\''; trace 1 trace_path '/home/gbase/loader_logs' FILE_FORMAT GZIP; ``` #### GBase 8s 可以使用脚本结合`dbaccess`工具进行表数据导入。示例脚本如下: ```bash dbname=gbasedb pwd=/opt/exp_data flog=imp_data.log for table_name in `cat table.list` do echo `date`"– 开始导入${table_name}表数据">>$flog dbaccess ${dbname} - <<! --alter table ${table_name} type (raw); ``` #### GBase 8t 使用外部表进行数据导入,创建完外部表后,可使用`onstat -D`监控数据读写情况。若要避免大量物理日志读写,可手工做一个检查点操作,示例代码: ```sql -- 创建外部表等操作(此处省略具体创建语句) -- 手工做检查点 -- 监控数据读写 onstat -D ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值