写点什么

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

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

关注

评论

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

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

怎样对react,hooks进行性能优化?

beifeng1996

React

写过自定义指令吗,原理是什么?

bb_xiaxia1998

Vue

Collections之 Arraylist源码解读(二)

知识浅谈

ArrayList 10月月更

架构师的十八般武艺:风险管理

agnostic

风险管理

如何在 Linux 中删除超过 30 天的文件

wljslmz

Linux 10月月更

【SSM】Spring系列——IoC 控制反转

胖虎不秃头

spring ssm 10月月更

Taurus: 面向机器学习的数据面架构

俞凡

人工智能 网络 自智网络

Linux操作系统——用户管理、实用指令

胖虎不秃头

Linux 10月月更

Linux操作系统——进程管理、RPM与YUM

胖虎不秃头

操作系统 Linux tar 10月月更

[架构实战] 课后作业二

爱学习的麦子

Python应用之计算阶乘

芯动大师

函数 10月月更 阶乘计算

大数据ELK(十一):Elasticsearch架构原理

Lansonli

elasticsearch 10月月更

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

架构师的十八般武艺:变更管理

agnostic

需求变更

MyBatis 学习笔记之MyBatis入门开发

薛定谔的猫

mybatis 10月月更 mybatis入门

MyBatis 学习笔记之配置文件

薛定谔的猫

mybatis 10月月更 mybatis配置文件

Qt中读取json文件以及总结

中国好公民st

c++ qt 10月月更

【愚公系列】2022年10月 Go教学课程 016-运算符之逻辑运算符和其他运算符

愚公搬代码

10月月更

Vue3入门指北(六)列表渲染

Augus

Vue3 10月月更

Docker下,两分钟极速体验Nacos

程序员欣宸

Docker Spring Cloud 10月月更

Linux操作系统——组管理和权限管理

胖虎不秃头

Linux 操作系统 10月月更

Linux操作系统——定时任务调度、磁盘分区与挂载、网络配置

胖虎不秃头

Linux 操作系统 10月月更

匿名网络追踪溯源机制及方法

郑州埃文科技

IP地址 追踪溯源 匿名网络

业务实时监控服务

穿过生命散发芬芳

10月月更 业务监控

用30分钟相中10倍工程师

愚夫一得

面试 技术管理 招聘 文化 & 方法

2022-10-02:以下go语言代码能否通过编译?A: 能;B: 不能;C: 不知道。 package main import ( “fmt“ ) type worker interfa

福大大架构师每日一题

golang 福大大 选择题

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

Linux操作系统——日志管理

胖虎不秃头

Linux 操作系统 10月月更

【从0到1学算法】2.递归

Geek_65222d

10月月更

【一Go到底】第二天---你好,Go and GOROOT&GOPATH

指剑

golang Go入门 10月月更

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