假设需要以典型的ETL: Extract, Transform, Load方式处理大csv文件(大约300字节长行以/ n结尾)(每行读取,分割以及插入DB中的JSON的组成)。产生共同处理文件的一个(或多个)goroutines是否有益? 需要做什么才能创建bufio.Scanner
,该文件从文件的随机位置开始读取?使用goutoutines并结合缓冲读取来优化读取大文件
1
A
回答
1
生成一个(或更多goroutines)会有益吗?
是的,绝对。一般来说,每个E,T,L可以有3个并发的例程,并通过通道进行协调。
更多的见解,请从罗布派克自己这真棒谈话:
Concurrency is not Parallelism
:https://goo.gl/cp8xgF Talk Slides
http://talks.golang.org/2012/waza.slide#1
+1
感谢您分享Rob Pike的讲话,真的很深刻,IMO必须看看您是否想正确使用Go –
相关问题
- 1. C++缓冲文件读取
- 2. 用缓冲读取器读取随机访问文件
- 3. 使用缓冲读取器的大型.csv文件,Python
- 4. 读取TCP缓冲
- 5. MFC:读取整个文件缓冲
- 6. 读取缓冲区中的* .wav文件
- 7. 问题的缓冲文件读取
- 8. 无缓冲读取文件 - Ruby
- 9. 需要帮助优化缓冲读取器输出
- 10. 如何在java中使用缓冲读取器和缓冲写入器读取和写入文件
- 11. 读取缓冲区C++
- 12. 从磁盘缓冲读取
- 13. 未读取uart缓冲区
- 14. boost asio读取缓冲区
- 15. FileStream.Seek与缓冲读取
- 16. 从缓冲区读取C
- 17. AWS Lambda - 缓冲读取器
- 18. 优化文件的读取和写入
- 19. 最佳文件缓冲区读取大小?
- 20. 并发读取文件(java优先)
- 21. 用C读取并管道大文件
- 22. 从二进制文件读取并存储到缓冲区
- 23. 读取一个文件并返回到缓冲区变量c
- 24. 使用fread将文件的一部分读取到缓冲区
- 25. 读取缓冲文本数据串
- 26. 结合ndb.Tasklets与内存缓存读取
- 27. 使用读取功能读取文件
- 28. 用Python读取大文件
- 29. 缓慢读取文件
- 30. 在Java中优化大数据文件读取
这里最慢的部分将在DB可能插入。如果您的数据库支持使用批量插入。 – kostya