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

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下载页。

成本为0!Netflix开源工具Janitor Monkey清理AWS iOS开发者讲述在Google工作的三个月 GitHub历史上最糟糕宕机事故回放及反省 疑因竞争 谷歌有意让地图与WP手机不兼容 移动游戏开者必看:海外VC最关心什么? 淘宝UED:随侃设计师的个人素养 TIOBE 2013年1月:不负重望 Objective-C再次赢得桂冠! 大数据:商业或技术的挑战? 开源移动统计:Cobub Razor近期版本大升级 无人机应用,为何屡遭苹果拒绝 2013年Java继续火的五大理由 Rails所有版本都有SQL注入漏洞?其实没那么严重 如何设置Windows Server 2012 NTFS权限 智能手机大局已定 HTC难扭转乾坤? 比谷歌手表更酷!基于大数据分析的睡衣 众投资金:改变了移动游戏开发的一切一切 这些科技产品和革新或在今年“横空出世”?! 现代Objective-C七宗罪 Google工程总监Ray Kurzweil意欲打造“虚拟朋友” 惠普开源JavaScript框架Enyo更新:支持桌面和移动平台 分析:三星或将成为科技行业第五巨头 是真的 诺基亚真有可能推Android手机 如何打造IE10的指尖触碰式用户体验 SUSE全球OEM联盟总监:为何SAP HANA只选择SUSE? 推荐2013年最佳PHP开发框架 Patrick Wyatt:代码没问题 程序却有bug? NoSQL的可靠性及扩展操作 最新Skype加密技术:“无声”通话能躲过FBI监听 谷歌锁死SDK,能阻止Android碎片化吗? KitCam团队专访:为应用做加法也能雄踞榜首 谷歌哭了:Replicant 4.0 SDK发布搅乱大局 鸡毛帖:高分求助 有关web components的问题 JBOSS的问题 关于等值线,寻源码...... DCOM问题,请高手帮忙!!!给分 jsp程序中,bean运行时候发生的异常信息怎样提示给用户? 帮忙看看下面的代码,谢谢。 真的没公司要应届毕业生 大家对软件学院的看法,谈一谈 帮忙看看下面的代码,谢谢。 ASP支持对普通(文本)文件随机读写吗? 如何取得密码,有人懂这个吗 紧急求救。。 这里有没有做过“设备巡检系统”的! 请教!!如何学习SDK?? 如何取得密码,有人懂这个吗 怎样学习python ? 诚聘程序员数名!!! redhat 7.1中如何安装网卡? 谁知道怎么能让listview或listctrl能被整行选择? 请问学VC怎么样开头学呢 各位水友,本人在小公司做事,一直想到大公司去,有什么好建议? 我要读写一个文件的内容,怎么才能知道到了文件的末尾? 如何用php中mysql的相关函数,获得数据表中具体某一个属性的值 资料搜集~~[关于做软件界面和HTML帮助文档]的资料[包括书籍和电子资料]~~请大家推荐!菜鸟在这里先谢谢大家了 请问用什么函数可以改变from的大小啊? 关于指针的长度 为什么网页打开的总是乱码 请问谁的linux中有libXm.so.2.o这个文件,请寄给我并请告诉我路径,万分感激!(sailoremail@163.com) 一个好树——大家用:源码公布 关于ftp server_u的问题,配置正确,但是就是无法登陆 如何处理TFileStream文件?急急急!!! 关于CEdit换行的问题? 哪个光盘刻录软件最好用?? 如何使窗体出现不规则的形状 急救:向B/S高手请教!!! 原谅我是新手,奔驰P4 845GL的主板上主机面板接线不知如何接, EXCHANGE SERVER5.5用一段时间后硬盘不够用了,要怎样解决? 进来看一看高分等你拿 关于ftp server_u的问题,配置正确,但是就是无法登陆 WindowsXP技巧 字符串中有“+”怎么传递? 文本问题,急!! 该死的中文显示问题,帮帮忙 这几本软工书怎么样? openssl版本问题 这几本软工书怎么样? 关于ftp server_u的问题,配置正确,但是就是无法登陆 openssl版本问题 一个好树——大家用:源码公布 请教高手一个问题 如何实现按一次回车,进行换两行的操作 求此图面积长5厘米,宽4厘米,求面积 采用U形压差计测某阀门的压力差,压差计的读数与U形压差计放置的位置有关吗? 高压线的绝缘子为什么用陶瓷材料而不用玻璃 江南在哪个方向 2.用显微镜观察洋葱表皮细胞时,由低倍镜转换成高倍镜后发现A.视野变暗,细胞数目减少 B.视野变暗,细胞数目增加C.视野变亮,细胞数目减少 C.视野变亮,细胞数目增加7.决定一个人血型的遗传物 为什么马六甲海峡风浪不大? 丰乐醉翁亭记中“一入清流关...江南之意可掬也”的意思 生物题错题分析1.将大米粒种在土壤里,不能萌发的主要原因为什么是 胚已破坏2.植物在秋天落叶后,体内的无机盐的运输基本停止,最主要的原因为什么是 蒸腾作用的减弱3.种子萌发时,蛋白 从三亚经过马六甲海峡,风浪增大还是变小?原因是什么 水银是怎么制作的呀?水银到底是什么物质 是怎么制作出来的?是天然的吗 估计提取不复杂吧 远古就有了? 分析错题急 马六甲海峡冬季风浪大小 滑动摩擦力的方向与相对运动的方向相反我知道这是正确的,请说出原因.相对运动的方向是什么意思,它与运动方向的方向是相反的还是一样的?我的全解上说,滑动摩擦力可能与运动方向一致, 交叉互换不是染色体变异吗?为什么?我记得是染色体结构变异中的易位,有什么区别? 马六甲海峡和直布罗陀海峡风浪哪个大? 流体力学中,管道中含水泡的水流能否满足连续性条件? 三年级上册课文爬天都峰内容 系数和次数是什么 如图所示,已知点A是一次函数y=x的图像与反比例函数y=2/x的图像在第一象限内的交点,点B在X轴的负半轴上,OA=OB,那么△AOB的面积为? 微元法与微积分有何关系?能用微元法做的题都能用微积分做吗?是竞赛中用的微元法 系数和次数各是什么 反比例函数题:已知反比例函数y=k/x与一次函数y=x+b的图像在第一象限相交于点A(1,-k+4)……(1)试确定两个函数的表达式.(2)求出这两个函数图象的另一个交点B的坐标,并根据图像写出使 微积分中的微元法微元法是把小区间[x,x+dx]上的△U的近似值表示成f(x)*dx的形式,如果在表示的过程中出现 dx 的平方怎样理解,另外如下公式如何证明:曲边梯形a<=x<=b,0<=y<=f(x)绕y轴一周所 这些数的系数和次数是多少 用U形管差压计测定管道两点的压强差.管道气体的密度为2kg/m3,压差计中指试液为水(水的密度为1000kg/m3),压差计中指示液读数为500mm.试计算此管道两侧点的压强差,以kpa表示. 【微积分中微元法】微元法的时候一般表示成dQ=f(x)dx 如果一定要出现dx的2次方,或者函数里包涵dx如何求,比如dQ=ln(dx) dx 或者dQ=(dx+x)*x dx 虚数方程有实数根,说明什么 u形管液面高度差与管内液体密度有关么也就是说,在同一液体,同一深度测压强,u形管内装水的高度差为h,将水换成酒精后,高度差为h2,则:A:hh2 c:h=h2 用普通U形管压差计测量气体管路上两截面的压强差,指示液用水,读数R1为12mm.为了放大读数,改用微差压差计,指示液A、C的密度分别为920Kg/cm3和850Kg/cm3,微差压差计的读数R2可放大至R1的多少倍? 高次方程虚数根及根的个数怎么求?例如x^3-4x^2-3x+2=0,如何知道它有几个虚数解,有几个实数解? 举5例现代科学技术成果.并说明其特点和作用,最好简略一点 U型管压差计进气泡了,读数偏大还是偏小 在流量计实验中,在实验前,有必要排尽管道和压差计中的空气吗?为什么? 举5例现代科学技术成果要有名称,特点和作用性能,简洁 爬天都峰这篇课文的最初印象是什么 以过氧化氢和二氧化锰为原料制取氧气,你会用到什么仪器? 现代科学技术成果,要有名称,特点和作用性能,简洁 爬天都峰课文终于的意思是什么 如图所示,有一个盛水玻璃容器,水中浮着一个倒立的玻璃杯,杯中封有部分空气,处于图示的静止状态,当小管中水位发生变化时,关于玻璃杯状态的叙述正确的是(  )A、往小管中加水,玻璃 现代科学技术成果如何丰富和发展了辩证唯物主义的自然观?(举例说明) 爬天都峰的课文最初印象是什么 指数和系数还有次数的分别 当今科学技术正在迅猛的发展,世界上几乎每天都有一项新的技术成果问世,都有新的科学技术应用到我们的生 已知抛物线顶点为(2,3),且过(4,1)求这个函数关系式 系数次数分别是多少? 如图,函数y=-x+5的图像,分别交x轴、y轴于A、B两点,点D在线段A、B上运动,过点D作DE⊥AB,交x轴于E点.1,当AD=5√2-5时,求BD的长,并推算说明此时BE平分∠ABO2,在△ABE的面积是(25/2)√2时,求BD的长3,在 已知抛物线的顶点是A( 2,-3),且交y轴于点(0,5),求抛物线所对应得函数关系式. 系数,次数分别是多少 关于极地降水少的原因的一个说法、在线等、极地降水少与极地地区受到极地高气压控制,多晴朗天气有关,这样说正确么? 如图是函数y=1/x与y=4/x的图像在第一象限内的部分,P为y=4/x上一点,PA⊥y轴,垂足为A,交y=1/x的图像于E点.PB⊥x轴,垂足为B交y=1/x的图像于F点,求四边形PEOF的面积 课文按什么顺序叙述的,即爬天都峰之前 空气绝热下沉什么意思啊?什么是绝热?为什么还会增温?地理专家帮帮忙啊! 如图,过原点的直线与函数y=2^x的图像交于A,B两点,过A,B作y轴的垂线分别交函数y=4^x的图像于点C,D.(1)求证:O,C,D三点共线;(2)当AD∥y轴时,求A点的坐标. 爬天都峰读了有什么感受 求此图形面积(如下图)(阴影部分面积) 如图,点P为x轴正半轴上一点,过点P做x轴的垂线,交函数y=x分之1(x>0)de 图像于点A,交函数y=x分之4(x>0)的图像于点B,过点B作x轴的平行线,交y=x分之1(x>0)于点C,连结AC(1)过点P的坐标为(2,0) 什么是瓷横担绝缘子? 江南旅游景点想问一下,江南一带的风景有哪里值得去看.最好是那种流水人家,古镇的风景. 高中物理 微元法 微积分 硅橡胶绝缘子测试耐漏电起痕性能,一般用什么仪器.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘