个人随笔
目录
大数据核心技术总结:使用场景与关联关系
2025-08-11 22:49:22

一、各技术核心使用场景

1. Sqoop

  • 关系型数据库(MySQL、Oracle等)与Hadoop生态(HDFS、Hive)之间的批量数据传输(导入/导出)。
  • 场景:离线历史数据迁移、定期增量数据同步(如每日同步业务数据到Hive做分析)。

2. HDFS

  • Hadoop生态的分布式底层存储系统,用于存储大规模文件(GB/TB级)。
  • 场景:作为Hive、Spark等工具的底层数据存储,保存日志、历史业务数据等。

3. Spark

  • 快速通用的分布式计算引擎,支持批处理、流处理、机器学习等。
  • 场景:离线数据清洗与分析(替代MapReduce)、准实时流处理(Spark Streaming)、机器学习模型训练。

4. Hive

  • 基于HDFS的数据仓库工具,通过类SQL(HQL)分析结构化数据。
  • 场景:离线数据分析、数据仓库构建(ETL)、复杂报表生成(依赖HDFS存储数据,Spark/Tez作为计算引擎)。

5. Flume

  • 分布式日志/事件数据采集工具,用于实时或准实时收集流式数据。
  • 场景:服务器日志(Nginx、Tomcat)采集并写入HDFS/Kafka,应用埋点数据传输。

6. YARN

  • Hadoop的分布式资源管理与调度框架,管理集群CPU、内存等资源。
  • 场景:为Spark、MapReduce、Flink等计算框架分配资源,实现多框架共享集群。

7. Azkaban

  • 开源工作流调度工具,用于管理依赖关系的批处理任务。
  • 场景:调度ETL流程(如Sqoop导入→Hive清洗→Spark分析)、定时执行周期性任务。

8. Airflow

  • 代码化工作流编排与调度平台,通过Python定义复杂任务流程。
  • 场景:复杂依赖的工作流管理(支持条件分支、并行任务)、数据 pipeline 自动化(与Spark、Hive等集成)。

9. Kafka

  • 高吞吐量分布式消息队列,用于实时数据流的传输与存储。
  • 场景:实时日志收集管道、流处理引擎(Flink/Spark Streaming)的数据源、系统间异步通信解耦。

二、技术之间的关联关系

1. 数据采集→存储→计算链路

  • Flume 采集日志数据 → 写入 Kafka 缓冲 → 实时计算引擎(如 Spark Streaming)消费 Kafka 数据处理;或 Flume 直接写入 HDFS,供 Hive/Spark 离线分析。
  • Sqoop 将关系型数据库数据导入 HDFS/Hive,通过 Spark 处理后,再用 Sqoop 导出回数据库。

    2. 存储与计算依赖

  • Hive 依赖 HDFS 存储数据,计算任务(HQL)通过 YARN 调度资源,由 Spark/MapReduce 执行。

  • Spark 可直接读取 HDFS、Hive 表或 Kafka 的数据进行计算,计算资源由 YARN 分配。

    3. 调度工具与任务管理

  • Azkaban/Airflow 调度 Sqoop 数据同步任务、Hive SQL 脚本、Spark 作业,按依赖关系(如“先同步数据,再计算”)有序执行。

  • YARN 为 Azkaban/Airflow 触发的计算任务(如 Spark 作业)分配资源,确保任务在集群中运行。

    4. 实时数据链路核心

  • Kafka 作为实时数据枢纽:上游通过 Flume 或生产者写入数据,下游供 Spark Streaming/Flink 消费处理,处理结果可写入 HDFS、数据库或回写 Kafka。

    5. 资源管理底层支撑

  • YARN 是 Hadoop 生态的“资源中枢”,为 Spark、MapReduce、Hive 等所有计算任务分配 CPU 和内存,实现集群资源的统一管理与高效利用。

 5

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2