在这篇文章中将向大家介绍如何编写IQ LOAD TABLE语句实现从数据文件中装载部分列数据的方法。下面将结合一个具体的例子加以说明。
1. 创建示例表
drop table if exists load_test;
create table load_test (id int, name char(8),age tinyint, address char(20) , primary key(id) ) ;
2. 准备示例数据文件
--load_test.dat
10|aaaaa|30|beijing
12|bbbbb|20|shanghai
18|ccccc|10|tianjin
3. 编写load table语句
在这个示例中,打算只装载id和age列数据,而忽略name和address列数据。针对这一需求的load table语句如下:
--load_test.sql
LOAD TABLE load_test
(
id '|',
filler('|'),
age '|',
filler('\n')
)
FROM '/home/sybiq/load_test.dat'
FORMAT ASCII
ESCAPES OFF
QUOTES OFF
NOTIFY 500000
WITH CHECKPOINT ON;
说明:IQ的load table语句可以使用filler跳过不需要装载的列。
使用dbisql执行上面的load table语句:
dbisql -c "uid=tpch_user;pwd=tpch_pwd" -nogui load_test.sql
阅读(3051) | 评论(0) | 转发(0) |