大數據學習筆記

文章目錄

  • 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.pswp.cn/diannao/79125.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79125.shtml
英文地址,請注明出處:http://en.pswp.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;基因…