我有一个200 GB的CSV文件,代表全球各地的位置(点)。每个条目(行)有64列,并且它具有冗余信息。我做了一些计算,大小约为。 8亿行。我的第一个方法是将所有数据推送到Postgres + Postgis。数据不是很干净,有些行不支持数据类型功能因此,我首先进行了ORM实现,验证并修复了数据类型不一致并处理异常。 我使用的ORM是Django> 1.5并且花费了大约。 3小时处理不到总数据集的0.1%。 我还尝试将数据集分区到不同的文件中,这样我就可以一点一点地处理它们进入数据库。我使用了常见的unix命令,例如" Sed,Cat,AWK和Head"要做到这一点,但需要花费很多时间!
我的问题如下:
使用Django ORM听起来像神的方法?
SQLAlchemy如何帮助更快地插入?
如何在更短的时间内拆分数据集?
我最近看到Pandas(数据分析师的Python库)可以帮助完成这项任务,一旦数据存储在数据库中,可能会使查询更容易。
您建议使用哪些其他工具来处理大量数据?
感谢您的帮助并阅读了长篇文章。