01_流式计算基础_第1天(Storm是什么、Storm核心组件、Storm编程模型).docx
需积分: 0 114 浏览量
更新于2020-03-22
收藏 346KB DOCX 举报
流式计算是一种处理持续不断的数据流的计算模式,与传统的离线计算形成鲜明对比。离线计算通常涉及批量数据处理,如通过Hadoop的MapReduce进行大规模数据的批处理,而流式计算则强调实时性,它能够对数据流进行连续分析并即时输出结果。
Apache Storm是一个开源的分布式实时计算系统,设计用于处理无界数据流,保证每个消息至少被处理一次(at-least-once语义)。Storm的核心特性包括低延迟、高可用性和可扩展性,确保数据不丢失,并提供了直观易用的编程模型。
Storm与Hadoop的主要区别在于处理方式和时间维度。Hadoop适合离线批量处理,数据存储在HDFS中,而Storm则是针对实时数据流的处理,数据在内存中流转。此外,Hadoop的编程模型基于JobTracker和TaskTracker,而Storm采用的是Topology概念,包含Nimbus、Supervisor、Worker、Spout和Bolt等组件。
Nimbus是Storm的作业调度器,类似于Hadoop的JobTracker,负责分配任务到各个节点。Supervisor是工作节点,接收Nimbus的任务,启动和管理Worker进程。每个Worker进程中可以运行多个Task,Task是实际执行计算的单元,分为Spout和Bolt两种。Spout负责从数据源拉取数据并生成数据流,而Bolt则执行具体的计算逻辑,如过滤、聚合等操作,并将结果输出到下一个阶段或存储系统。
在实际应用中,Storm被广泛用于实时日志分析、消息转换、数据管道传输等场景。例如,一淘的实时分析系统利用Storm实时处理用户行为日志,优化搜索引擎结果;携程的网站性能监控系统通过Storm实时分析性能指标,及时预警;阿里妈妈的用户画像构建依赖Storm实现用户兴趣的实时计算,以便精准推送广告。
流式计算的一般架构图通常会展示数据从源头经过一系列的处理阶段,最终到达结果输出的流程。这些阶段可能包括数据接入(如Flume)、数据存储(如Kafka)、实时计算(如Storm)以及结果缓存和持久化(如Redis、MySQL)。这样的架构设计能够保证数据从产生到处理的全程实时性,为业务决策提供快速响应的能力。
Storm是实现大数据实时处理的关键工具,它提供的强大实时计算能力和灵活的编程模型,使其成为互联网行业实时数据分析的首选框架。理解Storm的核心组件和编程模型,对于掌握流式计算原理和实践具有重要意义。
铲屎小仙女
- 粉丝: 1
- 资源: 21
最新资源
- 网络搭建练习题.pkt
- 搜索引擎soler的相关介绍 从事搜索行业程序研发、人工智能、存储等技术人员和企业
- 搜索引擎lucen的相关介绍 从事搜索行业程序研发、人工智能、存储等技术人员和企业
- 基于opencv-dnn和一些超过330 FPS的npu
- 房屋租赁管理系统 java项目ssm框架开发,全套视频教程
- MATLAB代码:计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度 关键词:碳捕集 电厂 需求响应 优化调度 电转气协同调度 参考文档:《计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度》完全复现
- 关键词:微网 优化调度 深度强化学习 A3C 需求响应 编程语言:python平台 主题:基于改进A3C算法的微网优化调度与需求响应管理 内容简介: 代码主要做的是基于深度强化学习的微网
- web网页,三次平时作业+大作业+Acwing笔记
- cruise软件模型,混动仿真模型,IMMD架构混联混动仿真模型,Cruise混动仿真模型,混联混动汽车动力性经济性仿真 关于模型 1.本模型是基于IMMD架构搭载的混联混动仿真模型,关于IMMD架
- C#上位机开发源码 上位机项目源代码 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理、sqlite数据库、实时曲线、历史曲线、历史报表、导出Excel、主界面布局可调带记忆等功能