初探大数据流式处理

news/2025/1/23 15:52:42/

在这里插入图片描述

文章目录

      • 初探大数据流式处理
        • 批式处理系统特点
        • 流式处理系统特点
        • 大批次计算
        • 微批次计算
        • 适用场景
      • 流式计算的应用场景
      • 流式大数据的特征
      • 流式计算的关键技术
      • 流式处理框架的特征
      • 三大流式数据处理框架

初探大数据流式处理

大数据处理系统主要分为批式处理流式处理两类。批式处理将大量数据分成批次进行处理,适用于对实时性要求不高的场景,如离线数据分析和大规模数据计算,常见的框架包括MapReduce、Hive和Spark。流式处理则是一种实时数据处理方式,能够逐条或按小批次处理数据,适用于需要低延迟和高实时性的场景,如实时监控和即时分析,常见的框架包括Spark StreamingFlinkStorm

批式处理系统特点
  • 数据批量处理:将某时间段的数据汇聚成一个批次,进行业务逻辑处理后加载至存储系统。
  • 查询延迟性:虽然可对完整大数据集实现高效查询,但无法查询到最新的实时数据,存在一定的数据延迟。
  • 处理时间长:处理数据一般计算时间较长,可能几分钟、几小时甚至几天。
流式处理系统特点
  • 实时处理与低延迟:流式大数据处理系统能够实时处理逐条或多条数据,并将数据加载到高性能内存中进行计算,同时支持数据的持久化,确保低延迟的数据处理。
  • 数据到达的不确定性:流式计算无法预先确定数据的到达时间和顺序,使得数据处理过程具有不确定性。
  • 网络延迟的影响:在实时流计算中,由于网络延迟,来自不同节点的数据可能不会按照发送顺序被处理,可能导致数据处理顺序的混乱。
大批次计算
  • 大批次计算时间:通常以小时、天、周、月、年作为时间间隔,因此也被称为离线计算。
  • 典型的计算框架:包括MapReduce、Hive、SparkCore、SparkSQL等。
微批次计算
  • 微批次计算时间:处理数据的单位通常是毫秒、秒、分钟,因此也被称为实时计算。
  • 典型的计算框架:包括SparkStreaming、FlinkStorm等。
适用场景
  • 批量计算适用场景:适合对实时性要求不高,但对数据的准确性和全面性更为重要的应用场景。通常采用先存储后计算的方式。
  • 流式计算适用场景:适合无需先存储、可以直接进行数据计算,且对实时性要求严格,但对数据精确度要求稍微宽松的应用场景。
  • 流批一体计算适用场景:流量计算和批量计算具有明显的优劣互补特征。在多种应用场合下,可以通过结合流式计算的实时性优势和批量计算的计算精度优势,满足不同阶段的数据计算要求。

流式计算的应用场景

  • 计算结果精度问题:大数据流式计算主要用于对动态产生的数据进行实时计算并及时反馈结果,但通常不要求结果绝对精确。
  • 计算时机问题:在数据的有效时间内获取其价值是大数据流式计算系统的首要设计目标。当数据到来后,系统会立即对其进行计算或对一小段时间间隔的数据进行计算,而不会等待后续全部数据到来再进行计算。

流式大数据的特征

  • 实时性:流式大数据要求数据在产生后能够被即时处理和分析,以确保结果的时效性。
  • 易失性:流式数据往往具有短暂的生命周期,如果不能及时处理,数据可能会丢失或失效。
  • 突发性:流式数据的产生速率可能会突然增加,形成数据洪峰。
  • 无序性:流式数据在传输过程中可能会因为网络延迟等原因而乱序到达。
  • 无限性:流式数据是持续不断产生的,没有明确的结束点。

流式计算的关键技术

  • 系统架构:包括有中心节点的主从式架构和无中心节点的对称式系统架构。
  • 数据传输:包括主动推送方式和被动拉取方式。
  • 编程接口:方便用户根据流式计算的任务特征,通过有向任务图来描述任务内在逻辑和依赖关系,并编程实现任务图中各节点的处理功能。
  • 高可用技术:包括被动等待策略和主动等待策略。
  • 时间窗口动态数据处理:实时系统需要提供对动态数据的实时处理方法,以快速响应来自业务系统的即席查询请求。

流式处理框架的特征

  • 强实时处理流式处理需要确保数据的实时计算,同时也需要确保处理结果的实时发送。
  • 高容错能力:由于数据很容易丢失,这就需要系统具有一定的容错能力。
  • 动态变化:一般采用流式处理架构的应用场景都存在数据速率不固定的情况。
  • 多数据源:由于可能存在很多的数据源,而且各数据源、数据流之间又可能是相互独立的。
  • 数据时效性:系统在数据计算过程中,无法保存全部数据。

三大流式数据处理框架

  • Storm:提供原生流处理,延迟极低,但吞吐量较低且不支持状态管理。
  • Spark Streaming:采用微批处理模型,支持高吞吐量和状态管理,但延迟较高。
  • Flink:结合了原生流处理和微批处理的优点,提供低延迟、高吞吐量、精确一次的数据保证和强大的状态管理能力,适用于复杂的实时数据处理场景。

http://www.ppmy.cn/news/1565517.html

相关文章

C语言小任务——1000以内含有9的数字

步骤 第一步:分类 含有九的可能的情况: 个位有9,十位有9,百位有9,而根据组合数,我们可以得出,一共有7种情况,分别是 9##,#9#,##9, 99#,9#9,#…

数据结构——实验八·学生管理系统

嗨~~欢迎来到Tubishu的博客🌸如果你也是一名在校大学生,正在寻找各种编程资源,那么你就来对地方啦🌟 Tubishu是一名计算机本科生,会不定期整理和分享学习中的优质资源,希望能为你的编程之路添砖加瓦⭐&…

【技巧】优雅的使用 pnpm+Monorepo 单体仓库构建一个高效、灵活的多项目架构

单体仓库(Monorepo)搭建指南:从零开始 单体仓库(Monorepo)是一种将多个相关项目集中管理在一个仓库中的开发模式。它可以帮助开发者共享代码、统一配置,并简化依赖管理。本文将通过实际代码示例&#xff0…

Python绘制数据地图-MovingPandas

MovingPandas 是一个用于时空数据分析的 Python 库,它扩展了 Pandas 和 GeoPandas,使得处理和分析带有时间戳的地理数据变得更加方便。虽然 MovingPandas 本身不直接提供数据可视化功能,但你可以结合其他库如 matplotlib、folium 或 plotly 来…

蓝桥杯训练—矩形面积交

文章目录 一、题目二、示例三、解析四、代码 一、题目 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴,对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程写出两个矩形的交的面积 输入格式: 输入包含两行…

ICLR顶会论文学习|DRL-based改进启发式求解方法JSSP

论文名:Deep Reinforcement Learning Guided Improvement Heuristic for Job Shop Scheduling Authors: Cong Zhang, Zhiguang Cao, Wen Song, Yaoxin Wu, Jie Zh… 论文发表致:ICLR 2024 论文链接:https://doi.org/10.48550/arXiv.2211.1…

@Contended

Contended 是 Java 8 引入的一个注解,主要用于减少多线程环境下的伪共享(False Sharing)问题。伪共享是由于缓存行的争用导致的性能问题,特别是在多核处理器上。 ### Contended 注解的作用 - **减少伪共享**:当多个线…

循环队列(C语言)

从今天开始我会开启一个专栏leetcode每日一题,大家互相交流代码经验,也当作我每天练习的自我回顾。第一天的内容是leetcode622.设计循环队列。 一、题目详细 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO&#…