当前位置:   article > 正文

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

navicat导入csv文件数据量大会丢失数据

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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/606709
推荐阅读
相关标签
  

闽ICP备14008679号