在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

Twitter 开源了其流处理框架 Summingbird

  • 2014-01-16
  • 本文字数:907 字

    阅读完需:约 3 分钟

Twitter开源了其MapReduce 流处理框架 Summingbird 。Summingbird 是一个大规模数据处理系统,支持开发者以批处理模式(基于 Hadoop/MapReduce)或流处理模式(基于 Storm )或混合模式(即组合前两种模式)以统一的方式执行代码。它基于 Apache 2 许可发布。

现在的软件栈需要手工集成 MapReduce (Pig/Scalding) 和基于流(Storm)的代码,为了处理 5 亿的 Tweet 并能持续成长,Twitter 必须寻找一个替代品。关于创建 Summingbird 的主要动机,Twitter 的工程师提到,在于他们意识到,由于以下原因,在 Storm 上运行一个完全实时的系统非常困难:

  • 要重新计算数月的历史日志,必须与 Hadoop 进行协作,或者是通过某种定制的日志加载机制形成通过 Storm 的流。
  • Storm 专注的是消息传递,随机写入数据库很难维护。

正是这一洞见推动了 Summingbird 这一灵活而通用的方案的出现,它用于解决工程师使用现有方法遇到的实际问题:

  • 两个不同系统中的两组聚合逻辑必须保持同步
  • 在每个系统和客户端之间,键和值必须一致地进行序列化
  • 客户端要负责从两个数据存储读取数据、执行最后的聚合并提供合并结果

Summingbird 也是第一批可以公开获得的 Lambda 架构兼容系统中的一个。类似的项目包括Yahoo 的 Storm-YARN 和一家西班牙创业公司即将发布的 Lambdoop 。Lambdoop 是一个 Java 框架,用于以与 Lambda 架构一致的方式开发大数据应用。Lambda 架构的特色是有一个不可修改、只能追加数据的主数据库,并组合了批处理、服务和加速等不同的层。这些特色支持开发者构建健壮的、可以进行批处理和流处理的大规模数据处理系统,其使用案例涉及从物联网(智能城市、可穿戴设备和制造业)之上的社交媒体平台(比如 Twitter、LinkedIn 等)到金融行业(欺诈检测和推荐)等。

Summingbird 的主要设计者 Oscar Boykin、Sam Ritchie(计算机科学界的传奇人物 Dennis Ritchie 的侄子)和 Ashutosh Singhal 进一步透露了该框架的路线图:

  • 支持 Apache Spark 和列式数据存储格式 Parquet
  • 在 Summingbird 的 Producer 原语之上的高层数学库和机器学习代码
  • 相关开源项目(比如 Algebird 和 Storehaus)更深度的集成

查看英文原文: Twitter Open-Sources its MapReduce Streaming Framework Summingbird

2014-01-16 06:1610218
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 152.1 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

Git的branch操作详解

timerring

git 10月月更 branch

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

租房小程序使用uniapp展示地图map

源字节1号

小程序开发

golang中经常会犯的一些错误

六月的

golang

golang中的变量阴影

六月的

golang

进阶vue面试题总结

bb_xiaxia1998

Vue

如何修改已提交commit信息

Appleex

git

golang中的一些实用功能

六月的

golang

golang中的socket编程

六月的

golang socket

golang开发一个简单的grpc

六月的

golang gRPC

go-zero docker-compose 搭建课件服务(六):完善jwt鉴权和返回结构

六月的

Docker-compose go-zero

grpc中的拦截器

六月的

gRPC 拦截器

grpc错误处理

六月的

gRPC 错误处理

go-zero docker-compose 搭建课件服务(九):http统一返回和集成日志服务

六月的

Docker-compose go-zero

golang单元测试一(简单函数测试)

六月的

golang 单元测试

CORS跨域

六月的

CORS

rabbitmq原理和应用

六月的

Go RabbitMQ

golang中的errgroup

六月的

golang errgroup

golang中的选项模式

六月的

golang 选项模式

golang垃圾回收

六月的

golang 垃圾回收

go channel原理及使用场景

六月的

Go channel

深入浅出redis缓存应用

六月的

redis

golang中的几种并发模式

六月的

golang 并发模式

goroutine&waitgroup下载文件

六月的

goroutine waitgroup

PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)

汀丶人工智能

nlp 文本分类

一键上手时下最火AI作画工具

华为云开发者联盟

人工智能 华为云

golang的内存管理

六月的

golang 内存管理

100+款AI产品薅羊毛攻略(上)——轻轻松松节省几十万

夏夜许游

人工智能 阿里云 AI 视觉

go-zero docker-compose 搭建课件服务(五):完善user服务

六月的

Docker-compose go-zero

etcd实现分布式锁

六月的

分布式锁 etcd

go-zero docker-compose 搭建课件服务(八):集成jaeger链路追踪

六月的

Docker-compose go-zero

Twitter开源了其流处理框架Summingbird_大数据_Michael Hausenblas_InfoQ精选文章