说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Twitter开源Summingbird:近原生编码下整合批处理与流处理

HTML文档下载 WORD文档下载 PDF文档下载
近日,Twitter开源了名为Summingbird的数据分析工具。区别于以往的更快、更准确节奏,Summingbird更注重于流处理与批处理的无缝整合,以及编程语言的原生化。

根据使用场景不同,大数据处理逐渐的发展向两个极端——批处理和流处理。其中流处理更注重于数据的实时分析,代表工具有Storm及S4。而批处理更注重于数据的长期挖掘,典型的工具则是从Google 三大论文上衍生的Hadoop。

随着数据的“爆棚”,各个公司在大数据的处理上可谓是绞尽脑汁,目的无非就是更快、更准。然而近日Twitter 开源的新工具Summingbird却打破了这个节奏,在流处理与批处理的无缝整合上更进了一步。


开发背景

众所周知,Twitter的系统基本上完成了面向服务的架构转变,而众多服务对数据处理也有着不同的需求,从而无可避免的出现这种情况:类似Trending Topics及搜索服务在开始时有实时处理的需求,而数据的价值却需要经过最终的深度挖掘——批处理。这样减少转换时开销的重要性就显而易见了,Summingbird应运而生。

Sunmmingbird

相关简介

Twitter在9月3日开源了一个名为Summingbird的大数据处理系统,通过整合批处理与流处理来减少它们之间的转换开销。

从Twitter对Summingbird的介绍还得知,开发者可以使用非常接近原生的Scala或者Java 在Summingbird上执行MapReduce作业,下面着眼一个使用纯粹Scala编写的word-counting示例:

def wordCount(source: Iterable[String], store: MutableMap[String, Long]) =  source.flatMap { sentence =>    toWords(sentence).map(_ -> 1L)  }.foreach { case (k, v) => store.update(k, store.get(k) + v) }

而在Summingbird做word-counting则需要这样的代码

def wordCount[P <: Platform[P]]  (source: Producer[P, String], store: P#Store[String, Long]) =    source.flatMap { sentence =>      toWords(sentence).map(_ -> 1L)    }.sumByKey(store)

不难看出他们有着相同的逻辑和近乎完全相同的代码,然而不同的是,你既可以使用Summingbird项目做“批处理”(Scalding),也可以使用它做“实时处理”(使用Storm);同时,你还可以使用两种模式的混合给应用程序带来无与伦比的容错性。

核心观念

Summingbird作业会产生两种类型的数据:流(stream)和快照(snapshot)。流包含了数据的所有历史,Store则是包含了系统在指定时间的快照。Summingbird核心通过众多组件实现:

  • Producer——Producer是Summingbird的数据流抽象,用以传递给特定Platform做MapReduce流编译。
  • Platform——Platform实例可以用于任何流MapReduce库的实现,Summingbird库包含了Platform对Storm、Scalding及内存处理的支持。
  • Source——Source代表了一个数据的源,每个系统都对数据源有自己的定义,比如Memory平台将Source[T]定义为任何TraversableOnce[T]。
  • Store——Store是Summingbird中流MapReduce进行“reduce”操作的场所,Store包含了所有键对应值聚合的快照。
  • Sink——不同于Store,Sink允许你形成一个体现Producer值的非聚合流,sink是流而不是快照。
  • Service——Service允许用户在Producer流中当前值上执行“lookup join”或者是“leftJoin”,被连接的值可以是来自另一个Store的快照,也可以是另一个Sink的流,甚至来自一些其它的异步功能。
  • Plan—— Plan由Platform调用platform.plan(producer)产生,作为MapReduce流的最终实现。对于Storm来说,Plan就是个StormTopology实例,用户可以通过Storm提供的方法执行。对于Memory平台来说,Plan就是个内存Stream,包含了被传递Producer提供的输出内容。

详细内容请访问:Summingbird的核心概念

相关项目

Summingbird催生了大量的子项目,其中必须关注的有:

  • Algebird——Scala的抽象代数库,Algebird中的众多数据结构都经Monoid实现,让他们能更好的进行Summingbird聚合。
  • Bijection——Summingbird使用Bijection项目的Injection在不同客户端和执行平台间共享序列化。
  • Chill——Summingbird的Storm及Scalding平台都使用了Kryo库做序列化处理,Chill是对Kryo一个很好的补充,其中包括许多可用配置选项,并且提供了Storm、Scala、Hadoop的使用模型。Chill同样也在伯克利Amp实验室的Spark中使用。
  • Tormenta——Tormenta在Storm的Scheme及Spout接口上提供了类型安全层。
  • Storehaus——Summingbird客户端通过 Storehaus的异步键值储存特性实现,Storm平台利用了 Storehaus的MergeableStore特性,以达到一些常用后备存储的实时聚合,包括memcache及Redis。

未来计划

  • 支持更多的平台, Spark及 Akka“首当其冲”
  • Producer图层的可插式优化
  • 支持可过滤的数据源,比如 Parquet
  • 为Producer基元注入更高级的数学及机器学习代码
  • 通过相关项目,实现更多扩展
  • 通过公共数据源释放更多的教程

更多详细信息访问Summingbird HomePage及Summingbird问题跟踪,Summingbird  GitHub下载页。

[开源推荐]Riot.js:不足1KB的MVP客户端框架 研发周报:最难忘的Bug调试经历 NSA如何侵入Google和雅虎的私有数据网络? 飞天5K:开放比开源更有意义 MDCC之移动娱乐游戏峰会:手游金玩奖即将揭晓 开源巨人火狐浏览器:9周岁生日快乐! 感受OpenStack Summit香港大会 渣打科营中心:创建以技术为核心的企业文化 抱怨IT公司人才缺乏?留住现有人才方是正途 专访Esri中国区技术总监:打造新一代WebGIS平台 TIOBE 2013年11月编程语言排行榜:C#、Transact-SQL及VB.NET厚积薄发 透过KitKat,Android或与ChromeOS融合? 利用Spring Data Neo4j搭建推荐系统 七丽借百度SiteApp移动化 分发及变现能力获大幅提升 Go语言4岁了 生日快乐 谷歌发布Web延迟基准测试工具 专访JS-Git创始人Tim Caswell:让Git运行于任一平台 一段代码引发的思考 2013年美国开发者薪资调查报告 MDCC之移动娱乐游戏峰会:金玩奖揭晓最火游戏 算法为王:且看Mac Mini如何超越1636节点的Hadoop 鲍尔默成大善人?微软正式废除员工排名评审制度 工信部软件司副司长陈英为MDCC 2013大会致开场辞 全民移动•重塑世界 2013移动开发者大会盛大开幕 泯灭Web App可用性的七个开发错误 保益互动创始人曹军:听到的世界更精彩,盲人应用背后的故事 Gumi公司CEO国光宏尚: 大公开!日本手游市场攻克方法! Great Hill Partners高管Chuck Goldman &amp; 南京创毅CEO William Wei:超越黑莓——下一代企业移动 高通业务拓展副总裁沈劲:智能手机2.0——以体验为中心 百度副总裁李明远:百度轻应用——长尾APP的最佳选择 中国工程院院士李德毅:大数据时代的认知计算 请问Win2k pro的Inetinfo.exe进程怎么占用CPU达99%呀?怎么解决呢? 自由自在的人,你在吗? 后缀是nlc的电子图书那里找? 请问vc里缺省参数的函数是怎么定义的?(70分) 救救我!!!数据库管理的几个基础问题?? 急需控件 请教一个关于CListCtrl的问题??? c语言实现"智力游戏" --? Redhat下设置环境变量 我的帐号被盗了啦!!!!!!! select max(count(*)) from table group by aa这个意思的语句该怎么样写? 在SQL SERVER7.0中如何实现类似于ORACLE中的CONNECT BY实现的树型查询? 这里都是些菜尿,吗的没有一次我的提问有人给我解决的! 为什么我的问题没人响应???????? 隐藏FORM的API,谁能提供? 谁知道 jdbc-odbc数据库连接是否要装jdbc程序 哪位大峡知道MetaTools公司的Photo Soap下载网址??? 数据库打开问题? 为什么会出现 Capability not suported???? 请教高手们一个在天极网没人能回答的问题,认真做答者有分 jsp的中文问题求救 何為數據流? 为什么在保存Word文档时总是提示Word内存不足,不能保存? 谁有开发支付网关的经历,请介绍一下经验,或提供些资料给我参考,谢啦。 求救!关于怎样提交表单???? 怎样写入txt文件里 alphagx送分了 求教: delphi中 JPG图片怎样存入数据库中的BLOB字段?怎么进行VCD文件分割或存入BLOB字段? 有关ICMP重定向报文的疑问!!! 在C++Builder中调用计算机内置扬声器,声音太轻了,怎样提高音量? 一个头痛的问题!大家指教! lujun,icevi……快来看看这个数据库怎么设计 请问怎么才能让DataSource.SaveToContainer不使用GUID作为邮件名称 怎么拒绝MM。 请教:为什么对话框的背景色没改变? 请问CDO中有什么方法可以不用邮件url而使用DAV:id来获得制定的邮件 FALSH问题?来者有分!(300) 一个关于头文件的问题. 简单问题001 有人在windows下写过数控程序吗? 有关sqlserver2000数据倒入问题 我是个新手,请大家多帮忙!有个问题请教:如何传递数组参数?急!!多谢多谢 如何将float转化成CString? 我的C盘太小了,v7.0装不上,pqmagic不支持win2000!听说配置好VC6.0,其能运行C#?? 隐藏FORM的API函数,请提供。 求经!!!各位PERL程序员!我不会PERL可否三天内把一个ASP的程序转为PERL!!!! 请问怎么在Unix上用JSP建立.xls的文件,并进行内容的读写?谢谢! 如何利用cnnic的数据库进行域名查询? 寻installshield 6.30的汉化包或中文语言包,谢 如何在一个表单中打开新的表单,并把自己关闭?用公式作 字符串处理的问题。。。请大家帮帮忙。。。 那天,我捡到了快乐的钥匙 听说现在太阳离地球越来越近,月亮离地球越来越远? 作文一件令你感动的事 生病时妈妈照顾我的事450字作文一定要有感想! 由悲伤转为快乐的作文题 目 地球离太阳是越来越近还是越来越远? 我生病了同学来看我的作文500字.最好自己写,快呀. 关于“快乐的校园生活”的作文题目稍微新颖一点 有诗意一点还有4个小标题 分别是关于“军训”“野炊”“合唱”的 形式要一致一定要关于快乐的!说错了 是3个小标题 月球离地球越来越远,是不是地球离太阳也越来越远? 地氟病作文 我和书的故事 作文600字 太阳离我们越来越近,月球离我们越来越远了吗?不知是否有人注意了现在感觉太阳离我们越来越近,而月球离我们越来越远了…… 不知道是地球运动的变化还是太阳或是月球?我记得小时候肉 画出太阳、地球、月球三者的位置关系 世界四大强国是指哪些国家?请主要说一下综合国力的排名. 月亮为什么离地球越来越远?在《宇宙与人》里说,月球与地球越来越远! 快乐的星期天作文450字!给两篇作文! 世界面积第四大的国家是哪个?213 如何做一个合格的中学班干部 作文 快乐的星期天作文450字急急急! 世界上面积第四大的的国家是哪个? 我要竞选班干部的作文我竞选的是纪律委员 快乐的星期天作文 中国是世界第四大旅游国,那么前三个国家是哪三个国家? 成长故事作文400字 当地球遮住太阳的光线,月亮便走进了地球的阴影 他描述的是日食还是月食. 世界四大寓言是什么?(些写出哪个国家的)! 成长故事作文 400字 急 明天要交的 当月球运行到太阳和地球之间时,便会形成新月和月球遮住太阳形成日食的区别是什么 求种族灭绝的英语文章 300字左右 月亮离地球远还是太阳离地球远 成长故事作文及批注(500字) 急求英语300字美文三篇!老师要我们翻译, 快乐的味道是什么 如何酿醋我喜欢醋的味道 ,不知道怎么弄的, 如果要你写一篇作文题目是什么什么的滋味.你会用什么的滋味 关于体会快乐的滋味的作文 酿造醋和配制醋哪个好?去超市买醋,看到有酿造醋和配制醋两种,吃起来哪个更好呢? 解释“成长的味道”这个作文题的含义.有这么一个题目——以“成长的味道”为话题,写一篇800字左右的作文,我想要知道的是,从“成长的味道”这个话题,还可以引申出哪方面内容?除去“酸 作文 快乐的滋味600字补全题目在写不好意思题目打错了是______的滋味 地球离太阳有多远 作文题:初夏_______的味道要有大致的框架,最好是和足球有关的 快乐的滋味 作文 太阳离地球有多远 世界上有三大无酒精饮料,你知道是哪三种吗? 作文快乐的味道 请问地球离太阳有多远 地球离月球远还是离太阳远? 我想对你说》作文400字 我的成长故事,作文600字左右 火星,月球,地球,谁离太阳近 粮食酒精和无水乙醇有什么区别 太阳离地球到底有多远 一篇关于中国的环境问题的文章 要英文的急需一篇关于中国环境问题的英文文章 是高一新生的阅读范围 请各位帮帮忙啦``````` 成长的故事作文600字怎么写 关于竞选班干部的作文!急用! 根据这个写个300字的英文短文挺急的 拜托了In the western world, if a family member has got a cancer, his/her family members must tell him/her about it frankly. If not, it would be regarded illegal. But in Chinese culture, a common pra 关于感恩母爱的,《给妈妈的一封信》800字左右新年到了,要学会感恩,学校要交关于感恩母爱的作文-《给妈妈的一封信》,不希望是抄袭,自创!内容比较贴近实际(举几个生活中的例子) 请从营养与健康的角度阐述蒸馏酒,茶与咖啡消费的正确观点. 关于快乐的作文题目我的作文主要是写爱,通过爱来表达快乐.这样以快乐为话题是不是有些违背.顺便帮我加个好的题目 求有关环境问题的英文文章文章不用太长,2 3段话就好内容就是最近最热的环境问题单词量在高中到4级左右 感恩母亲——给母亲一封信
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn