阅读更多

1顶
0踩

数据库

原创新闻 实时流处理系统的用例

2016-06-13 10:43 by 副主编 mengyidan1988 评论(0) 有7924人浏览
本文阐述了为什么比起Hadoop之类的知名技术,类似Apache Storm这样的系统更加有用。

让我们以经典的笔记本品牌实时情感分析(SENTIMENT ANALYSIS)为例,在进行观点分析时,处理流程应当如下图所示:



  • 从类似Twitter、Facebook、电子商务网站之类的不同来源收集数据。
  • 以一些“高吞吐量”这样的关键字为基础,我们筛选出了一些数据。
  • 为不同来源的各条信息生成情感分析。
  • 为存储处理的数据设立存储机制。

现在的问题在于:是否能够通过大数据系统来解决,请使用Hadoop来执行下列处理:



如果我们运行Hive Query、Pig Script或MapReduce的话,由于必须从HDFS(从硬盘读取)中读取数据,整个处理过程需要耗费数小时才能进行处理,因此理论上来说是无法实时执行数据处理的(它们遵循静态数据原则)。

由于Hadoop设计时就是为了执行批处理,而且需要花费数小时才能生成结果,因此针对Hadoop是否能够执行实时处理的问题,答案是否定的。

总结一下,由于所使用的是基于批处理的方式,Hadoop无法解决实时问题。

有很多需要我们执行实时数据处理的用例,比如:
  • 反欺诈
  • 情绪分析
  • 日志监控
  • 处理客户的行为

那么现在我们如何处理这类特殊的问题呢?我们需要使用一些实时的流数据机制(一切都在内存中完成,遵循动态数据原则)。

实时处理的典型流程如下图:



不过想要使用这种方法,需要先解决下面这些问题:
  • 数据流:数据需要在数据管道(Data Pipeline)中以流数据的形式发送。
  • 容错:如果有某个进程出错,那么故障转移机制是什么样的呢?
  • 扩展:如果数据规模增长的话,能否很容易地扩展集群以增加处理数据的性能?
  • 确保信息处理:是否能确保信息得到处理?
  • 编程语言不可知论:是否会是独立的编程?

有一些类似Apache Storm之类的实时数据流机制能够帮助我们解决这些问题。现在我们试着回答上面的问题,看使用Apache Storm能否得出答案。

数据流

数据以元组的形式发送。

扩展

Storm是一个分布式平台,允许用户将更多节点添加到Storm集群运行环境中,以增加应用的吞吐量。

容错

在Storm中,工作是通过集群中的worker来执行的。如果有一个worker宕掉,Storm就会重启该worker,而如果worker所在的节点也宕掉,则Storm就会重启集群中一些其他节点上的worker。

确保信息处理

Storm如果该元组在处理时出现故障,Storm会重启出错的元组。

程序语言不可知论

可以在任何编程语言中编写。即使Storm平台运行在JVM之上,运行在上面的应用也可以用任何编程语言编写,可以使用标准的I/O来读写。

希望本文有助于澄清:利用Apache Storm之类的工具处理大数据问题时,在实时流数据中的使用问题。

原文:Use Cases for Real Time Stream Processing Systems
译者:Vera
责编:钱曙光
  • 大小: 40 KB
  • 大小: 43.2 KB
  • 大小: 78.9 KB
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 测试用例设计方法之状态迁徙图法

    在遇到有事务流或由于某种条件成立导致状态改变的软件项目时,如何进行测试用例的设计就比较麻烦。以前所讲的各种方法,每个被测对象之间是没有相互的关联或数据流向发生,遇到这样的事务流软件就要考虑用其他方法...

  • 信息系统分析与设计 第七章 用例建模

    用例分析是站在最终用户的角度看待系统及其特性,模型简单直接,一经提出便受到软件开发人员的青睐。 用例总是和面向对象方法放在一起讨论,并且在面向对象标准建模语言UML中用例也具有中心地位。但严格意义上讲,...

  • 超越大数据分析:流处理系统迎来黄金时期

    摘要 流处理作为一个一直很活跃的研究领域已有 20 多年的历史,但由于学术界和全球众多开源社区最近共同且成功的努力,它当前正处于黄金时期。本文的内容包含三个方面。...取而代之的是,现代流处理系统正越来越多地

  • 需求用例分析之一:异常流

    您可以将备选事件流看作是基本事件流的“绕行道”,有些备选事件流将返回到基本事件流,而有些将结束此用例的执行。  分析RUP对于备选流的定义,可以看到备选流可以分成两类: 1,不同做法但仍然达成用

  • 购物车的流程图/基本流和备选流/测试用例

    1开始,选择商品,是否登录,登录,加入购物车,是否查看购物车,编辑订单,结算,提交订单,支付,结束 2开始,选择商品,是否登录,不登录,返回开始 3开始,选择商品,是否登录,登录,加入购物车,是否查看商品...

  • 敏捷开发中基于场景事件流的用例设计

    针对整个系统进行端到端的测试方法就是本讲所要讨论的基于场景的用例设计或基于事件流的用例设计,而且这样的方法也很适合敏捷这样环境下的快速测试,适合探索式测试。只是在启动一个探索式测试 session 之前,事先...

  • 软件测试-用例篇

    软件测试-用例篇

  • ATM系统用例建模

    按照以下ATM系统的描述,对其进行用例建模。 ATM系统是一个复杂的软件控制硬件的系统,各功能模块协调工作。以具体业务为出发点对它进行建模,一个功能齐全的ATM系统包含以下几个模块: (1)读卡机模块: 客户银行卡...

  • 软件测试(测试用例)—写用例无压力

    软件测试——用例篇 文章目录软件测试——用例篇一、概念二、测试用例总体设计方案1、等价类 ☆...测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、

  • 用例建模相关知识总结

    用例是从外部用户和外围系统的角度,分析和考察待开发系统的行为,并通过参与者(可能是最终用户也可能是外围系统)与系统之间的交互关系描述了了系统对外提供的功能特性----这种参与者与系统功能特性间的交互关系...

  • EA&UML日拱一卒 用例扩展关系

    前面到文章说明了取款和转账的用例分析,除了共同的处理之外,还分别包含了执行转账动作和执行取款动作两个用例。也有一些客户,可能希望在执行正常的转账或取款动作的同时,将执行过的动作记入动作日志中。被扩展...

  • 《大象:thinking in uml 》(第二版) 11章 系统分析 1-2节 确定系统用例、分析业务规则

    11.1 确定系统用例 具体说来,这些方法包括: ■ 映射 映射是最简单最直接的方法,例如值机人员办理登机手续这个备选用例就可以不加修饰地直接被采纳为系统用例。 ■ 抽象 抽象也是比较常用的方法,当业务场景当中...

  • 设计测试用例

    设计测试用例

  • 测试用例设计 - 基于页面、业务流程、技术架构

    测试用例设计

  • 用例建模

    用例建模UML需求建模图示需求分析阶段的工作任务什么是业务用例建模什么是用例图用例图的作用用例图对开发的意义大学信息系统的一个用例图如何建立用例模型用例图的组成UML需求建模过程用例建模技术确定系统的范围和...

  • 试题库管理系统 数据流图 源文件

    其中数据元素条目至少2个、数据结构条目至少2个、数据流条目至少2个、数据存储条目至少2个、处理过程条目至少2个。  面向对象方法要求: 1. 建立用例模型 1) 画出用例图。如果内容多,可以对用例进行分组,画出多...

  • 测试计划与测试用例

    测试计划和测试用例 1. 测试用例的概念和作用 1.1. 引言 对一个测试工程师来说,测试用例的设计编写是一项必须掌握的能力,但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握...

  • 测试用例设计方法

    1. 用例介绍 1.1 定义 为某个业务目标,而编制的一组由测试输入,执行条件以及预期结果组成的案例 1.2 为什么要学习测试用例? 1.在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 2.测试...

  • 场景设计法用例设计

    目前很多软件几乎都是用事件触发来控制流程的,事件触发时的情景变形成了场景,而同一件事件的不同触发顺序和处理结果就形成了事件流。 这种软件设计方面的思想也被引入到了软件测试当中,有利于测试设计者设计测试...

  • 测试 - 用例篇 - 细节狂魔

     有的人可能觉得有点糊,你确定是在讲 “基于需求设计测试用例”嘛?  需要注意的是:上面提到这些非功能性的测试(易用性,兼容性,性能,安全性,可移植性,可维护性),不是所有的,都要测试!   不同的应用...

Global site tag (gtag.js) - Google Analytics