我有一个文件列表,每个文件都有\ n划分的大量记录, 我需要并行处理这些记录并将它们上传到某个sql服务器 有人提供了一个想法什么是最好的方式来做到这一点python使用python并行上传文件列表的记录
0
A
回答
1
最好的办法可能不是平行上传,但使用SQL服务器批量导入mechanisims
例如
BULK INSERT
bcp
编辑:
如果需要对它们进行处理,然后我经常使用的方法是
1)批量数据加载到一个临时表
2)上处理数据数据库
3)插入主表
如果处理是合理的类型,则可以将阶段2和阶段3组合。
这可能会更快,因为有更少的往返服务器和处理一组数据,而不是逐行通常更快。
我也件事,SQL服务器将在这样的处理使用一个以上的CPU,所以你得到你的处理并行免费
0
我会用一个游泳池。我提供了一个例子。为了获得最佳吞吐量,您需要将插入批处理到数据库。一个简单的方法是使用python处理所有记录,然后使用Mark评论中的BULK INSERT工具进行插入。如果你一次插入一个,它会变慢,因为你的程序必须等待网络往返于SQL服务器。
from multiprocessing import Pool
import sys
def worker(record):
print "Processing... %s" % (record)
pool = Pool(processes=8)
for record in sys.stdin:
pool.apply_async(worker, [record])
pool.close()
pool.join()
相关问题
- 1. 使用python在网站上登录并上传文件
- 2. 使用jquery文件上传插件并行块文件上传
- 3. 使用python计算目录上的文件记录
- 4. 转换用户上传的视频文件并使用django,python
- 5. 想使用python上传文件到google appengine中的目录
- 6. Python使用同一个记录器记录多个文件
- 7. 文件上传并保存到目录
- 8. 用于上传文件并执行bash命令的HTML表单
- 9. 使用json配置文件进行Python日志记录
- 10. 使用python将多行记录写入csv文件
- 11. 使用python在myBucket中上传CSV并在S3中读取文件使用python
- 12. 使用Perl获取并上传文件并将前缀文件上传到s3
- 13. python使用post方法上传文件
- 14. 使用python上传图片文件
- 15. 使用Python上传Basecamp文件
- 16. 使用python上传文件http
- 17. 使用httplib上传python文件
- 18. Python:登录到文件并执行sys.stdout
- 19. 防止通过表单覆盖文件上传和MySQL记录?
- 20. Python记录多个文件
- 21. 使用Python中的请求库进行文件上传
- 22. 使用Python记录
- 23. 使用并行Python记录工作进程
- 24. 使用valums删除上传列表中的特定文件ajax上传器
- 25. 创建第二行用于在python列表并写列表txt文件
- 26. 如何使用Python/CGI进行文件上传
- 27. 并行文件上传到s3
- 28. 使用PHP上传文件并给予该文件的许可
- 29. 使用python请求将文件上传到表单
- 30. 使用s3cmd并行上传文件到s3
我需要从文件中处理每个记录,然后上传它,而不是将整个文件作为表批量插入 – AKM 2010-09-27 11:58:40