0%

名词解释

大数据领域核心名词解释

在大数据技术体系中,各类计算模式、编程模型和数据结构是理解分布式系统的基础。以下对离线计算、实时计算等核心名词进行详细解析,明确其定义、特点及应用场景。

1. 离线计算(Offline Computing)

定义:一种基于静态数据的分布式计算模式,数据预先存储在分布式文件系统(如 HDFS)中,计算过程在 “离线” 状态下批量执行,不依赖实时数据输入。

核心特点

  • 数据静态性:计算依赖已收集完成的全量数据(如历史日志、归档数据);
  • 高延迟容忍:计算周期较长(从分钟到小时级),不要求实时输出结果;
  • 高吞吐量:适合处理 PB 级大规模数据,充分利用集群资源进行并行计算。

典型应用

  • 日志分析(如用户行为统计、系统故障复盘);
  • 数据报表生成(如日 / 周 / 月业务报表);
  • 机器学习模型训练(基于历史数据训练分类 / 回归模型)。

代表技术:Hadoop MapReduce、Spark Batch Processing。

2. 实时计算(Real-Time Computing)

定义:一种低延迟的增量计算模式,数据以流的形式实时输入,计算过程在短时间内(毫秒到秒级)完成并输出结果,强调数据处理的即时性。

核心特点

  • 数据动态性:数据持续生成并实时流入计算系统(如用户行为日志、传感器数据);
  • 低延迟:计算周期极短,结果需快速反馈(如实时推荐、异常告警);
  • 增量处理:无需等待全量数据,基于新产生的增量数据进行计算。

与离线计算的本质区别

  • 离线计算是 “先存储后计算”,依赖全量历史数据,延迟高;
  • 实时计算是 “边产生边计算”,依赖增量数据流,延迟低。

典型应用

  • 实时监控(如服务器负载告警、电商交易风控);
  • 即时推荐(如短视频推荐、商品推荐);
  • 流数据处理(如物联网设备实时数据聚合)。

代表技术:Flink、Spark Streaming、Storm。

3. 迭代计算(Iterative Computing)

定义:一种分阶段的计算模式,计算过程需多轮迭代执行,上一阶段的输出结果作为下一阶段的输入,直至满足终止条件(如收敛或达到最大迭代次数)。

核心特点

  • 阶段性依赖:每一轮迭代依赖前一轮的结果,形成 “输入→计算→输出→下一阶段输入” 的闭环;
  • 中间结果复用:中间数据需高效存储(优先内存),减少磁盘 IO 开销;
  • 收敛性目标:常见于数值计算或优化问题(如梯度下降、图算法)。

优化关键

  • 中间结果保存在内存(如 Spark 的 RDD 缓存机制),避免频繁读写分布式文件系统;
  • 减少跨节点数据传输,通过数据本地化提升效率。

典型应用

  • 机器学习算法(如逻辑回归、K-Means 聚类的梯度迭代);
  • 图计算(如 PageRank 算法的多轮迭代评分更新);
  • 数值优化问题(如线性方程组求解)。

代表技术:Spark MLlib、GraphX、Flink Gelly。

4. MPI(Message Passing Interface)

定义:消息传递并行编程的行业标准规范,定义了一套跨语言的 API,用于多进程间的通信与同步,支持分布式内存系统中的并行计算。

核心特点

  • 标准化接口:独立于硬件和操作系统,支持 C、C++、Fortran 等语言;
  • 消息传递机制:进程通过发送(send)和接收(recv)消息实现数据交换;
  • 点对点与集体通信:支持单个进程间通信(点对点)和多进程协同通信(如广播、汇聚)。

应用场景

  • 高性能计算(HPC)领域,如科学计算、数值模拟;
  • 需紧密协作的并行任务(如流体力学模拟、分子动力学计算)。

与 MapReduce 的区别

  • MPI 强调进程间细粒度通信,适合计算密集型任务;
  • MapReduce 抽象了通信细节,适合数据密集型任务,无需手动管理进程通信。

5. DAG(Directed Acyclic Graph)

定义:有向无环图,由有向边顶点组成,顶点表示任务或操作,边表示任务间的依赖关系,且不存在循环依赖(无环)。

核心特点

  • 有向性:任务执行顺序由边的方向决定(如任务 B 依赖任务 A,则 A→B);
  • 无环性:不存在从某一顶点出发回到自身的路径,避免死锁;
  • 并行性:无依赖关系的顶点(任务)可并行执行,提升效率。

在大数据中的应用

  • 任务调度:分布式计算框架(如 Spark、Flink)将作业解析为 DAG,优化任务执行顺序(如 Spark 的 DAG Scheduler);
  • 数据流程建模:表示数据处理的流水线(如 “数据采集→清洗→转换→存储” 的流程);
  • 机器学习工作流:定义模型训练的步骤(如 “数据预处理→特征工程→模型训练→评估”)。

示例
在 Spark 中,一个 WordCount 作业的 DAG 可能包含:读取文件(TextFile)→ 拆分单词(FlatMap)→ 计数(MapReduce)→ 输出(SaveAsTextFile),各步骤按依赖顺序执行,无循环。

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10

域名更新通知

您好!我们的官方域名已更新为 zhhll.com.cn。 请收藏新域名以获取最佳访问体验。