Go Glow

分布式计算系统
授权协议 Apache
开发语言 Google Go
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 不详
投 递 者 漆雕唯
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Glow 是使用 Go 编写的易用分布式计算系统,是 Hadoop Map ReduceSpark,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()
}

  • Go语言核心编程:Go命令行操作,变量、常量、类型、函数、包,数组、切片,指针、结构体、方法、接口,协程、管道、缓存区、选择、互斥锁,defer、panic、recover、error 命令行工具:cobra、unfave/cli Web框架路由:Echo、Gin、Beego 对象关系映射:Gorm、Xorm 缓存:本地缓存GCache,分布式缓存Go-Redis,GoMemcache 日志:日志

  • GO语言基础 认识并安装GO语言开发环境 Go语言简介 Go语言是谷歌2009年发布的第二款开源编程语言 go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全,支持并行进程 Go语言特点 简洁、快速、安全 并行、有趣、开源 内存管理,数组安全,编译迅速 Go语言开发的应用 docker Codis(豆瓣开发的大部分使用go语言) Glo

 相关资料
  • 主要内容:一、从一个新闻门户网站案例引入,二、推算一下你需要分析多少条数据?,三、黄金搭档:分布式存储+分布式计算这篇文章聊一个话题:什么是分布式计算系统? 一、从一个新闻门户网站案例引入 现在很多同学经常会看到一些名词,比如分布式服务框架,分布式系统,分布式存储系统,分布式消息系统。 但是有些经验尚浅的同学,可能都很容易被这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析。 如果你要理解啥是分布式计算,就必须先得理解啥是分布式存储,现在我们从一个小例子来引入。 比如说

  • 本章将重点介绍如何开始使用分布式TensorFlow。目的是帮助开发人员了解重复出现的基本分布式TF概念,例如TF服务器。我们将使用Jupyter Notebook来评估分布式TensorFlow。使用TensorFlow实现分布式计算如下所述 - 第1步 - 为分布式计算导入必需的模块 - 第2步 - 使用一个节点创建TensorFlow集群。让这个节点负责一个名称为“worker”的作业,并在

  • 在介绍GraphX之前,我们需要先了解分布式图计算框架。简言之,分布式图框架就是将大型图的各种操作封装成接口,让分布式存储、并行计算等复杂问题对上层透明,从而使工程师将焦点放在图相关的模型设计和使用上,而不用关心底层的实现细节。 分布式图框架的实现需要考虑两个问题,第一是怎样切分图以更好的计算和保存;第二是采用什么图计算模型。下面分别介绍这两个问题。 1 图切分方式 图的切分总体上说有点切分和边切

  • 一、MapReduce概述 Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据集。 MapReduce 作业通过将输入的数据集拆分为独立的块,这些块由 map 以并行的方式处理,框架对 map 的输出进行排序,然后输入到 reduce 中。MapReduce 框架专门用于 <key,value> 键值

  • 类型 实现框架 应用场景 批处理 MapReduce 微批处理 Spark Streaming 实时流计算 Storm

  • 其于职业介绍所、工头、工人、工作模型的分布式计算框架。 职业介绍所有两种,一种是本地职业介绍所,一种是远程职业介绍所。顾名思义,本地职业介绍所就是在当前计算机上的,远程职业介绍所用于连接到远程职业介绍所的。 工人、工头都可以加入到职业介绍所,所以加到本地或远程种业介绍所都是可以的。 在同一个职业介绍所中,具有同样类型的工人、工头和工作都存在的时候,工作就可以被安排下去执行。当然,有两种安排方式,一

  • 我想创建一个基于AKKA的分布式电子邮件邮箱系统。当我的应用程序启动时,我想创建所有收件箱参与者,并在他们上启动调度器,以接收邮件的时间间隔为10秒。但是有一个问题是如何创建这些收件箱角色?是否可以在集群上创建actor或获得对它的引用(如果它存在的话)?Actor名称可以是数据库中的邮箱UUID,群集中只能存在一个具有特定UUID的Actor。 最重要的问题是如何在集群中创建以uuid为名称的a

  • 如何计算大的皮尔逊互相关矩阵( 更新:我读了阿帕奇火花的实现 但对我来说,看起来所有的计算都发生在一个节点上,而不是真正意义上的分布式。 请在这里放一些光。我还尝试在3节点火花群集上执行它,下面是屏幕截图: 正如您从第二张图中看到的,数据在一个节点上被拉起,然后进行计算。我在这里对吗?