infobright中导入数据避免特殊字符问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了infobright中导入数据避免特殊字符问题相关的知识,希望对你有一定的参考价值。

目前在用的是社区版的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 **/

    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 ‘\r\n‘ from mytable;
  1. 或者,将行间隔符设定为其他特殊标识,例如:select fields_list… into outfile ‘/tmp/outfile.csv’ fields terminated by ‘||’ ESCAPED BY ‘\\’ lines terminated by ‘$$$$$\r\n’ from mytable;当然了,这种情况下,实际数据行中就不能存在 “$$$$$\r\n” 这个值了,否则会被当成换行标识。


--------------------------------------分割线--------------------------------------

知数堂 (http://zhishuedu.com)培训是由资深mysql专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。

本文出自 “老叶茶馆” 博客,请务必保留此出处http://imysql.blog.51cto.com/1540006/1879883


本文出自 “老叶茶馆” 博客,请务必保留此出处http://imysql.blog.51cto.com/1540006/1880060

以上是关于infobright中导入数据避免特殊字符问题的主要内容,如果未能解决你的问题,请参考以下文章

在 xarray 中导入和解码数据集以避免冲突 _FillValue 和 missing_value

如何避免在每个测试文件中导入组件所需的所有内容?

在SSIS中导入CSV:截断错误

在C#中导入数据表后如何在同一Excel单元格中保留两位数的两位数字字符串

FAQ系列 | infobright下如何使用utf8字符集

使用 NodeJs 在 Pdftron 中导入多个注释