将goroutines与缓冲读数结合使用可优化读取大文件

时间:2016-02-05 04:49:49

标签: go

考虑到需要以典型ETL: Extract, Transform, Load方式处理大型csv文件(以/ n结尾的大约300字节长行)的要求(每行读取,拆分和组合插入数据库中的JSON) )。产生处理文件的一个(或多个)goroutine是否有益? 要创建一个从文件的随机位置开始读取的{{1}},需要做些什么?

1 个答案:

答案 0 :(得分:1)

  

产生一个(或更多goroutines)是否有益?

是的,绝对的。通常,您可以在每个E,T,L上有3个并发goroutine,并通过通道进行协调。

有关更多见解,请查看Rob Pike本人的精彩演讲:

Concurrency is not Parallelismhttps://goo.gl/cp8xgF Talk Slides http://talks.golang.org/2012/waza.slide#1