抽取MySQL数据成文件_MySql导入和抽取大数量级文件数据

本文介绍了如何处理3.41G的CSV文件,包括通过Navicat客户端和`load data infile`语句快速导入数据到MySQL,以及面对大数据量时如何高效地抽取数据。在使用`load data infile`时,需要修改`secure-file-priv`配置以避免导入错误,并且为了解决数据抽取导致的存储问题,采取了抽取5%数据到新表的策略。
摘要由CSDN通过智能技术生成

一、情况介绍

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

二、导入数据

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

MfEjEf.jpg

MfEjEf.jpg

方法一:navicat客户端导入

1.首先建立表字段

uaaQJj.jpg

uaaQJj.jpg

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

bqeE3q.jpg

587006

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.首先查看文件允许导入导出的路径

nUZRFb.jpg

nUZRFb.jpg

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

NvQNFj.jpg

NvQNFj.jpg

3.重启服务

YZ73Ev.jpg

YZ73Ev.jpg

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

26ZjYz.jpg

26ZjYz.jpg

三、抽取数据

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

Yvu6Fb.jpg

Yvu6Fb.jpg

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

j2yMza.jpg

j2yMza.jpg

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

yYBv2i.jpg

yYBv2i.jpg

4.创建新表成功

bIZZNz.jpg

bIZZNz.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值