LinkedIn开源实时数据处理系统Samza

近日,LinkedIn开源了一项技术——Samza,它是一个分布式流处理框架,专用于实时数据的处理,非常像Twitter的流处理系统Storm。不同的是Samza基于Hadoop,而且使用了LinkedIn自家的Kafka分布式消息系统。

Storm和Samza极其相似,就像LinkedIn的Chris Riccomini在博客中阐述的那样:“[Samza]可以帮助你构建应用,处理消息队列——更新数据库、计数以及其他的聚合、转换消息等等。”而这些其实都是很经典的Storm应用,只不过迁移到Samza之上了,Samza文档也对比了这两个系统。

上个月,Samza在各种论坛和社区上被广泛传播,其中有评论指出了Samza可能带来的好处:

“跟很多人一样,我们使用Storm来处理基于Kafka的流数据,然后,再将这些数据发送到Hadoop上进行离线分析。如果能把这三个环境整合到一起,就是一个很大的胜利。“

表面上看,这似乎是一个很不错的想法。Apache软件基金会的项目主页,介绍了搭配使用Kafka和YARN的特点和优势。

高容错:  如果服务器或者处理器出现故障,Samza将与YARN一起重新启动流处理器。高可靠性:Samza使用Kafka来保证所有消息都会按照写入分区的顺序进行处理,绝对不会丢失任何消息。可扩展性:Samza在各个等级进行分割和分布;Kafka提供一个有序、可分割、可重部署、高容错的系统;YARN提供了一个分布式环境供Samza容器来运行。

Samza的未来

至于Samza能不能像Storm一样吸引大量的用户和社区参与创新,还有待观察。但是LinkedIn肯定会像Twitter开发Storm一样来保证Samza的发展,而且后者在可用性上更具优势,毕竟运行在YARN或者Mesos框架上的Samza多了一些灵活性。

如果Samza未来有一个很好的前景,那么YARN也对得起Hadoop社区在过去18月的“炒作”,它不仅可以运行Storm,还可以运行Samza,甚至还可以运行其他很多的东西。这点很重要,毕竟很多软件厂商都把大数据的“期货”(甚至整个未来)压在了Hadoop上,他们希望这个平台能成为最后的赢家。

以往对MapReduce技术的依赖限制了Hadoop的适用性,但是YARN已经开放了对大规模的流处理、交互式SQL查询、机器学习和图像处理负载的支持。随着技术的日新月异,Hadoop成为支撑所有大数据应用库的想法变得更加现实。

时间: 2024-07-28 22:20:17

LinkedIn开源实时数据处理系统Samza的相关文章

实时计算 流数据处理系统简单分析

一. 实时计算的概念 实时计算一般都是针对海量数据进行的,一般要求为秒级.实时计算主要分为两块:数据的实时入库.数据的实时计算. 主要应用的场景: 1) 数据源是实时的不间断的,要求用户的响应时间也是实时的(比如对于大型网站的流式数据:网站的访问PV/UV.用户访问了什么内容.搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况) 2) 数据量大且无法或没必要预算,但要求对用户的响应时间是实时的.比如说: 昨天来自每

Databus:LinkedIn开源低延时变化数据捕获的系统

2月26日,LinkedIn开源了其低延时变化数据捕获系统Databus,该系统可以在MySQL以及Oracle数据源上捕获数据,不过当下LinkedIn只开源了Oracle上的连接器.Databus作为LinkedIn生态系统中的一致性保障组件,是具有十分高保障的一项产品,就算在低延时的情况下仍然具有高有效性;而其最大的特点莫过于无限制lookback能力及丰富的subscription功能. 以下为LinkedIn上Databus简述译文: 何为Databus LinkedIn拥有一个针对数

《构建实时机器学习系统》一第2章 实时监督式机器学习 2.1 什么是监督式机器学习

第2章 实时监督式机器学习 2.1 什么是监督式机器学习 监督式机器学习旨在利用训练集数据,建立因变量和自变量之间的函数映射关系.如果用X 代表自变量,Y 代表因变量,f 代表映射函数,b 代表映射函数的参数,那么监督式机器学习的任务就是找到恰当的函数f 和参数 ,让下面的映射尽量符合要求: y=f (x;b,e) 这里e为实际情况中的随机扰动项. 下面就来具体看看在监督式机器学习中,因变量.自变量和预测函数的含义. (1)因变量 因变量是我们试图通过机器学习模型预测的变量,在实际应用中它往往无

LinkedIn 开源成功的秘密

开源就是不断的奉献自己,除非它将你的业务先毁掉.但是,有太多的人先入为主,将各种偏见灌输给你,诸如:开源有"毒",开源根本无法赚钱之类的.这个时候,你只需要默默的,转身看看那些成功的利用开源的公司即可. 互联网的巨头,即使如 LinkenIn,也是开源的"专家",让我们先过一遍 LinkedIn 的 GitHub 账户, 竟然是一家发布了 75 个开源项目的公司.而且其中有一些已经是获得巨大成功的项目了,有众多的开发者和公司参与开发和使用.是的,没错,这就是 Lin

一共81个,开源大数据处理工具汇总(上)

本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的J

LinkedIn开源大数据计算引擎 Cubert,并为此创建新的语言

[编者按]Linkedin周二宣布开源其大数据计算引擎Cubert,其名字来源于鲁比克方块(Rubik's Cube),为了让开发人员更容易使用Cubert,而无需做任何形式的自定义编码,Linkedin为此开发了新的编程语言Cubert Script. 以下为译文: Linkedin周二宣布开源其大数据计算引擎Cubert,这个框架可以使用一种专门的算法来组织数据,让其在没有超系统负荷和浪费CPU资源的情况下,更轻松的运行查询. Cubert,其名字来源于鲁比克方块(Rubik's Cube)

基于Storm的Nginx log实时监控系统

[编者按]Hadoop的缺点也和它的优点同样鲜明--延迟大,响应缓慢,运维复杂.被人广受诟病,但是 有需求就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来,Storm正是在这个时候横空出世,Storm是一个免费开源.分布式.高容错的实时计算系统.Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求. 以下为原文: 背景UAE(UC App Engine)是一个UC内部的PaaS平台,总体架构有点类

LinkedIn开源数据发现和管理工具 WhereHows

WhereHows 是 LinkedIn 公司一个用于大数据发现和管理的工具,集成了所有主要的数据处理系统,可以进行分类收集和元数据操作.方便内部员工发现公司内部的数据,跟踪数据集的移动和查看各种内部工具和服务的动向. WhereHows 可以解决很多公司面临的大数据内部分享的问题,提供一个平台让员工进行企业有价值的数据发现和进行一些更深度的分享.当前 LinkedIn 的 WhereHows 存储的数据: 50,000 数据集,14,000 评论和 3500 万作业执行. login page

解读:基于Hadoop的大规模数据处理系统

Hadoop的组成部分 Hadoop是Google的MapReduce一个Java实现.MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行. Hadoop主要由HDFS.MapReduce和HBase等组成.具体的组成如下图: Hadoop的组成图 1. Hadoop HDFS是Google GFS存储系统的开源实现,主要应用场景是作为并行计算环境(MapReduce)的基础组件,同时也是BigTable(如HBase. HyperTable)的