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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介:

本节书摘来自华章计算机《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/
为了判断是否有疾病暴发,系统会按照地理位置来统计各种疾病代码在一段时间内出现的次数。为了简化例子,我们按城市划分诊断结果地理位置。实际系统会对地理位置做出更精细的划分。
另外,示例中会逐小时对诊断事件进行分组。实际系统会更倾向于使用滑动窗口,使用移动平均值来计算趋势。
最后,我们使用简单的阈值来判断是否有疾病暴发。如果某个小时事件发生的次数超过了阈值,系统会产生告警信息并且派遣应急人员。
为了维护历史记录,我们还需要将每个城市、小时、疾病的统计量持久化存储。
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
80 3
|
2月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
60 0
|
2月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
75 0
|
29天前
|
监控
Saga模式在分布式系统中保证事务的隔离性
Saga模式在分布式系统中保证事务的隔离性
|
29天前
|
存储 缓存 算法
分布式缓存有哪些常用的数据分片算法?
【10月更文挑战第25天】在实际应用中,需要根据具体的业务需求、数据特征以及系统的可扩展性要求等因素综合考虑,选择合适的数据分片算法,以实现分布式缓存的高效运行和数据的合理分布。
|
2月前
|
JSON 分布式计算 前端开发
前端的全栈之路Meteor篇(七):轻量的NoSql分布式数据协议同步协议DDP深度剖析
本文深入探讨了DDP(Distributed Data Protocol)协议,这是一种在Meteor框架中广泛使用的发布/订阅协议,支持实时数据同步。文章详细介绍了DDP的主要特点、消息类型、协议流程及其在Meteor中的应用,包括实时数据同步、用户界面响应、分布式计算、多客户端协作和离线支持等。通过学习DDP,开发者可以构建响应迅速、适应性强的现代Web应用。
|
2月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
66 4
|
3月前
Saga模式在分布式系统中如何保证事务的隔离性
Saga模式在分布式系统中如何保证事务的隔离性
|
2月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
103 0
|
4月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
205 2