微信号:infoqchina

介绍:有内容的技术社区媒体

Twitter开源流处理框架Summingbird

2014-01-17 16:54 InfoQ

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)更深度的集成


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 [Google EarlGrey] 0x01 第一个测试用例 如何用 sysdig 监控和排查 Linux 服务器 十分钟自动化构建 Android样式的开发:Style篇 为什么Android开发者应该使用FlatBuffers替代JSON?