我打算使用django的ORM将从约750个文件(每个~250MB)中取出的十亿条记录上传到数据库.目前每个文件需要大约20分钟才能处理,我想知道是否有任何方法可以加速这个过程.
我采取了以下措施:
我还能做些什么来加快速度?以下是我的一些想法:
欢迎任何关于这些项目或任何其他想法的指针:)
使用下面的示例,在我的机器上,设置range(150)会导致错误,而range(100)不是:
from peewee import *
database = SqliteDatabase(None)
class Base(Model):
class Meta:
database = database
colnames = ["A", "B", "C", "D", "E", "F", "G", "H"]
cols = {x: TextField() for x in colnames}
table = type('mytable', (Base,), cols)
database.init('test.db')
database.create_tables([table])
data = []
for x in range(150):
data.append({x: 1 for x in colnames})
with database.atomic() as txn:
table.insert_many(data).upsert().execute()
Run Code Online (Sandbox Code Playgroud)
导致:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/cluster/home/ifiddes/python2.7/lib/python2.7/site-packages/peewee.py", line 3213, in execute …Run Code Online (Sandbox Code Playgroud)