欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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