Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 建议使用几何图形处理200 GB CSV_Django_Postgresql_Orm_Pandas_Bigdata - Fatal编程技术网

Django 建议使用几何图形处理200 GB CSV

Django 建议使用几何图形处理200 GB CSV,django,postgresql,orm,pandas,bigdata,Django,Postgresql,Orm,Pandas,Bigdata,我有一个200 GB的CSV文件,代表全球各地的位置和地点。每个条目行有64列,并且有冗余信息。我做了一些计算,大小约为8亿行。我的第一个方法是将所有数据推送到Postgres+Postgis中。数据不是很干净,有些行不具备数据类型特性,因此,我首先进行了ORM实现,验证并修复数据类型不一致性,并处理异常。 我使用的ORM是Django>1.5,处理不到总数据集的0.1%需要大约3个小时。 我还尝试将数据集划分到不同的文件中,以便一点一点地将它们放入数据库中进行处理。我使用了常用的unix命令,

我有一个200 GB的CSV文件,代表全球各地的位置和地点。每个条目行有64列,并且有冗余信息。我做了一些计算,大小约为8亿行。我的第一个方法是将所有数据推送到Postgres+Postgis中。数据不是很干净,有些行不具备数据类型特性,因此,我首先进行了ORM实现,验证并修复数据类型不一致性,并处理异常。 我使用的ORM是Django>1.5,处理不到总数据集的0.1%需要大约3个小时。 我还尝试将数据集划分到不同的文件中,以便一点一点地将它们放入数据库中进行处理。我使用了常用的unix命令,如Sed、Cat、AWK和Head来完成这项工作,但这需要花费很多时间

我的问题如下:

使用Django ORM听起来像上帝的方法

SQLAlchemy如何帮助加快插入速度

如何在较短的时间内拆分数据集

我最近看到了面向数据分析师的Python库,它能帮助完成这项任务吗?一旦数据存储在数据库中,可能会使查询变得更容易

您建议使用哪些其他工具来处理如此大量的数据


感谢您的帮助和阅读这篇长篇文章。

1删除多余的列。2使用split将文件拆分为大小合理的块~1GB 3创建一个脚本,分别逐个导入这些块。这将允许您检测和纠正数据中的错误和/或中断导入过程。4您可能希望在导入时删除或禁用约束或索引。1在不进行任何类型检查的情况下导入到临时表。2.打扫桌子。3将干净的数据移动到主表。附加-检查Postgres配置。通过为Postgres提供更多资源,您可以显著减少处理时间。如果cat文件>/dev/null花费的时间太长,则您的案例在当前硬件上是没有希望的。您好!谢谢大家。我一直在做测试。我尝试在dev/null中对所有内容进行cat,花了2个多小时。解析数据集的任何其他意图都将花费太多时间。我要做的是使用split命令,如果速度太慢,我自己做。但问题仍然是?您认为使用ORM方法是一种好方法吗?我将尝试探索无sql,也许它更快。