写点什么

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:169848
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

WX微信小程序对于响应的数据绑定和模块化生命周期的实战心得

恒山其若陋兮

前端开发 11月月更

使用keytool生成Tomcat证书

源字节1号

软件开发 前端开发 后端开发 小程序开发

部署PKI 和证书服务

我叫于豆豆吖.

11月月更

cap理论和base理论

急需上岸的小谢

11月月更

TCC

急需上岸的小谢

11月月更

FL Studio水果软件V21完整版本全面升级支持简体中文语言界面

茶色酒

FL Studio 水果FL Studio FL Studio 21

OSPF高级配置——虚链路介绍与配置

我叫于豆豆吖.

11月月更

GoFrame V2真香,我是Get到了高内聚低耦合的点,你呢?

王中阳Go

Go golang 高效工作 学习方法 11月月更

[力扣] 剑指 Offer 第四天 - 在排序数组中查找数字

陈明勇

Go 数据结构与算法 力扣 11月月更

基于 jenkins 视图对 jenkins job 进行分类

忙着长大#

jenkins

计算机网络:广域网的基本概念

timerring

计算机网络 11月月更 广域网

EasyExcel导出数据超过Excel单表上限解决方案

@下一站

大数据 技术 Excel Java core 11月月更

网站与应用

我叫于豆豆吖.

11月月更

python中封装和继承

乔乔

11月月更

2022-11-19:第二高的薪水。表结构和数据的sql语句如下,输出200,因为200是第二大的。请问sql语句如何写? DROP TABLE IF EXISTS `employee`; CREAT

福大大架构师每日一题

MySQL 数据库 福大大

Ubuntu16(ROS_Kinetic)海康威视网络摄像机(单目)内参标定

Studying_swz

ubuntu 11月月更

kubernetes部署metrics-server

程序员欣宸

Kubernetes k8s 11月月更

DNS服务器

我叫于豆豆吖.

11月月更

微服务连接:Subset子集划分算法

董哥的黑板报

微服务 云原生 连接 RPC 集群

代码的衡量标准

Lemoon Can

写好代码 好代码的衡量标准

部署 jenkins master 及多 slave 环境

忙着长大#

jenkins

部署 Jenkins 服务器并安装 GitLab 插件、实现代码免秘钥代码 clone

忙着长大#

jenkins

数据预处理和特征工程-特征选择-相关性过滤-互信息法 & F检验

烧灯续昼2002

人工智能 机器学习 算法 特征工程 11月月更

uni-app实战之单击菜单发布->H5的Promise 化在工程项目的实战演练项目心得

恒山其若陋兮

前端 11月月更

纯原生渲染模式下的uni-App框架通信实战

恒山其若陋兮

前端 11月月更

AngularJS进阶(一)深入理解ANGULARUI路由_UI-ROUTER

No Silver Bullet

angular.js 路由 11月月更 ANGULARUI

TCP/IP-ARP网络攻击与欺骗

我叫于豆豆吖.

11月月更

两阶段提交与三阶段提交

急需上岸的小谢

11月月更

网页基本代码

我叫于豆豆吖.

11月月更

【愚公系列】2022年11月 微信小程序-sitemap站内搜索

愚公搬代码

11月月更

极客时间运维进阶训练营第四周作业

忙着长大#

极客时间

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