csv文件导入 navicat会少了很多记录_MySql导入和抽取大数量级文件数据

60a00bcd019c6d1026480d5b3ed00c0a.png

一、情况介绍

需要处理的文件是一个3.41G的csv格式文件,现在需要把它导入数据库,进行后续处理和分析。

二、导入数据

该文件数据量庞大,无法用excel或者editplus++之类普通软件打开,于是借用了pandas的方法查看了表的结构:

29fb72142ad51976b83f5cf87960285f.png

方法一:navicat客户端导入

1.首先建立表字段

886505675185849d9394ed4f9278ac01.png

2.选择表-右击-导入向导

a8bcacc9d573fba04028a910d4be0bc3.png

3.根据向导,设置导入类型、位置、编码、分隔符、字段名行和首行、格式、文件字段可表字段匹配等选项。

但是这个方法导入数据太慢,大约1个小时,导入不到500w条数据。因此需要寻找更快的方法。

方法二:使用load data infile语句导入

直接运行load data infile语句,会报错:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

需要修改secure-file-priv 路径

1.首先查看文件允许导入导出的路径

91cbcb28b5f873d6059a6716c0fbb8fb.png

2.找到文件my.ini,查看secure file priv路径是否与之相同,若不同则修改文件路径,或者直接把路径改成空,允许其他路径文件导入:

ec60eb35222d49d9e017328c306e0bab.png

3.重启服务

33da8e651e0a6a3fe50aa8d964e26f35.png

4.使用load data infile语句导入,大约花了10~20分钟就将100,150,807条数据全部导入完毕。

d3eb69a2e754eb791614eea6ecccbca4.png

三、抽取数据

1.由于数据量太大,语句执行缓慢,且存储空间容易被临时文件占满,如图:

2cec9985ec844755bf968e4df92741ea.png

2.为了能在本地顺利运行,将抽取5%数据存入新表,但是表溢出报错:

710d4fbbde8c0bbcaa23c54c450a57a4.png

3.解决的方法是修改size,如图

98cad09c24d5a465034a0f388fde8dc4.png

4.创建新表成功

5a831509f9da27c08caf3e8105822ccd.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值