[转]关于Infobright的数据导入

时间:2023-03-09 18:50:39
[转]关于Infobright的数据导入

FROM : http://www.mysqlsky.com/201109/infobright-data-load-error

题记

对于DW系统而言,庞大数据的迁移成本很高;所以导入和导出的速率及容忍性也是考量数据仓库产品的重要标准。Infobright基于MySQL所以在数据格式上有比较成型的解决办法,IB原厂对速率进行了优化。在4.0企业版中推出了DLP分布式导入选件,极大的减少了迁移时间,目前世界最大的光通信提供商JDSU也选用了IB产品,并以DLP为主要选件进行配置。不过本文主要针对IB基本的导入导出进行介绍,加上在项目中遇到的特殊问题和解决办法。(在结尾处哦,呵呵)

1,简介

IB提供了专用的高性能loader,不同于传统的mysql。IB loader是为了提高导入速度而设计的,所以仅支持特有的mysqlloader语法,而且只支持导入格式化的变量和文本源文件

IEE也支持mysqlloader和insert语句

2,默认Loader

ICE仅支持IB lorder

IEE默认使用的是是mysql loader,它能更多的容错,但速度稍慢。为了最快的导入,使用IB loader,做以下环境的设置

Mysql>

set @bh_dataformat = ‘txt_variable’;

–使用IB loader来导入CSV格式的变量定长文本

set @bh_dataformat = ‘binary’;

–二进制文件

set @bh_dataformat = ‘mysql’;

–使用mysql loader

3,IB loader语法

IB仅支持load data infile,其他的mysql导入方式不支持

LOAD DATA INFILE ‘/full_path/file_name’

INTO TABLE tbl_name

[FIELDS

[TERMINATED BY 'char']

[ENCLOSED BY 'char']

[ESCAPED BY 'char']

];

导入前关闭

set AUTOCOMMIT=0;

完成后

COMMIT;

set AUTOCOMMIT=1;

4,区域分隔符

.区域分隔符是可选的,默认设置为

CLAUSE DEFAULT VALUE

FIELDS TERMINATED BY ‘;’ (semicolon)

FIELDS ENCLOSED BY ‘”‘ (double quote)

FIELDS ESCAPED BY ” (none)

5,导入经验

a.当导入表格列数很多时,修改brighthouse.ini中LoaderMainHeapSize

b使用并发导入

c容忍性排序为txt_variables<binary<mysql

d bh_loader不支持多分隔符

e 大量数据时,DLP是必要选择