我有一个非常大的3.5 GB CSV文件,我希望能够阅读它,根据各种输入条件进行排序和过滤以获取结果。我相信可以将其导入到MySQL数据库中并从那里开始处理,但是否有任何程序或在线工具可用于仅上传CSV文件,其余部分自动完成?
我有一个非常大的3.5 GB CSV文件,我希望能够阅读它,根据各种输入条件进行排序和过滤以获取结果。我相信可以将其导入到MySQL数据库中并从那里开始处理,但是否有任何程序或在线工具可用于仅上传CSV文件,其余部分自动完成?
由于它是一个CSV文件。
您可以通过使用材料化视图 (PG 9.3+) 来提高性能,它基本上从CSV数据创建了一个真正的数据库表格。您可以使用pgAgent来按计划刷新材料化视图。
另一种选择是使用COPY语句:
/* the columns in this table are the same as the columns in your csv: */
create table if not exists my_csv (
some_field text, ...
);
/* COPY appends, so truncate the table if loading fresh data again: */
truncate table my_csv;
/*
you need to be a postgres superuser to use COPY
use psql \copy if you can't be superuser
put the csv file in /srv/vendor-name/
*/
copy
my_csv
from
'/srv/vendor-name/my.csv'
with (
format csv
);
我有一个包含大约1亿条记录的文件,我使用Linux命令行查看文件(只是浏览一下)。
$ more myBigFile.CSV
或者
$ nano myBigFile.CSV
它可以处理6 GB的文件。
如果它是一个平面的.CSV文件,并且不涉及数据管道,我对“其余部分自动化”的含义不太确定。
访问更大的.CSV文件的典型解决方案是:
您需要设计表模式,找到一个托管数据库的服务器,并编写服务器端代码来维护或更改数据库。
在GB级别的数据上运行Python和R会给您的本地计算机带来很多压力。这也更适合于数据探索和分析,而不是表操作。
数据中心要容易得多,但它的成本可能会有所不同。它确实带有一个GUI,可以帮助您轻松地对表进行排序和筛选。