大数据学习笔记

文章目录

  • 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:交互式数据可视化与报表生成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/79125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 自定义商标(Logo)的完整示例及配置说明( banner.txt 文件和配置文件属性信息)

Spring Boot 自定义商标&#xff08;Logo&#xff09;的完整示例及配置说明 1. Spring Boot 商标&#xff08;Banner&#xff09;功能概述 Spring Boot 在启动时会显示一个 ASCII 艺术的商标 LOGO&#xff08;默认为 Spring 的标志&#xff09;。开发者可通过以下方式自定义&a…

1. k8s的简介

Kubernetes&#xff08;k8s&#xff09;简介 1. 产生背景 随着云计算和微服务架构的兴起&#xff0c;传统的单体应用逐渐被拆分为多个小型、松耦合的服务&#xff08;微服务&#xff09;。这种架构虽然提升了开发灵活性和可维护性&#xff0c;但也带来了新的挑战&#xff1a;…

OpenCV 图形API(35)图像滤波-----中值模糊函数medianBlur()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用中值滤波器模糊图像。 该函数使用带有 ksizeksize 开口的中值滤波器来平滑图像。多通道图像的每个通道都是独立处理的。输出图像必须与输入…

03 UV

04 Display工具栏_哔哩哔哩_bilibili 讲的很棒 ctrlMMB 移动点 s 打针 ss 批量打针

PTA:古风排版

中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字符串&a…

每日一题(小白)暴力娱乐篇30

顺时针旋转&#xff0c;从上图中不难看出行列进行了变换。因为这是一道暴力可以解决的问题&#xff0c;我们直接尝试使用行列转换看能不能得到想要的结果。 public static void main(String[] args) {Scanner scan new Scanner(System.in);int nscan.nextInt();int mscan.next…

边缘计算场景下的模型轻量化:TensorRT部署YOLOv7的端到端优化指南

一、边缘计算场景下的技术挑战与优化路径 在边缘设备&#xff08;如Jetson系列&#xff09;部署YOLOv7需兼顾模型精度、推理速度与功耗限制三重约束。TensorRT作为NVIDIA官方推理加速库&#xff0c;通过算子融合、量化压缩和内存复用等优化技术&#xff0c;可将模型推理速度提…

rce漏洞学习

什么是rce漏洞 rce漏洞又称远程代码执行漏洞&#xff0c;它允许攻击者在目标服务器上远程执行任意代码或操作系统命令。rce漏洞通常出现在 应用程序提供给用户执行命令的接口&#xff0c;例如网页的ping功能也就是网页的url栏&#xff0c;如果不对上传的数据进行严格的管控就可…

VMware下Ubuntu空间扩容

目的&#xff1a; Ubuntu空间剩余不足&#xff0c;需要对Ubuntu进行扩容。 使用工具&#xff1a; 使用Ubuntu系统中的gparted工具进行系统扩容。 前提&#xff1a; 1、电脑有多余的未分配磁盘空间&#xff0c;比如我的Ubuntu磁盘G盘是200G&#xff0c;现在快满了&#xff0c…

国产数据库与Oracle数据库事务差异分析

数据库中的ACID是事务的基本特性&#xff0c;而在Oracle等数据库迁移到国产数据库国产中&#xff0c;可能因为不同数据库事务处理机制的不同&#xff0c;在迁移后的业务逻辑处理上存在差异。本文简要介绍了事务的ACID属性、事务的隔离级别、回滚机制和超时机制&#xff0c;并总…

Dockerfile 学习指南和简单实战

引言 Dockerfile 是一种用于定义 Docker 镜像构建步骤的文本文件。它通过一系列指令描述了如何一步步构建一个镜像&#xff0c;包括安装依赖、设置环境变量、复制文件等。在现实生活中&#xff0c;Dockerfile 的主要用途是帮助开发者快速、一致地构建和部署应用。它确保了应用…

青少年编程与数学 02-016 Python数据结构与算法 22课题、并行算法

青少年编程与数学 02-016 Python数据结构与算法 22课题、并行算法 一、GPU并行计算矩阵乘法示例 二、MPI并行计算allgather操作示例 三、Python中的并行计算多线程并行计算多进程并行计算 四、SIMD并行计算SIMD并行计算示例 总结 课题摘要: 并行算法是通过同时执行多个任务或操…

20250412 机器学习ML -(3)数据降维(scikitlearn)

1. 背景 数学小白一枚&#xff0c;看推理过程需要很多时间。好在有大神们源码和DS帮忙&#xff0c;教程里的推理过程才能勉强拼凑一二。 * 留意&#xff1a; 推导过程中X都是向量组表达: shape(feature, sample_n); 和numpy中的默认矩阵正好相反。 2. PCA / KPCA PCAKPCA(Li…

宿舍管理系统(servlet+jsp)

宿舍管理系统(servletjsp) 宿舍管理系统是一个用于管理学生宿舍信息的平台&#xff0c;支持超级管理员、教师端和学生端三种用户角色登录。系统功能包括宿舍管理员管理、学生管理、宿舍楼管理、缺勤记录、添加宿舍房间、心理咨询留言板、修改密码和退出系统等模块。宿舍管理员…

现代测试自动化框架教程:Behave接口测试与Airtest移动端UI自动化

前言 我发现每天还是陆陆续续有人在看我之前写的自动化框架搭建的文档&#xff1b;即使很早就有新的框架&#xff0c;更好的选择出来了&#xff1b;所以特别写了这一篇目前大厂也在使用的&#xff1b;日活400w有实际落地的自动化测试架构方案&#xff1b; 随着测试技术…

.NET Core DI(依赖注入)的生命周期及应用场景

在.NET中&#xff0c;依赖注入&#xff08;DI&#xff0c;Dependency Injection&#xff09;是一种设计模式&#xff0c;它通过将依赖关系注入到类中&#xff0c;而不是让类自己创建依赖项&#xff0c;来降低类之间的耦合度。这使得代码更加模块化、灵活和易于测试。在.NET中&a…

设计模式 --- 观察者模式

观察者模式是一种行为设计模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖它的对象都会得到通知并自动更新。 优点&#xff1a; ​​1.解耦性强​​&#xff1a; ​​观察者&#xff08;订阅者&#xff09;与主…

PasteForm框架开发之Entity多级嵌套的表单的实现

你相信么,使用PasteForm框架开发&#xff0c;管理端居然不要写代码&#xff01;&#xff01;&#xff01; 一起来看看PasteForm是否支持多级表模式(外表) 需求假设 假如有这么一个需求&#xff0c;就是订单表&#xff0c;包含了多级的信息&#xff0c;比如这个订单包含了哪些…

深入解析分类模型评估指标:ROC曲线、AUC值、F1分数与分类报告

标题&#xff1a;深入解析分类模型评估指标&#xff1a;ROC曲线、AUC值、F1分数与分类报告 摘要&#xff1a; 在机器学习中&#xff0c;评估分类模型的性能是至关重要的一步。本文详细介绍了四个核心评估指标&#xff1a;ROC曲线、AUC值、F1分数和分类报告。通过对比这些指标…

多模态医学AI框架Pathomic Fusion,整合了组织病理学与基因组的特征

小罗碎碎念 在医学AI领域&#xff0c;癌症的精准诊断与预后预测一直是关键研究方向。 这篇文章提出了Pathomic Fusion这一创新框架&#xff0c;致力于解决现有方法的局限。 传统上&#xff0c;癌症诊断依赖组织学与基因组数据&#xff0c;但组织学分析主观易变&#xff0c;基因…