GAE bulkupload 之大批量数据导入(二)
程序员文章站
2022-06-15 13:39:43
...
只知道ERP在实施过程中,数据初始化是最基本的工作之一,尤其是现有系统的数据迁移,更是梦魇般。
GAE 尽管推出了不错的bulkupload 工具,但是在导入的过程却总是会碰到不少怪异的问题。
由于数据量 非常大,而且字段的长度都在10万字左右,所以 采用分割多个CSV的方案,5000条记录一个文件,每个文件在60M左右。
导入的时候碰到一个极其怪异的问题,有一条记录死活都导入不进去,报的异常是 datastore_v3.put() too large 之类的,GOOGLE 了一通,基本说得都是不能插入10M以上的文件之类的原因,偶得记录是大,10万字,可也没有10M呀,不解,实在没办法,只好过滤这条记录,再说,过滤这条记录后,一路顺通. 或过头来,再把那条记录挑出来,单独生成一个文件导入,一切OK . 不解! 不过总算是j解决了。
过滤特定记录的方法
class Chapter_loader(Loader):
def __init__(self):
Loader.__init__(self, 'Remark',
[('id', str),
('content', str)
])
def HandleEntity(self, entity):
if entity.id not in['5bdaa24f-88e1-44ee-a8d2-ff1d49511477','2d266ea7-dab8-4cb4-bd6f-73aea54e1d56'] :
return entity
return [] # skip a csv row