当前位置: 首页 > news >正文

大数据学习笔记

文章目录

  • 1. 大数据概述
    • 1.1 大数据的特性
    • 1.2 大数据技术生态
      • 1.2.1 Hadoop 的概念特性
      • 1.2.2 Hadoop生态圈 — 核心组件与技术栈
      • 1.2.3 Hadoop生态演进趋势
  • 2. 数据处理流程与技术栈
    • 2.1 数据采集
      • 2.1.1 日志采集工具
      • 2.1.2 实时数据流
      • 2.1.3 数据迁移
    • 2.2 数据预处理
      • 2.2.1 批处理
      • 2.2.2 流处理
      • 2.2.3 混合处理
    • 2.3 数据存储与管理
      • 2.3.1 分布式文件系统
      • 2.3.2 结构化/半结构化存储
      • 2.3.3 实时存储优化
    • 2.4 数据分析与挖掘
      • 2.4.1 SQL引擎
      • 2.4.2 OLAP分析
      • 2.4.3 机器学习与AI
    • 2.5 数据可视化

理解这些概念、框架、常用技术栈,后续学习、实践中大体有个数。

1. 大数据概述

1.1 大数据的特性

  1. 规模性
    以 PB、EB、ZB 为计量单位。(M<G<T<P<E<Z)

1GB = 1024 MB、1TB = 1024GB
1PB = 1024TB、1EB = 1024PB、1ZB = 1024EB

  1. 多样性
    数据来源多、类型复杂、数据关联性强

关于数据类型:
 结构化数据——财务系统、业务系统、医疗系统等产生的数据
 半结构化数据——html文档、xml文档、邮件等
 非结构化数据——音视频、图片等

  1. 高速性
    单位时间内流量高,数据增长速度快,且要求数据处理响应速度要快,一般要实时处理与分析
  2. 价值性
    从大量不相关的各类数据中,挖掘出对未来趋势、模式预测有价值的数据。如金融风控、实时健康监控、零售业的精准营销等。
  3. 准确性
    收集的数据要真实、准确、有意义。如根据电影评分、评论分析电影,进行购票
  4. 动态性
    大数据是根据互联网技术产生的实时的、动态的数据
  5. 可视化
    数据可视化,直观的解释数据的意义
  6. 合法性
    数据收集必须遵照国家政策与法律规定,且规避掉个人隐私数据、企业内部数据的收集,除非得到授权许可。

1.2 大数据技术生态

1.2.1 Hadoop 的概念特性

  Hadoop是分布式大数据处理的基础框架,其生态圈通过模块化组件解决了数据存储、计算、管理和分析的全流程问题。其核心价值在于低成本处理海量数据。Hadoop底层数据存储使用副本机制,默认为3个(高可靠);集群支持热插拔,增删节点后,无需重启集群(高扩展);MapReduce支持分布式的并行计算(高效率);能自动将失败任务重新分配(高容错);可运行在低成本的机器上(低成本)。

  Hadoop核心设计理念:分布式存储(HDFS) 和 分布式计算(MapReduce),并在此基础上衍生出丰富的工具链。

1.2.2 Hadoop生态圈 — 核心组件与技术栈

  1. 存储层
  • HDFS(Hadoop Distributed File System)

    在这里插入图片描述
    功能:分布式文件系统,将数据分块存储在集群节点上,支持高容错、高吞吐。
    场景:存储原始日志、非结构化数据(如文本、图片)。
    优化:与纠删码(Erasure Coding)结合降低存储成本。
    在这里插入图片描述

  • HBase

    是一个分布式,面向列的开源数据库,适合存半结构化、非结构化数据。
    功能:分布式 NoSQL 数据库,基于 HDFS 实现低延迟随机读写。
    在这里插入图片描述
    场景:实时查询(如用户画像、订单状态)。
    特点:强一致性、列式存储、支持海量稀疏数据。

  • 云存储集成

    Amazon S3、阿里云 OSS:替代 HDFS 作为存储层,支持存算分离架构。

  1. 计算层
  • MapReduce

    在这里插入图片描述
    功能:经典的批处理框架,分 Map(映射)和 Reduce(归约)两阶段。
    局限:磁盘 I/O 开销大,适合离线场景(如历史数据统计)。
    在这里插入图片描述
    在这里插入图片描述

  • Spark

    功能:基于内存的分布式计算引擎,兼容 MapReduce 但性能提升 10~100 倍。
    场景:ETL、机器学习(MLlib)、图计算(GraphX)。
    优势:支持 SQL(Spark SQL)、流处理(Spark Streaming)。
    Spark支持实时计算,支持离线计算,基于内存计算,支持迭代计算。
    在这里插入图片描述

  • Tez

    功能:优化 Hive/Pig 等工具的 DAG(有向无环图)执行效率,替代传统 MapReduce。

  1. 资源管理与调度
  • YARN(Yet Another Resource Negotiator)

    功能:Hadoop 2.0 引入的资源管理器,解耦计算与资源调度。
    作用:支持多计算框架(如 MapReduce、Spark、Flink)共享集群资源。
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cd7bbd3ad80542d8a666e899e7ea6d93.png

  • Kubernetes 集成

    趋势:Hadoop 生态向容器化演进(如 Spark on K8s、Flink on K8s)。

  1. 数据管理与查询
  • Hive

    是一个基于Hadoop的数据仓库ETL工具,完成数据提取、转换、加载的功能。
    功能:基于 HDFS 的数据仓库工具,通过 SQL(HiveQL)查询大规模数据,解决结构化数据的查询与统计。
    在这里插入图片描述优化:LLAP(Live Long and Process)实现近实时查询。

  • Presto/Trino

    功能:分布式 SQL 查询引擎,支持跨数据源(HDFS、MySQL、Kafka)联邦查询。
    场景:交互式分析,替代 Hive 执行复杂查询。

  • Impala

    功能:MPP(大规模并行处理)引擎,提供低延迟 SQL 查询(类似 Hive 但更高效)。

  1. 数据采集与同步
  • Sqoop

    是一个在HDFS和RDMS间传数据的工具,负责关系型数据库(MySQL/Oracle)与 Hadoop(HDFS/Hive)之间的批量数据迁移。
    在这里插入图片描述
    在这里插入图片描述

  • Flume

    功能:是一个大数据集日志收集的框架,分布式日志采集工具,支持多级数据管道和容错传输。
    在这里插入图片描述
    在这里插入图片描述

  • Kafka

    功能:高吞吐消息队列,用于实时数据流接入(如日志、传感器数据)。

  1. 工作流与治理
  • Oozie

    功能:Hadoop 任务调度工具,支持复杂依赖关系的批处理作业编排,是一个管理Hadoop相关作业的工作流调度系统。
    运行在Java Servlet容器中,用于定时调度任务、按执行的逻辑顺序调度多个任务。
    在这里插入图片描述

  • Atlas

    功能:元数据管理与数据治理,支持数据血缘追踪和合规审计。

  • Ranger

    功能:统一权限管理框架,控制 HDFS、Hive、Kafka 等组件的访问权限。

  1. 其他重要组件
  • Mahout

分布式机器学习库,专注于大规模数据集的机器学习算法(如分类、聚类、推荐系统)。
特点:

  • 提供可扩展的算法实现,适合处理 TB 级数据。
  • 支持多种计算框架(MapReduce → Spark → Flink)。
  • 强调数学抽象,允许用户自定义算法扩展。

优势:支持超大规模数据集训练;算法可定制性强,适合科研和特殊业务需求;无缝对接 HDFS、Hive 等数据源。
劣势:需熟悉分布式计算和线性代数抽象,开发门槛高;落后于 Spark MLlib、TensorFlow 等框架。相比主流框架(如 PyTorch),更新和维护较慢。

  • Pig

功能:主要用于简化大规模数据集的复杂处理与分析任务。
核心特性:Pig 脚本会被解析为逻辑执行计划(DAG),经过优化器优化后转换为 MapReduce 任务,自动处理数据分区、任务并行度等细节。
在这里插入图片描述
优势:Pig 更适合批处理场景,语法更贴近 SQL;Spark 则在迭代计算和实时处理上性能更优。逐渐支持在 Kubernetes 上运行,并与云存储(如 Amazon S3)集成,推动存算分离架构

  • ZoopKeeper

功能:是一个分布式协调服务,用于解决分布式系统中的一致性、配置管理、命名服务、分布式锁等问题。
在这里插入图片描述

  • Ambari

是 Hadoop 生态中的 集群管理与监控工具,旨在简化 Hadoop 组件的部署、配置、运维和监控,提供 Web UI 和 REST API,降低大数据平台的管理门槛。
在这里插入图片描述

1.2.3 Hadoop生态演进趋势

  1. 云原生转型
    存储层:HDFS 逐步被云对象存储(S3/OSS)替代,实现存算分离。
    计算层:Spark/Flink 等框架支持 Kubernetes 调度,提升弹性扩缩容能力。
  2. 实时化与流批一体
    MapReduce 被 Spark/Flink 取代,Flink 成为流处理首选(低延迟、Exactly-Once 语义)。
  3. SQL 化与自动化
    Hive LLAP、Flink SQL 等工具降低开发门槛,推动数据分析平民化。
  4. 与 AI 生态融合
    Spark MLlib、TensorFlow on YARN 支持大规模机器学习模型训练。

  随着云原生和实时计算的发展,其组件(如 HDFS、MapReduce)会逐渐被优化或替代。未来 Hadoop 将更多以混合架构形式存在(如 Hive on S3、Spark on K8s),与云服务、实时引擎(Flink)深度整合。

2. 数据处理流程与技术栈

大数据处理流程:
在这里插入图片描述

2.1 数据采集

2.1.1 日志采集工具

    Flume:分布式日志收集系统,适用于多服务器场景。Logstash:支持多种数据源的采集与聚合,常与Elasticsearch、Kibana(ELK栈)结合使用。

2.1.2 实时数据流

    Kafka:高吞吐量消息队列,用于数据缓冲和实时流处理。Canal:基于MySQL Binlog的实时数据同步工具,用于数据库增量数据抽取。

2.1.3 数据迁移

    Sqoop:关系型数据库与Hadoop生态(HDFS/Hive/HBase)间的批量数据迁移。DataX:插件化数据同步工具,支持全量与增量数据迁移。

2.2 数据预处理

2.2.1 批处理

    Apache Spark:基于内存的分布式计算引擎,支持复杂ETL和机器学习。Hadoop MapReduce:经典的离线处理框架,适合大规模数据批量计算。

2.2.2 流处理

流处理主导:Flink因低延迟和状态管理优势逐渐取代Storm,成为实时计算首选。

    Apache Flink:低延迟的真流处理框架,支持流批一体和状态计算。Spark Streaming:微批处理模式,与Spark生态无缝集成。

2.2.3 混合处理

    Flink SQL:通过SQL实现流批统一处理,简化开发流程

2.3 数据存储与管理

2.3.1 分布式文件系统

    HDFS:Hadoop生态核心存储,支持海量非结构化数据存储。云存储:Amazon S3、阿里云OSS等对象存储服务。

2.3.2 结构化/半结构化存储

    HBase:面向列的分布式NoSQL数据库,适合随机读写场景。MongoDB:文档型数据库,灵活存储半结构化数据。

2.3.3 实时存储优化

    Kudu:兼顾随机读写与批量分析的列式存储系统,与HDFS互补。Alluxio:内存加速的分布式存储抽象层,提升跨系统数据访问效率。

2.4 数据分析与挖掘

2.4.1 SQL引擎

    Hive:基于Hadoop的SQL查询工具,将SQL转换为MapReduce任务。Presto:分布式MPP查询引擎,支持跨数据源(HDFS、RDBMS等)快速查询。

2.4.2 OLAP分析

    Apache Kylin:预计算多维分析引擎,适用于亚秒级查询响应。ClickHouse:高性能列式数据库,适合实时分析场景。

2.4.3 机器学习与AI

    TensorFlow、PyTorch:分布式模型训练与推理框架。Spark MLlib:集成于Spark的机器学习库

2.5 数据可视化

    Tableau、Power BI:交互式数据可视化与报表生成。

相关文章:

  • 软件定义网络(SDN):重塑未来网络的革命性架构
  • SQL学习-关联查询(应用于多表查询)
  • rk3588 驱动开发(一)字符设备开发
  • 《 Reinforcement Learning for Education: Opportunities and Challenges》全文阅读
  • 每日文献(十三)——Part one
  • kylin系统软件移植部署过程中遇到的问题及解决方案
  • WINUI——Background小结
  • Kotlin 与 Jetpack Compose 参数设计完全指南
  • Endnote 21显示字段设置与修改详细解析(附Endnote Click)
  • 性能优化实践
  • 关于flowable工作流的研究与初步使用
  • ​​​​​​​今日github AI科技工具汇总(20250415更新)
  • MODBUS RTU time_out实现
  • LLM中的N-Gram、TF-IDF和Word embedding
  • 从“数据孤岛”到“万物互联”,PLC组网重构工控边界
  • STM32 HAL库 DAC生成正弦波
  • 返工成本高,如何优化验收流程
  • MyBatis SqlSessionFactory 批量执行实战
  • Transformer编程题目,结合RTX 3060显卡性能和市场主流技术
  • 【差分隐私相关概念】瑞丽差分隐私(RDP)命题10
  • 著名哲学家、中山大学哲学系原系主任李锦全逝世
  • 土耳其发生6.2级地震,震源深度10千米
  • 不朽诗篇的现代重生,意大利音乐剧《神曲》将来华15城巡演
  • 直播中抢镜“甲亢哥”的翁东华卸任!此前任文和友小龙虾公司董事
  • 董明珠连任格力电器董事,回应管理层年轻化
  • 成都市政府秘书长王忠诚调任遂宁市委副书记