infobright中数据导入与避免特殊字符的技巧
发布时间:2022-06-20 14:22:15 所属栏目:MySql教程 来源:互联网
导读:一,导入数据 1,IEE也支持mysqlloader和insert语句 2,默认Loader ICE仅支持IB lorder,IEE默认使用的是是mysql loader,它能更多的容错,但速度稍慢,为了最快的导入,使用IB loader,做以下环境的设置: Mysql set @bh_dataformat = txt_variable; 使用IB loader
一,导入数据 1,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’ [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) //phpfensi.com 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 就可以忽略多少条导入失败的记录,并且将这些记录保存在指定文件,代码如下: set @BH_REJECT_FILE_PATH = '/tmp/reject_file'; set @BH_ABORT_ON_COUNT = 10; 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” 这个值了,否则会被当成换行标识. (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |