分布式计算系统:Go Glow
jopen
9年前
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() }