最赞回答 / 慕仔3302377
只要一个类型,实现了一个接口的任意方法,都能隐式转换为该接口类型 可以看下具体的代码 // io.go // io.Writer 接口定义 type Writer interface { Write(p []byte) (n int, err error) } // file.go // File结构体write方法 func (f *File) Write(b []byte) (n int, err error) { // ....... }
2020-02-25
看了后总算可以理解归并排序了,顺便也理解了大数据中map reduce中的拆分、合并。把一个10T的文件拆分为多个小的文件,比如是1000份。对每一个小份的文件进行操作(比如是做数据的排序)。
每一个小文件排序后,在把2个或者多个文件的结果进行合并
每一个小文件排序后,在把2个或者多个文件的结果进行合并
最新回答 / 醒说信做_陈满
如果你单机跑整个程序(你的机器内存8G,但你需要派排序的文件8.5G)这样子会导致程序因为内存空间不足导致panic,因此通过分片(分块)的方法,将大文件分子别在不同的机器上面进行处理,最终再由一个机器分别汇总结果并输出到文件。
2019-11-07