萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> infobright中數據導入與避免特殊字符的方法

infobright中數據導入與避免特殊字符的方法

infobright 是基於mysql的,但不裝mysql亦可,因為它本身就自帶了一個。mysql可以粗分為邏輯層和物理存儲引擎,infobright主要實現的就是一個存儲引擎,但因為它自身存儲邏輯跟關系型數據庫根本不同,所以,它不能像InnoDB那樣直接作為插件掛接到mysql,它的邏輯層是mysql的邏輯 層加上它自身的優化器。

一,導入數據

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是必要選擇

二,導入數據避免特殊字符問題


前在用的是社區版的infobright,不支持DML功能,只能用LOAD DATA方式導入數據。

如果元數據中有特殊控制字符,導入過程中經常會報錯,很是惱火。應對策略有兩種方法:

1.設置Reject File導入之前,設定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少條導入失敗的記錄,並且將這些記錄保存在指定文件
/** when the number of rows rejected reaches 10, abort process www.111cn.net  **/

 代碼如下 復制代碼

set @BH_REJECT_FILE_PATH = '/tmp/reject_file';

set @BH_ABORT_ON_COUNT = 10;

BH_ABORT_ON_COUNT 設定為 -1 的話,表示永不忽略。也可以設置 BH_ABORT_ON_THRESHOLD 選項,該選項表示有最多多少百分比的數據允許被忽略,因此該選項的值是小數格式,例如 BH_ABORT_ON_THRESHOLD = 0.03(表示3%)

2.導出時指定結束符此外,還可以在導出數據時制定結束符,並且設定忽略哪些轉義字符(、”、’ 等字符),例如:
select fields_list... into outfile '/tmp/outfile.csv' fields terminated by '||' ESCAPED BY '\' lines terminated by 'rn' from mytable;1.或者,將行間隔符設定為其他特殊標識,例如:select fields_list… into outfile ‘/tmp/outfile.csv’ fields terminated by ‘||’ ESCAPED BY ‘\’ lines terminated by ‘$$$$$rn’ from mytable;當然了,這種情況下,實際數據行中就不能存在 “$$$$$rn” 這個值了,否則會被當成換行標識。

copyright © 萬盛學電腦網 all rights reserved