初探大数据流式处理
文章目录
- 初探大数据流式处理
- 批式处理系统特点
- 流式处理系统特点
- 大批次计算
- 微批次计算
- 适用场景
- 流式计算的应用场景
- 流式大数据的特征
- 流式计算的关键技术
- 流式处理框架的特征
- 三大流式数据处理框架
初探大数据流式处理
大数据处理系统主要分为批式处理和流式处理两类。批式处理将大量数据分成批次进行处理,适用于对实时性要求不高的场景,如离线数据分析和大规模数据计算,常见的框架包括MapReduce、Hive和Spark。流式处理则是一种实时数据处理方式,能够逐条或按小批次处理数据,适用于需要低延迟和高实时性的场景,如实时监控和即时分析,常见的框架包括Spark Streaming、Flink和Storm。
批式处理系统特点
- 数据批量处理:将某时间段的数据汇聚成一个批次,进行业务逻辑处理后加载至存储系统。
- 查询延迟性:虽然可对完整大数据集实现高效查询,但无法查询到最新的实时数据,存在一定的数据延迟。
- 处理时间长:处理数据一般计算时间较长,可能几分钟、几小时甚至几天。
流式处理系统特点
- 实时处理与低延迟:流式大数据处理系统能够实时处理逐条或多条数据,并将数据加载到高性能内存中进行计算,同时支持数据的持久化,确保低延迟的数据处理。
- 数据到达的不确定性:流式计算无法预先确定数据的到达时间和顺序,使得数据处理过程具有不确定性。
- 网络延迟的影响:在实时流计算中,由于网络延迟,来自不同节点的数据可能不会按照发送顺序被处理,可能导致数据处理顺序的混乱。
大批次计算
- 大批次计算时间:通常以小时、天、周、月、年作为时间间隔,因此也被称为离线计算。
- 典型的计算框架:包括MapReduce、Hive、SparkCore、SparkSQL等。
微批次计算
- 微批次计算时间:处理数据的单位通常是毫秒、秒、分钟,因此也被称为实时计算。
- 典型的计算框架:包括SparkStreaming、Flink、Storm等。
适用场景
- 批量计算适用场景:适合对实时性要求不高,但对数据的准确性和全面性更为重要的应用场景。通常采用先存储后计算的方式。
- 流式计算适用场景:适合无需先存储、可以直接进行数据计算,且对实时性要求严格,但对数据精确度要求稍微宽松的应用场景。
- 流批一体计算适用场景:流量计算和批量计算具有明显的优劣互补特征。在多种应用场合下,可以通过结合流式计算的实时性优势和批量计算的计算精度优势,满足不同阶段的数据计算要求。
流式计算的应用场景
- 计算结果精度问题:大数据流式计算主要用于对动态产生的数据进行实时计算并及时反馈结果,但通常不要求结果绝对精确。
- 计算时机问题:在数据的有效时间内获取其价值是大数据流式计算系统的首要设计目标。当数据到来后,系统会立即对其进行计算或对一小段时间间隔的数据进行计算,而不会等待后续全部数据到来再进行计算。
流式大数据的特征
- 实时性:流式大数据要求数据在产生后能够被即时处理和分析,以确保结果的时效性。
- 易失性:流式数据往往具有短暂的生命周期,如果不能及时处理,数据可能会丢失或失效。
- 突发性:流式数据的产生速率可能会突然增加,形成数据洪峰。
- 无序性:流式数据在传输过程中可能会因为网络延迟等原因而乱序到达。
- 无限性:流式数据是持续不断产生的,没有明确的结束点。
流式计算的关键技术
- 系统架构:包括有中心节点的主从式架构和无中心节点的对称式系统架构。
- 数据传输:包括主动推送方式和被动拉取方式。
- 编程接口:方便用户根据流式计算的任务特征,通过有向任务图来描述任务内在逻辑和依赖关系,并编程实现任务图中各节点的处理功能。
- 高可用技术:包括被动等待策略和主动等待策略。
- 时间窗口动态数据处理:实时系统需要提供对动态数据的实时处理方法,以快速响应来自业务系统的即席查询请求。
流式处理框架的特征
- 强实时处理:流式处理需要确保数据的实时计算,同时也需要确保处理结果的实时发送。
- 高容错能力:由于数据很容易丢失,这就需要系统具有一定的容错能力。
- 动态变化:一般采用流式处理架构的应用场景都存在数据速率不固定的情况。
- 多数据源:由于可能存在很多的数据源,而且各数据源、数据流之间又可能是相互独立的。
- 数据时效性:系统在数据计算过程中,无法保存全部数据。
三大流式数据处理框架
- Storm:提供原生流处理,延迟极低,但吞吐量较低且不支持状态管理。
- Spark Streaming:采用微批处理模型,支持高吞吐量和状态管理,但延迟较高。
- Flink:结合了原生流处理和微批处理的优点,提供低延迟、高吞吐量、精确一次的数据保证和强大的状态管理能力,适用于复杂的实时数据处理场景。
相关文章:

初探大数据流式处理
文章目录 初探大数据流式处理批式处理系统特点流式处理系统特点大批次计算微批次计算适用场景 流式计算的应用场景流式大数据的特征流式计算的关键技术流式处理框架的特征三大流式数据处理框架 初探大数据流式处理 大数据处理系统主要分为批式处理和流式处理两类。批式处理将大…...

【Linux】Linux入门(三)权限
目录 前提权限概念whoami指令 Linux权限管理文件访问者的分类(人)file指令权限信息权限的表示方法 chmod指令 更改权限chown指令 修改文件,文件夹所属用户和用户组 权限掩码umask(权限掩码) 粘滞位 前提 请先看下面这…...

html,css,js的粒子效果
这段代码实现了一个基于HTML5 Canvas的高级粒子效果,用户可以通过鼠标与粒子进行交互。下面是对代码的详细解析: HTML部分 使用<!DOCTYPE html>声明文档类型。<html>标签内包含了整个网页的内容。<head>部分定义了网页的标题&#x…...
Spring Boot + Netty + WebSocket 实现消息推送
1、关于Netty Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 2、Maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/io.netty/netty-all --><dependency><gr…...
Python3 【字符串】:方法和函数使用示例手册
Python3 【字符串】:方法和函数使用示例手册 Python 提供了丰富的字符串处理方法和函数,以下是一些常用的方法和函数分类整理,并提供详细使用示例,简单易懂,值得收藏。 1. 字符串大小写转换 str.upper():…...

数据结构与算法整理复习(一):数据结构概念与线性表
目录 第一章:绪论 1.1 数据结构的基本概念 1.2 算法与算法评价 第二章:线性表 2.1 线性表的定义和基本操作 2.2 线性表的顺序表示(顺序表) 应用题 2.3 线性表的链式表达(链表) 2.3.1 单链表 2.3.2…...

【Block总结】PConv风车卷积,更大的感受野,提高特征提取能力|即插即用
论文信息 论文标题:《Pinwheel-shaped Convolution and Scale-based Dynamic Loss for Infrared Small Target Detection》 论文链接:https://arxiv.org/pdf/2412.16986 GitHub链接:https://github.com/JN-Yang/PConv-SDloss-Data 创新点 …...

Python新春烟花
目录 系列文章 写在前面 技术需求 完整代码 下载代码 代码分析 1. 程序初始化与显示设置 2. 烟花类 (Firework) 3. 粒子类 (Particle) 4. 痕迹类 (Trail) 5. 烟花更新与显示 6. 主函数 (fire) 7. 游戏循环 8. 总结 注意事项 写在后面 系列文章 序号直达链接爱…...

VirtualBox can‘t enable the AMD-V extension
个人博客地址:VirtualBox cant enable the AMD-V extension | 一张假钞的真实世界 最近一次完成Deepin的系统更新后,进入VirtualBox创建的虚拟机(Widows10)时,出现以下错误: 根据网址“https://askubuntu.…...
掘金--创意标题匹配问题
问题描述 在广告平台中,为了给广告主一定的自由性和效率,允许广告主在创造标题的时候以通配符的方式进行创意提交。线上服务的时候,会根据用户的搜索词触发的 bidword 对创意中的通配符(通配符是用成对 {} 括起来的字符串&#x…...
OBU和T-Box
OBU(On-Board Unit,车载单元)和T-Box(Telematics Box,远程信息处理控制单元)都是用于车联网和智能交通系统的车载设备,但它们的功能、应用场景和技术特点存在显著差异。以下是两者的详细对比&am…...

【PVE】Proxmox VE8.0+创建LXC容器安装docker
为了不影响PVE宿主机,通常使用套娃的形式安装Docker容器,再安装相关docker应用。首先在CT模板中创建 Linux 容器,推荐使用Debian。开启ssh登录,修改debian配置,安装docker 一、创建 LXC 容器 1、CT模板下载 点击“模…...

一文大白话讲清楚webpack基本使用——11——chunkIds和runtimeChunk
文章目录 一文大白话讲清楚webpack基本使用——11——chunkIds和runtimeChunk1. 建议按文章顺序从头看,一看到底,豁然开朗2. 啥是chunkIds3.怎么使用chunkIds4. 啥是runtimeChunk5. 怎么使用runtimeChunk 一文大白话讲清楚webpack基本使用——11——chun…...
Java 中的设计模式:经典与现代实践
Java 中的设计模式:经典与现代实践 1. 设计模式简介 设计模式是一种软件开发中的思想,它为我们提供了一些经过验证的、能够应对常见问题的解决方案。学习和掌握设计模式能够让开发者在面对复杂的需求时,能够设计出更加灵活、可维护的代码。…...

DRG_DIP 2.0时代医院程序结构转型与数据结构优化研究
一、引言 1.1 DRG_DIP 2.0 改革背景与意义 医保支付方式改革在医疗保障制度改革中占据着极为关键的地位,是推动医疗领域变革的核心力量。它犹如一把精准的手术刀,对医疗资源的合理分配、医疗服务质量的稳步提升以及医疗费用的有效控制起着决定性作用。…...

一部手机如何配置内网电脑同时访问内外网
做过运维的朋友都知道,最麻烦的是运维电脑不能远程,每次都得现场进行维护,明明客户那边有可以访问内网的电脑,怎么操作能将这台电脑能访问跟到外网呢,这样不就能通过远程软件远程了吗?嘿嘿。按以下步骤试试…...
国产低功耗带LCD驱动和触摸按键功能的MCU
以下是国产低功耗、集成LCD驱动和触摸按键功能的MCU精选型号及其核心特性,结合性能、功耗和适用场景进行综合推荐: 1.灵动微MM32L0130系列 257 核心特性:低功耗:待机模式功耗低至100nA,支持多种低功耗模式。 LCD驱动&a…...

XCP 协议基础
文章目录 一、XCP 简介二、XCP的主要功能三、什么是标定四、什么时候进行标定五、标定的意义六、标定的三层架构XCP协议 和 CCP协议的区别参考 一、XCP 简介 XCP 协议的全称为 eXtended Calibration Protocol,即扩展标定协议。 另有其他定义,XCP 协议全…...
Swift 中 Codable 和 Hashable 的理解
最近初学Swift,碰到下面的代码脑袋里冒出疑问:Codable 和 Hashable是啥?怎么理解? struct Landmark: Hashable, Codable {var id: Intvar name: Stringvar park: Stringvar state: Stringvar description: String }针对上面的疑问…...
基于 WPF 平台实现成语游戏
一、引言 在软件开发领域,利用各种框架开发有趣的应用程序是提升技术能力和增加开发乐趣的有效方式。WPF(Windows Presentation Foundation)作为微软强大的桌面应用开发框架,提供了丰富的图形和交互功能。本文将带领大家基于 WPF…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...