如何保障流式处理的数据一致性解决方案

君,已阅读到文档的结尾了呢~~
支持动态任务拓扑与负载分流的流式处理系统——D-Stream的研究与实现研究,流式,系统,实现,任务拓扑,动态拓扑的,和处理,拓扑研究,实现负载,系统的
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
支持动态任务拓扑与负载分流的流式处理系统——D-Stream的研究与实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Web前端(164)
在Apache的大数据项目中,Spark是最火的一个,特别是像IBM这样的重量级贡献者的深入参与,使得Spark的发展和进步速度飞快。
与Spark产生最甜蜜的火花点仍然是在机器学习领域。去年以来DataFrames API取代SchemaRDD API,类似于R和Pandas的发现,使数据访问比原始RDD接口更简单。
Spark的新发展中也有新的为建立可重复的机器学习的工作流程,可扩展和可优化的支持各种存储格式,更简单的接口来访问机器学习算法,改进的集群资源的监控和任务跟踪。
在Spark1.5的默认情况下,TungSten内存管理器通过微调在内存中的数据结构布局提供了更快速的处理能力。最后,新的spark-packages.org网站上有超过100个第三方贡献的链接库扩展,增加了许多有用的功能。
Storm是Apache项目中的一个分布式计算框架项目,主要应用于流式数据实时处理领域。他基于低延时交互模式理念,以应对复杂的事件处理需求。和Spark不同,Storm可以进行单点随机处理,而不仅仅是微批量任务,并且对内存的需求更低。在我的经验中,他对于流式数据处理更有优势,特别是当两个数据源之间的数据快速传输过程中,需要对数据进行快速处理的场景。
Spark掩盖了很多Storm的光芒,但其实Spark在很多流失数据处理的应用场景中并不适合。Storm经常和Apache Kafka一起配合使用。
H2O是一种分布式的内存处理引擎用于机器学习,它拥有一个令人印象深刻的数组的算法。早期版本仅仅支持R语言,3.0版本开始支持Python和Java语言,同时它也可以作为Spark在后端的执行引擎。
使用H2O的最佳方式是把它作为R环境的一个大内存扩展,R环境并不直接作用于大的数据集,而是通过扩展通讯协议例如REST API与H2O集群通讯,H2O来处理大量的数据工作。
几个有用的R扩展包,如ddply已经被打包,允许你在处理大规模数据集时,打破本地机器上内存容量的限制。你可以在EC2上运行H2O,或者Hadoop集群/YARN集群,或者Docker容器。用苏打水(Spark+ H2O)你可以访问在集群上并行的访问Spark RDDS,在数据帧被Spark处理后。再传递给一个H2O的机器学习算法。
Apex是一个企业级的大数据动态处理平台,即能够支持即时的流式数据处理,也可以支持批量数据处理。它可以是一个YARN的原生程序,能够支持大规模、可扩展、支持容错方法的流式数据处理引擎。它原生的支持一般事件处理并保证数据一致性(精确一次处理、最少一次、最多一次)
以前DataTorrent公司开发的基于Apex的商业处理软件,其代码、文档及架构设计显示,Apex在支持DevOps方面能够把应用开发清楚的分离,用户代码通常不需要知道他在一个流媒体处理集群中运行。
Malhar是一个相关项目,提供超过300种常用的实现共同的业务逻辑的应用程序模板。Malhar的链接库可以显著的减少开发Apex应用程序的时间,并且提供了连接各种存储、文件系统、消息系统、数据库的连接器和驱动程序。并且可以进行扩展或定制,以满足个人业务的要求。所有的malhar组件都是Apache许可下使用。
Druid在今年二月转为了商业友好的Apache许可证,是一个基于“事件流的混合引擎,能够满足OLAP解决方案。最初他主要应用于广告市场的在线数据处理领域,德鲁伊可以让用户基于时间序列数据做任意和互动的分析。一些关键的功能包括低延迟事件处理,快速聚合,近似和精确的计算。
Druid的核心是一个使用专门的节点来处理每个部分的问题自定义的数据存储。实时分析基于实时管理(JVM)节点来处理,最终数据会存储在历史节点中负责老的数据。代理节点直接查询实时和历史节点,给用户一个完整的事件信息。测试表明50万事件数据能够在一秒内处理完成,并且每秒处理能力可以达到100万的峰值,Druid作为在线广告处理、网络流量和其他的活动流的理想实时处理平台。
Flink的核心是一个事件流数据流引擎。虽然表面上类似Spark,实际上Flink是采用不同的内存中处理方法的。首先,Flink从设计开始就作为一个流处理器。批处理只是一个具有开始和结束状态的流式处理的特殊情况,Flink提供了API来应对不同的应用场景,无论是API(批处理)和数据流API。MapReduce的世界的开发者们在面对DataSet处理API时应该有宾至如归的感觉,并且将应用程序移植到Flink非常容易。在许多方面,Flink和Spark一样,其的简洁性和一致性使他广受欢迎。像Spark一样,Flink是用Scala写的。
7. Elasticsearch
Elasticsearch是基于Apache Lucene搜索分布式文件服务器。它的核心,Elasticsearch基于JSON格式的近乎实时的构建了数据索引,能够实现快速全文检索功能。结合开源Kibana BI显示工具,您可以创建令人印象深刻的数据可视化界面。
Elasticsearch易于设置和扩展,他能够自动根据需要使用新的硬件来进行分片。他的查询语法和SQL不太一样,但它也是大家很熟悉的JSON。大多数用户不会在那个级别进行数据交互。开发人员可以使用原生JSON-over-HTTP接口或常用的几个开发语言进行交互,包括Ruby,Python,PHP,Perl,Java,JavaScript等。
8. SlamData
如果你正在寻找一个用户友好的工具,能理解最新流行的NoSQL数据的可视化工具,那么你应该看一看SlamData。SlamData允许您用熟悉的SQL语法来进行JSON数据的嵌套查询,不需要转换或语法改造。
该技术的主要特点之一是它的连接器。从MongoDB,HBase,Cassandra和Apache的Spark,SlamData同大多数业界标准的外部数据源可以方便的进行整合,并进行数据转换和分析数据。你可能会问:“我不会有更好的数据池或数据仓库工具吗?请认清这是在NoSQL领域。
Drill是一种用于大型数据集的交互分析的分布式系统,由谷歌的Dremel催生。Drill专为嵌套数据的低延迟分析设计,它有一个明确的设计目标,灵活的扩展到10000台服务器来处理查询记录数据,并支持兆级别的数据记录。
嵌套的数据可以从各种数据源获得的(如HDFS,HBase,Amazon S3,和Blobs)和多种格式(包括JSON,Avro,和buffers),你不需要在读取时指定一个模式(“读时模式”)。
Drill使用ANSI 2003 SQL的查询语言为基础,所以数据工程师是没有学习压力的,它允许你连接查询数据并跨多个数据源(例如,连接HBase表和在HDFS中的日志)。最后,Drill提供了基于ODBC和JDBC接口以和你所喜欢的BI工具对接。
HBase在今年的里程碑达到1.X版本并持续改善。像其他的非关系型的分布式数据存储一样,HBase的查询结果反馈非常迅速,因此擅长的是经常用于后台搜索引擎,如易趣网,博科和雅虎等网站。作为一个稳定的、成熟的软件产品,HBase新鲜的功能并不是经常出现,但这种稳定性往往是企业最关心的。
最近的改进包括增加区域服务器改进高可用性,滚动升级支持,和YARN的兼容性提升。在他的特性更新方面包括扫描器更新,保证提高性能,使用HBase作为流媒体应用像Storm和Spark持久存储的能力。HBase也可以通过Phoenix项目来支持SQL查询,其SQL兼容性在稳步提高。Phoenix最近增加了一个Spark连接器,添加了自定义函数的功能。
随着Hive过去多年的发展,逐步成熟,今年发布了1.0正式版本,它用于基于SQL的数据仓库领域。目前基金会主要集中在提升性能、可扩展性和SQL兼容性。最新的1.2版本显著的提升了ACID语意兼容性、跨数据中心复制,以及以成本为基础的优化器。
Hive1.2也带来了改进的SQL的兼容性,使组织利用它更容易的把从现有的数据仓库通过ETL工具进行转移。在规划中讲主要改进:以内存缓存为核心的速度改进 LLAP,Spark的机器学习库的集成,提高SQL的前嵌套子查询、中间类型支持等。
Kylin是eBay开发的用于处理非常大量数据的OLAP分析系统,他使用标准的SQL语法,和很多数据分析产品很像。Kylin使用Hive和MR来构建立方体,Hive用作预链接,MR用作预聚合,HDFS用来储存构建立方体时的中间文件,HBase用来存储立方体,HBase的coprocessor(协处理器)用来响应查询。
像大多数其他的分析应用一样,Kylin支持多种访问方法,包括JDBC,ODBC API进行编程访问以及REST API接口。
CDAP(Cask Data Access Platform)是一个在Hadoop之上运行的框架,抽象了建造和运行大数据应用的复杂性。CDAP围绕两个核心概念:数据和应用程序。CDAP数据集是数据的逻辑展现,无论底层存储层是什么样的;CDAP提供实时数据流处理能力。
应用程序使用CDAP服务来处理诸如分布式事务和服务发现等应用场景,避免程序开发者淹没在Hadoop的底层细节中。CDAP自带的数据摄取框架和一些预置的应用和一些通用的“包”,例如ETL和网站分析,支持测试,调试和安全等。和大多数原商业(闭源)项目开源一样,CDAP具有良好的文档,教程,和例子。
14. Ranger
安全一直是Hadoop的一个痛处。它不是说(像是经常报道)Hadoop是“不安全”或“不安全”。事实是,Hadoop有很多的安全功能,虽然这些安全功能都不太强大。我的意思是,每一个组件都有它自己的身份验证和授权实施,这与其他的平台没有集成。
2015年5月,Hortonworks收购XA /安全,随后经过了改名后,我们有了Ranger。Ranger使得许多Hadoop的关键部件处在一个保护伞下,它允许你设置一个“策略”,把你的Hadoop安全绑定到到您现有的ACL基于活动目录的身份验证和授权体系下。Ranger给你一个地方管理Hadoop的访问控制,通过一个漂亮的页面来做管理、审计、加密。
Mesos提供了高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、 MPI、Hypertable、Spark等。
Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++ APIs来开发新的并行应用程序,提供基于Web的用户界面来提查看集群状态。
Mesos应用程序(框架)为群集资源协调两级调度机制,所以写一个Mesos应用程序对程序员来说感觉不像是熟悉的体验。虽然Mesos是新的项目,成长却很快。
Apache NiFi 0.2.0 发布了,该项目目前还处于 Apache 基金会的孵化阶段。Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统。Apache NiFi 是为数据流设计。它支持高度可配置的指示图的数据路由、转换和系统中介逻辑。
Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目,其设计目标是自动化系统间的数据流。基于其工作流式的编程理念,NiFi非常易于使用,强大,可靠及高可配置。两个最重要的特性是其强大的用户界面及良好的数据回溯工具。
NiFi的用户界面允许用户在浏览器中直观的理解并与数据流举行交互,更快速和安全的进行迭代。
其数据回溯特性允许用户查看一个对象如何在系统间流转,回放以及可视化关键步骤之前之后发生的情况,包括大量复杂的图式转换,fork,join及其他操作等。
另外,NiFi使用基于组件的扩展模型以为复杂的数据流快速增加功能,开箱即用的组件中处理文件系统的包括FTP,SFTP及HTTP等,同样也支持HDFS。
NiFi获得来来自业界的一致好评,包括Hortonworks CEO,Leverage CTO及Prescient Edge首席系统架构师等。
在大数据领域,Kafka已经成为分布式发布订阅消息的事实标准。它的设计允许代理支持成千上万的客户在信息吞吐量告诉处理时,同时通过分布式提交日志保持耐久性。Kafka是通过在HDFS系统上保存单个日志文件,由于HDFS是一个分布式的存储系统,使数据的冗余拷贝,因此Kafka自身也是受到良好保护的。
当消费者想读消息时,Kafka在中央日志中查找其偏移量并发送它们。因为消息没有被立即删除,增加消费者或重发历史信息不产生额外消耗。Kafka已经为能够每秒发送2百万个消息。尽管Kafka的版本号是sub-1.0,但是其实Kafka是一个成熟、稳定的产品,使用在一些世界上最大的集群中。
18.OpenTSDB
opentsdb是建立在时间序列基础上的HBase数据库。它是专为分析从应用程序,移动设备,网络设备,和其他硬件设备收集的数据。它自定义HBase架构用于存储时间序列数据,被设计为支持快速聚合和最小的存储空间需求。
通过使用HBase作为底层存储层,opentsdb很好的支持分布与系统可靠性的特点。用户不与HBase的直接互动;而数据写入系统是通过时间序列的守护进程(TSD)来管理,它可以方便的扩展用于需要高速处理数据量的应用场景。有一些预制连接器将数据发布到opentsdb,并且支持从Ruby,Python以及其他语言的客户端读取数据。opentsdb并不擅长交互式图形处理,但可以和第三方工具集成。如果你已经在使用HBase和想要一个简单的方法来存储事件数据,opentsdb也许正好适合你。
19. Jupiter
大家最喜欢的笔记应用程序都走了。jupyter是“IPython”剥离出来成为一个独立的软件包的语言无关的部分。虽然jupyter本身是用Python写的,该系统是模块化的。现在你可以有一个和iPython一样的界面,在笔记本电脑中方便共享代码,使得文档和数据可视化。
至少已经支持50个语言的内核,包括Lisp,R,F #,Perl,Ruby,Scala等。事实上即使IPython本身也只是一个jupyter Python模块。通过REPL(读,评价,打印循环)语言内核通信是通过协议,类似于nrepl或Slime。很高兴看到这样一个有用的软件,得到了显著的非营利组织资助,以进一步发展,如并行执行和多用户笔记本应用。
20. Zeppelin
Zeppelin是一个Apache的孵化项目. 一个基于web的笔记本,支持交互式数据分析。你可以用SQL、Scala等做出数据驱动的、交互、协作的文档。(类似于ipython notebook,可以直接在浏览器中写代码、笔记并共享)。
一些基本的图表已经包含在Zeppelin中。可视化并不只限于SparkSQL查询,后端的任何语言的输出都可以被识别并可视化。 Zeppelin 提供了一个 URL 用来仅仅展示结果,那个页面不包括 Zeppelin 的菜单和按钮。这样,你可以轻易地将其作为一个iframe集成到你的网站。
Zeppelin还不成熟。我想把一个演示,但找不到一个简单的方法来禁用“Shell”作为一个执行选项(在其他事情)。然而,它已经看起来的视觉效果比IPython笔记本应用更好,Apache Zeppelin (孵化中) 是 Apache2 许可软件。提供100%的开源。
原文链接:(译者/张晓东&审校/朱正贵 责编/仲浩)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:163560次
积分:3105
积分:3105
排名:第9070名
原创:64篇
转载:229篇
译文:49篇
评论:16条
(4)(14)(4)(15)(7)(16)(17)(9)(12)(12)(4)(9)(8)(12)(14)(5)(5)(7)(10)(5)(10)(16)(4)(6)(4)(9)(15)(7)(5)(9)(13)(17)(40) 上传我的文档
 下载
 收藏
毕业于医学院校,在医院工作,有相对丰富的护理经验
 下载此文档
正在努力加载中...
大数据存储与处理要点大题
下载积分:1500
内容提示:大数据存储与处理要点大题
文档格式:DOC|
浏览次数:15|
上传日期: 19:55:45|
文档星级:
该用户还上传了这些文档
大数据存储与处理要点大题
官方公共微信【分布式计算】在流式计算场景下如何确保输入的齐全度?_科技_易房网
在流式计算场景下如何确保输入的齐全度?
作者:admin
使用流式计算做实时数据分析,就拿支付宝来举例,我可以在应用系统上把用户的行为以消息发送到storm,让storm实现实时的用户行为分析,甚至可以判断用户是否在洗钱、账号是否可能被
使用流式计算做实时数据分析,就拿支付宝来举例,我可以在应用系统上把用户的行为以消息发送到storm,让storm实现实时的用户行为分析,甚至可以判断用户是否在洗钱、账号是否可能被盗用了等等。假设判断洗钱的算法是:用户按照先后顺序做了A-B-D三个动作(纯YY),那就可能是洗钱,要发送报警短信通知审查。如果是A-B-C-D,那就是正常行为,不需报警。但是A、B、C、D是在分布式系统上采集的,即使用户行为的产生有先后,但是消息采集、传送到storm、被storm处理的顺序也可能不会严格遵循产生顺序。比如用户的行为是A-B-C-D,但是C发生的那个系统在传递消息的过程中滞后了(比如依靠JAVA的消息中间件来发送,而这个JVM恰好在传递C时做了FGC),导致Storm接收到了A-B-D-C(很可能是用一个类似状态机的逻辑在持续处理),那收到D的时候到底要不要发送报警?发了,那就是误报,不发,那如果C确实没有发生呢?现在唯一能想到的办法只有超时,Timeout一定时间之后才去执行检测公式。有没有更加优雅准确的方案可以解决这个问题?或者是我本身的思路就不对,技术方案有问题?——————————————————————————————————————补充一个案例让问题更饱满:前段时间我拿着相似的问题给HEKA(一个GO语言做的实时监控系统)邮件组发了个邮件,其中截图是:…
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
今晚又一次没按时作息,已经很晚了在晚睡时又看到了这个自己专业领域的问题,于是先来大致答下,明天再补充完整。大部分分布式流式计算的输入源都来自是分布式传输系统,如kafka等,为保证可以并发传输以及下游可以并发读取,这些输入源一般都会有拆成多个子输入源,一般系统顶多在子输入源内部保序,并不会在各个输入源之间保序(考虑一下使用场景你会发现多个子输入源间保序的实现代价太大而且一般没有意义)。所以,在流式计算系统中乱序基本上是一件不可避免的事情。流式计算中,一般Join、聚合、排序都会和批处理里不一样,一般都会把问题转化成最一段时间内或者某个数据包内部的Join/聚合/排序,这时候,滑动时间窗口是一个在工程上比较常用的方案。基本思路很简单,就是按时间截把数据扔到窗口里,窗口滑入滑出时分别执行一些需要的动作。当然本质上这个方案还是在利用超时来解决问题,而且这个也确实仍有失败的可能性,但在绝大部分场景下都可以满足应用场景的需求。用id生成器对事件编号的方案也不能完全避免出错:使用id生成器,大约最好的作法就是在前端服务器程序给用户返回事件成功之前,按用户名哈希到不同的id生成器上,对每个用户名下的数据生成一个唯一的自增id,然后在后面处理时,就可以根据这个自增id判断数据完整性了。但,万一调用id生成器时,网络阻塞导致耗时较长。这时用户的新一次请求到来了,分配到另一台机器上进行了处理,而这台机器网络状况良好,就会导致后面一次请求的id是小于前面一个请求的id的。如果你假设用户在没接收到上一次操作的结果前不会进行下一次的操作,那倒是可以搞..关于楼主后面所补充的使用场景我们这边也很常见,我们没有试图做太多的工作,一般由业务对时效性、数据正确性的需求和数据乱序程度来综合决定延迟多久进行处理。我们认为这个时候正确性与时效性是不可兼得的。具体你这个而就,你可以把窗口设大点,简单的等数据从窗口滑出时再处理数据就可以了。在你提到的场景中,数据如果完全顺序到来,就可以用流式处理得到正确的结果,但在许多场景下,流式到来的数据根本是不可能直接计算出正确的结果的,例如,需要计算某个用户某次广告点击是否是作弊点击,是否要扣广告主的广告费。当该用户第一次点击时,你根据流式数据判定该用户没有作弊,判定需要扣掉广告主的钱,但接着连续的到来了上万次点击,基本上就可以断定其是作弊行为了。在这种场景下,就算“数据是齐全的”,也必须要用利用延时处理等方案来解决问题。所以,一般在这种情况下,都只能根据用户的需求来在数据正确性与时效性之间进行取舍了。在对最终一致性要求行高的情况下,经常见到的一种办法是先给用户发布一个初步的满足时效性的结果,后续等结果稳定之后,再发布一个正确性高的版本去修正之前的结果,好多时候这个正确性高的版本经常不会再用流式系统实现而是直接使用批处理来完成了。例如前面我提到的场景,就可以用流式缓存少量数据进行判断,然后依据流式的结果先扣钱,随后再用批处理系统进行修正,把多扣的钱返还给用户。
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
在Storm内部,我经常使用的手段为:整个链路按用户id进行分组。也就是说,相同的用户只能走同一链路,这样在动作发生后也是顺序进行处理。注意:时序有要求的业务,前方不能进行自由分散处理,因为会有消息落在各个bolt和spolt里,此时应该统一使用用户的id进行并发计算。副作用: 如果某一用户操作过于频繁,则会形成这条链路的热点,也就是数据倾斜。在数据保证处理(ACK方式)下,如果控制不好则对整体吞吐带来很大的伤害。 慎用!如果你的用户数据分布比较均匀的话,那么这种方式还是比较方便的。我曾经数据倾斜为500倍左右(按地域购买订单来shard的,一个很大的坑,北京、上海、杭州比西部一些省份多500倍左右),而且业务要求还得必须这样子来分,我唯一的办法是把我要的业务逻辑与其它耗时逻辑分离。最后一个单Bolt把整个业务要求的指标达到并超越。这样如果热点就是发生这个Bolt上,那我也不怕了,因为这个Bolt的处理量非常的大(50万左右的并发,业务要求30左右)针对副作用: 先处理对时序要求较高的业务逻辑。过了这个坎,后续处理可以按其它方式处理。如果是计算性的业务:1,能否把计算后移,“非法业务”检查前移;2,能否把计算抽取出来单独一层前移(够呛,因为哪哪都是同步)并横向扩展计算规模(前移扩展,后移分散)这种方法很笨,但比没有好些。如果是IO性的业务: 1,IO后移。2,无他,增加并发。3,异步还是不能用的。如果从源头上来讲已经没法保证消息时序了(进入Storm集群之前)。。那只能使用“用户操作”缓存用户操作和操作时间来处理了。今天就写到这儿吧,如果有需要我们再探讨。。
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
没经验,瞎说。首先排除超时问题。超时问题太复杂,无法要求机器拥有上帝视角。像tcp的4次关闭握手,paxos(具体忘记了)都只能减小超时错误的概率,无法完全避免。下面的就简单了。事件发生一定有发生时间,记录时间戳比较就行了。就是要减少C先于D发生,但却在D时间之后到达这种事的概率。通常D事件后,还会有EFG等事件发生(即使没有也要创造一些虚事件),但EFG不参与决策。这样如果C未到达,但EFG有任意事件到达,即可认为C未发生。
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
采集的时候全局弄一个unique id作为排序依据。例如,A:0002.....如果收到abd,则顺序为。那么便知漏了一个
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将
追究责任;3.作者投稿可能会经我们编辑修改或补充。
美国路易斯安那州:龙卷风过后(组图)
过完年回家中却见玻璃被炸碎 不知何人所为只能自
厉害了!妈妈博士生弃国外名校回国深造 拿下清华
厉害了!"妈妈博士生"弃国外名校回国深造 拿下
日本女人为什么喜欢拍AV 背后缘由令人惊呆
香港地铁纵火案 老人纵火致17伤警方否认涉恐怖袭
成都情人节现“天价玫瑰” 一束1500元还是批发价
河北井陉“打树花”迎元宵节:火树银花不夜天
友情链接、商务合作QQ:苹果/安卓/wp
积分 16758, 距离下一级还需 1542 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见, 签名中使用代码
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶, 变色卡下一级可获得
道具: 置顶卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
TA的文库&&
开心签到天数: 99 天连续签到: 1 天[LV.6]常住居民II
本帖最后由 我的素质低 于
11:40 编辑
一、Facebook Puma
简介:实时数据流分析
二、Twitter Rainbird
& & & && &简介:Rainbird一款基于Zookeeper, Cassandra, Scribe, Thrift的分布式实时统计系统,这些基础组件的基本功能如下:
❶ Zookeeper,Hadoop子项目中的一款分布式协调系统,用于控制分布式系统中各个组件中的一致性。❷Cassandra,NoSQL中一款非常出色的产品,集合了Dynamo和Bigtable特性的分布式存储系统,用于存储需要进行统计的数据,统计数据,并且提供客户端进行统计数据的查询。(需要使用分布式Counter补丁CASSANDRA-1072)❸ Scribe,Facebook开源的一款分布式日志收集系统,用于在系统中将各个需要统计的数据源收集到Cassandra中。❹ Thrift,Facebook开源的一款跨语言C/S网络通信框架,开发人员基于这个框架可以轻易地开发C/S应用。
Rainbird可以用于实时数据的统计:
❶统计网站中每一个页面,域名的点击次数
❷内部系统的运行监控(统计被监控服务器的运行状态)
❸记录最大值和最小值
三、Yahoo S4
& && &简介:S4(Simple Scalable Streaming System)最初是Yahoo!为提高搜索广告有效点击率的问题而开发的一个平台,通过统计分析用户对广告的点击率,排除相关度低的广告,提升点击率。目前该项目刚启动不久,所以也可以理解为是他们提出的一个分布式流计算(Distributed Stream Computing)的模型。
S4的设计目标是:
·提供一种简单的编程接口来处理数据流·设计一个可以在普通硬件之上可扩展的高可用集群。·通过在每个处理节点使用本地内存,避免磁盘I/O瓶颈达到最小化延迟·使用一个去中心的,对等架构;所有节点提供相同的功能和职责。没有担负特殊责任的中心节点。这大大简化了部署和维护。·使用可插拔的架构,使设计尽可能的即通用又可定制化。·友好的设计理念,易于编程,具有灵活的弹性
四、Twitter Storm
& && &简介:Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架,它原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析系统。
& && &实时数据处理的应用场景很广泛,例如商品推荐,广告投放,它能根据当前情景上下文(用户偏好,地理位置,已发生的查询和点击等)来估计用户点击的可能性并实时做出调整。
& && &storm的三大作用领域:
1.信息流处理(Stream Processing)Storm可以用来实时处理新数据和更新数据库,兼具容错性和可扩展性,它 可以用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中。
2.连续计算(Continuous Computation)Storm可以进行连续查询并把结果即时反馈给客户,比如将Twitter上的热门话题发送到客户端。
3.分布式远程过程调用(Distributed RPC)除此之外,Storm也被广泛用于以下方面:
精确的广告推送
实时日志的处理
一、Apache Hama
& && &简介:Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel。用来处理大规模的科学计算,特别是矩阵和图计算。
❶建立在Hadoop上的分布式并行计算模型。❷基于 Map/Reduce 和 Bulk Synchronous 的实现框架。❸运行环境需要关联 Zookeeper、HBase、HDFS 组件。
Hama中有2个主要的模型:– 矩阵计算(Matrix package)– 面向图计算(Graph package)
& &&&二、Apache Giraph
& && &简介:Apache Giraph是一个可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel,与它们 区别于则是是开源、基于 Hadoop 的架构等。
& && &Giraph处理平台适用于运行大规模的逻辑计算,比如页面排行、共享链接、基于个性化排行等。Giraph专注于社交图计算,被Facebook作为其Open Graph工具的核心,几分钟内处理数万亿次用户及其行为之间的连接。
三、HaLoop
& && &简介:迭代的MapReduce,HaLoop——适用于迭代计算的Hadoop 。
Hadoop与HaLoop的不同
与Hadoop比较的四点改变:
1.提供了一套新的编程接口,更加适用于迭代计算;HaLoop给迭代计算一个抽象的递归公式:
2.HaLoop的master进行job内的循环控制,直到迭代计算结束;3.Task Scheduler也进行了修改,使得任务能够尽量满足data locality4.slave nodes对数据进行cache并index索引,索引也以文件的形式保存在本地磁盘。
四、Twister
简介:Twister, 迭代式MapReduce框架,Twister是由一个印度人开发的,其架构如下:
& && &在Twister中,大文件不会自动被切割成一个一个block,因而用户需提前把文件分成一个一个小文件,以供每个task处理。在map阶段,经过map()处理完的结果被放在分布式内存中,然后通过一个broker network(NaradaBroking系统)将数据push给各个reduce task(Twister假设内存足够大,中间数据可以全部放在内存中);& && &在reduce阶段,所有reduce task产生的结果通过一个combine操作进行归并,此时,用户可以进行条件判定, 确定迭代是否结束。combine后的数据直接被送给map task,开始新一轮的迭代。为了提高容错性,Twister每隔一段时间会将map task和reduce task产生的结果写到磁盘上,这样,一旦某个task失败,它可以从最近的备份中获取输入,重新计算。
& && &为了避免每次迭代重新创建task,Twister维护了一个task pool,每次需要task时直接从pool中取。在Twister中,所有消息和数据都是通过broker network传递的,该broker network是一个独立的模块,目前支持NaradaBroking和ActiveMQ。
(来源:小象学院)
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
总评分:&经验 + 100&
论坛币 + 100&
学术水平 + 9&
热心指数 + 5&
信用等级 + 5&
本帖被以下文库推荐
& |主题: 35, 订阅: 8
& |主题: 407, 订阅: 15
心晴的时候,雨也是晴;心雨的时候,晴也是雨!
扣扣:,欢迎一块儿吐槽!!
一级伯乐勋章
一级伯乐勋章
初级学术勋章
初级学术勋章
初级热心勋章
初级热心勋章
初级信用勋章
初级信用勋章
中级热心勋章
中级热心勋章
中级学术勋章
中级学术勋章
中级信用勋章
中级信用勋章
高级学术勋章
高级学术勋章
高级热心勋章
高级热心勋章
高级信用勋章
高级信用勋章
特级学术勋章
特级学术勋章
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
论坛法律顾问:王进律师

我要回帖

更多关于 数据一致性 的文章

 

随机推荐