使用goroutines结合缓冲读取来优化读取大文件

假设需要在典型的ETL 中处理大型 csv 文件(大约 300 字节长的行以 /n 结尾):提取、转换、加载方式(每行读取、拆分和组合插入数据库中的 JSON) . 生成一个(或多个)协同处理文件的 goroutine 是否有益?需要做什么来创建bufio.Scanner从文件的随机位置开始读取的文件?


Qyouu
浏览 135回答 1
1回答

慕慕森

生成一个(或多个 goroutine)是否有益?是的,一点没错。通常,您可以在每个 E、T、L 上有 3 个并发 goroutine,并通过通道对它们进行协调。如需更多见解,请查看 Rob Pike 本人的精彩演讲:Concurrency is not Parallelism: https://goo.gl/cp8xgF Talk Slides http://talks.golang.org/2012/waza.slide#1
打开App,查看更多内容
随时随地看视频慕课网APP