博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
infobright中导入数据避免特殊字符问题
阅读量:6359 次
发布时间:2019-06-23

本文共 939 字,大约阅读时间需要 3 分钟。

目前在用的是社区版的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” 这个值了,否则会被当成换行标识。

本文转自叶金荣51CTO博客,原文链接:http://blog.51cto.com/imysql/1880060,如需转载请自行联系原作者
你可能感兴趣的文章
css优化
查看>>
Python中*args 和**kwargs的用法
查看>>
linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)(zz)
查看>>
为什么选择.NETCore?
查看>>
Java基础教程(25)--I/O
查看>>
关于vue的域名重定向和404
查看>>
android TabHost小结(转)
查看>>
在同一个Apache服务器软件上部署多个站点的基础方法
查看>>
MS SQL 两种分页
查看>>
spring.xml从外部文件引入数据库配置信息
查看>>
Eclipse下安装Flex插件
查看>>
【代码健壮性】善用data-属性来关联,慎用parent()之类的查找结构
查看>>
DotNETCore 学习笔记 宿主
查看>>
深度理解STL之map、set
查看>>
关于oracle数据库(8)查询2
查看>>
较难理解的概念
查看>>
JS_同域下的ifream自适应高度和设置注意等
查看>>
【HUD-5790】Prefix (主席树+tire)
查看>>
sharepoint 2007 assembly
查看>>
script的学习3
查看>>