分布式計算系統:Go Glow
Glow 是使用 Go 編寫的易用分布式計算系統,是 Hadoop Map Reduce,Spark,Flint,Samza 等等的替代品。
Glow 的目標是提供一個庫,可以在并行線程或者分布式集群機器中進行更簡單計算。
安裝:
go get github.com/chrislusf/glow go get github.com/chrislusf/glow/flow
簡單示例:
package main
import (
"flag"
"strings"
"github.com/chrislusf/glow/flow"
)
func main() {
flag.Parse()
flow.New().TextFile(
"/etc/passwd", 3,
).Filter(func(line string) bool {
return !strings.HasPrefix(line, "#")
}).Map(func(line string, ch chan string) {
for _, token := range strings.Split(line, ":") {
ch <- token
}
}).Map(func(key string) int {
return 1
}).Reduce(func(x int, y int) int {
return x + y
}).Map(func(x int) {
println("count:", x)
}).Run()
} 
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!