《Storm分布式实时计算模式》——第3章 Trident和传感器数据3.1 使用场景-阿里云开发者社区

开发者社区> 华章计算机> 正文

《Storm分布式实时计算模式》——第3章 Trident和传感器数据3.1 使用场景

简介:
+关注继续查看

本节书摘来自华章计算机《Storm分布式实时计算模式》一书中的第3章,第3.1节,作者:(美)P. Taylor Goetz Brian O’Neill 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章 Trident和传感器数据

在本章中,我们将介绍Trident topology。Trident在Storm上提供了高层抽象。Trident抽象掉了事务处理和状态管理的细节。特别是,它可以让一批tuple进行离散的事务处理。此外,Trident还提供了抽象操作,允许topology在数据上执行函数功能、过滤和聚合操作。
我们将使用传感器数据作为例子来更好地理解Trident。通常情况下,传感器数据流会来自不同的位置。一些传统的例子包括天气和交通状况,这种模式扩展到了更大的数据源。比如,手机应用产生的众多事件信息。处理手机生成的事件流就是另一个传感器数据处理的实例。
传感器数据包括不同设备发射的事件,往往是无穷尽的数据流。这正是Storm最合适的一种应用场景。
本章包括以下主题:

  • Trident topology
  • Trident spout
  • Trident操作——filter和function
  • Trident聚合——Combiner和Reducer
  • Trident状态(state)

3.1 使用场景

在用Storm处理传感器数据时,为了更好地理解Trident topology,我们实现了一个Trident topolygy收集医学诊断报告来判断是否有疾病暴发的实例。
这个topology会处理的医学诊断事件包括以下的信息:


<a href=https://yqfile.alicdn.com/89aeb985f819351b49755263f1c7d879f9e07f7e.png" >

每个事件包括事件发生时的全球定位系统(GPS)的位置坐标,经度和纬度使用十进制小数表示。事件还包括ICD9-CM编码,表示诊断结果,以及事件发生的时间戳。完整的ICD9-CM编码参见http://www.icd9data.com/
为了判断是否有疾病暴发,系统会按照地理位置来统计各种疾病代码在一段时间内出现的次数。为了简化例子,我们按城市划分诊断结果地理位置。实际系统会对地理位置做出更精细的划分。
另外,示例中会逐小时对诊断事件进行分组。实际系统会更倾向于使用滑动窗口,使用移动平均值来计算趋势。
最后,我们使用简单的阈值来判断是否有疾病暴发。如果某个小时事件发生的次数超过了阈值,系统会产生告警信息并且派遣应急人员。
为了维护历史记录,我们还需要将每个城市、小时、疾病的统计量持久化存储。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
史上最快! 10小时大数据入门实战(四)-分布式资源调度YARN
1 YARN 产生背景 2 YARN 架构 3 YARN 执行流程 1.
1044 0
史上最快! 10小时大数据入门实战(五)-分布式计算框架MapReduce
目录 1 MapReduce概述 2 MapReduce编程模型之通过wordcount词频统计分析案例入门 MapReduce执行流程 InputFormat OutputFormat OutputFormt接口决定了在哪里以及怎样持久化作业结果。
1073 0
最新天猫面试题(含总结):线程池+并发编程+分布式设计+中间件
一面: HashMap实现原理,ConcurrentHashMap实现原理 红黑树,为什么允许局部不平衡 TCP,UDP区别,为什么可靠和不可靠 一次HTTP请求的全过程,包括域名解析、定位主机等 TCP三次握手 MySQL事务是什么?四大特性,四大隔离级别 Concurr...
1255 0
史上最快! 10小时大数据入门实战(三)-分布式文件系统HDFS
HDFS 环境搭建 HDFS 伪分布式环境搭建 CentOS 环境安装步骤 MacOS安装环境 安装jd...
1365 0
分布式实时分析数据库citus数据插入性能优化
前言 从可靠性和使用便利性来讲单机RDBMS完胜N多各类数据库,但当数据量到了一定量之后,又不得不寻求分布式,列存储等等解决方案。citus是基于PostgreSQL的分布式实时分析解决方案,由于其只是作为PostgreSQL的扩展插件而没有动PG内核,所有随快速随PG主版本升级,可靠性也非常值得信任。
1597 0
阿里云大数据计算服务MaxCompute命令行工具——odpscmd的操作使用
在MaxCompute生态中,命令行工具究竟处于什么样的位置?它又发挥着什么样的作用?能够帮助开发者如何更好使用MaxCompute?在本文中,阿里巴巴计算平台产品专家曲宁将通过一个完整简单的小例子为大家介绍MaxCompute命令行工具odpscmd的使用以及其所具有的各种能力。
4704 0
使用DTS从RDS PG实时同步数据到AnalyticDB for PostgreSQL
DTS支持从RDS PG将数据实时同步到AnalyticDB for PG,用户可以很方便的搭建起RDS PG到AnalyticDB for PG的数据同步,轻松实现数据的流转和复杂查询的优化。 使用DTS的前提条件 要求同步的数据表,必须建有主键(通过主键来保证源端和目标端表记录一致性)。
2233 0
使用 Kafka + Spark Streaming + Cassandra 构建数据实时处理引擎
Apache Kafka 是一个可扩展,高性能,低延迟的平台,允许我们像消息系统一样读取和写入数据。我们可以很容易地在 Java 中使用 Kafka。 Spark Streaming 是 Apache Spark 的一部分,是一个可扩展、高吞吐、容错的实时流处理引擎。
2822 0
idea和Webstorm上使用git和github,码云
快快关注我吧.gif 由于之前一直使用svn,现在项目使用git,顾根据网上找的学习资料,自己梳理了下,收获蛮多,这里做个记录,如果能帮助到您那是最好不过的。
1265 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载