批量文本入库

趁着加班迁移库的监控,将一个文本处理程序完善了下,基本达到了需求。
需求是这样的:
其他部门的同事询问有什么办法将文本导入到数据库中,而且是大量的文本文件,每个文件里面的记录格式不一样,同一个文件里面每行的格式还有差异,要命的是目前已经有20000多个文件,而且每隔几天就会增加文件,每次估计增加1000-2000个文件。。。要命要命吧。。。要想使用常规的工具和处理办法已经实现不了了。
仔细想想还是有办法的,思路如下:
0.递归处理源文件夹下所有文件(包含子目录),并且要自动识别文本文件;
1.将数据入库,入库的时候要求自动跳过每个文本文件的前面2行;
2.入库的时候要求将文件名称更新到一个标识列,否则所有文本入库到一个表之后将无法识别
思路有了就好办了,上述操作如果是放在linux之下其实完全可以用shell、awk和sed来实现,但是不是每个人都对linux熟悉,因此还是写个程序来实现。
花了半天时间按照以上思路写个小程序,实现过程虽然比较迂回,但是总算满足了需求。
在普通PC机上测试了一下,23137个文件,830Mb大小文件,从源目录拷贝到目标处理目录耗时4分钟,9174032行记录,导入耗时2个小时50分钟。效率还算可以接受,如果使用手工处理保守估计一个星期都搞不定,在虚拟机上进行测试配置较差,如果机器强悍应该还可以提高速度。
一句话,懒人有懒办法,想想大部分程序不都是为了解决人的惰性而开发的嘛!
-The End-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值