【知识点总结】大数据技术原理与应用
大數(shù)據(jù)技術(shù)原理與應(yīng)用
本文是對《大數(shù)據(jù)與云計(jì)算導(dǎo)論》課程知識點(diǎn)的應(yīng)試總結(jié)。基本涵蓋了《大數(shù)據(jù)技術(shù)原理與應(yīng)用》的重點(diǎn)內(nèi)容。
思維導(dǎo)圖由@福爾摩東整理
第一章 大數(shù)據(jù)概述
1、三次信息化浪潮
| 第一次浪潮 | 1980年前后 | 個(gè)人計(jì)算機(jī) | 信息處理 | Intel、AMD、IBM |
| 第二次浪潮 | 1995年前后 | 互聯(lián)網(wǎng) | 信息傳輸 | 雅虎、谷歌、阿里巴巴 |
| 第三次浪潮 | 2010年前后 | 物聯(lián)網(wǎng)、云計(jì)算和大數(shù)據(jù) | 信息爆炸 | 亞馬遜、谷歌、阿里云 |
注:信息化浪潮每15年一次。
2、信息科技為大數(shù)據(jù)時(shí)代提供技術(shù)支持
存儲設(shè)備容量不斷增加
存儲單位:bit、Byte、KB、MB、GB、TB、PB、EB(ZB、YB、BB、NB、DB)
CPU處理能力大幅提升
網(wǎng)絡(luò)帶寬不斷增加
3、大數(shù)據(jù)的特點(diǎn)(5個(gè))
4、大數(shù)據(jù)的影響
1、大數(shù)據(jù)對科學(xué)研究的影響
人類自古以來在科學(xué)研究上先后經(jīng)歷了實(shí)驗(yàn)、理論、計(jì)算和數(shù)據(jù)四種范式:
2、大數(shù)據(jù)對思維方式的影響
5、大數(shù)據(jù)關(guān)鍵技術(shù)
- 數(shù)據(jù)采集與預(yù)處理
- 數(shù)據(jù)存儲和管理
- 數(shù)據(jù)處理與分析
- 數(shù)據(jù)安全和隱私保護(hù)
6、大數(shù)據(jù)計(jì)算模式
| 批處理計(jì)算 | 針對大規(guī)模數(shù)據(jù)的批量處理 | MapReduce、Spark等 |
| 流計(jì)算 | 針對流數(shù)據(jù)的實(shí)時(shí)計(jì)算 | Strom、Stream、銀河流數(shù)據(jù)處理平臺等 |
| 圖計(jì)算 | 針對大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)的處理 | Pregel、GraphX、PowerGraph等 |
| 查詢分析計(jì)算 | 大規(guī)模數(shù)據(jù)的存儲管理和查詢分析 | Dremel、Hive等 |
7、云計(jì)算
1、概念
通過網(wǎng)絡(luò)提供可伸縮的、廉價(jià)的分布式計(jì)算能力
2、云計(jì)算的關(guān)鍵技術(shù)
8、物聯(lián)網(wǎng)
1、概念
物物相連的互聯(lián)網(wǎng)
從技術(shù)架構(gòu)上來看,物聯(lián)網(wǎng)可分為四層:感知層、網(wǎng)絡(luò)層、處理層和應(yīng)用層
2、物聯(lián)網(wǎng)關(guān)鍵技術(shù)
9、大數(shù)據(jù)與云計(jì)算、物聯(lián)網(wǎng)的關(guān)系
- 區(qū)別:大數(shù)據(jù)側(cè)重于海量數(shù)據(jù)的存儲、處理與分析,從海量數(shù)據(jù)中發(fā)現(xiàn)價(jià)值,服務(wù)于生產(chǎn)和生活;云計(jì)算本質(zhì)上旨在整合和優(yōu)化各種IT資源,并通過網(wǎng)絡(luò)以服務(wù)的方式廉價(jià)地提供給用戶;物聯(lián)網(wǎng)的發(fā)展目標(biāo)是實(shí)現(xiàn)物物相連,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)發(fā)展的核心。
- 聯(lián)系:大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)三者相輔相成。大數(shù)據(jù)根植于云計(jì)算,大數(shù)據(jù)分析的很多技術(shù)都來自于云計(jì)算,云計(jì)算的分布式數(shù)據(jù)存儲和管理系統(tǒng)提供了海量數(shù)據(jù)的存儲和管理能力,分布式并行處理框架MapReduce提供了海量數(shù)據(jù)的分析能力;大數(shù)據(jù)為云計(jì)算提供了“用武之地”;物聯(lián)網(wǎng)的傳感器源源不斷產(chǎn)生的大量數(shù)據(jù),構(gòu)成了大數(shù)據(jù)的重要來源,同時(shí)物聯(lián)網(wǎng)需要借助于云計(jì)算和大數(shù)據(jù)技術(shù),實(shí)現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)的存儲、分析和處理。
第二章 大數(shù)據(jù)處理框架Hadoop
1、Hadoop簡介
Hadoop是一個(gè)開源分布式計(jì)算平臺
Hadoop的核心包括:HDFS(前身:NDFS)和MapReduce。
2、Hadoop的特性
- 高可靠性
- 高效性
- 高擴(kuò)展性
- 高容錯(cuò)性
- 成本低
- 運(yùn)行在Linux平臺上
- 支持多種編程語言
第三章 分布式文件系統(tǒng)HDFS
1、HDFS含義
Hadoop分布式文件系統(tǒng),是GFS的開源實(shí)現(xiàn)
2、DFS含義
分布式文件系統(tǒng)(DFS)是一種通過網(wǎng)絡(luò)實(shí)現(xiàn)文件在多臺主機(jī)上進(jìn)行分布式存儲的文件系統(tǒng)
3、分布式文件系統(tǒng)的結(jié)構(gòu)
- 主節(jié)點(diǎn)(Master Node):名稱節(jié)點(diǎn)(NameNode)
- 從節(jié)點(diǎn)(Slave Node):數(shù)據(jù)節(jié)點(diǎn)(DataNode)
4、分布式文件系統(tǒng)的設(shè)計(jì)需求
分布式文件系統(tǒng)的設(shè)計(jì)目標(biāo)主要包括:透明性、并發(fā)控制、可伸縮性、容錯(cuò)以及安全需求等。
5、HDFS特性
1、目標(biāo)
2、局限性
6、HDFS相關(guān)概念
1、塊
以數(shù)據(jù)塊為單位進(jìn)行存儲(1.0默認(rèn)64MB)
**目的:**最小化尋址開銷
好處:
2、名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)
名稱節(jié)點(diǎn)的核心數(shù)據(jù)結(jié)構(gòu):FsImage和EditLog。
| 存儲元數(shù)據(jù) | 存儲文件內(nèi)容 |
| 元數(shù)據(jù)存在內(nèi)存中 | 文件內(nèi)容保存在磁盤中 |
| 保存文件Block于DataNode間的映射關(guān)系 | 維護(hù)Block與DataNode本地文件的映射關(guān)系 |
3、第二名稱節(jié)點(diǎn)
作用:
7、HDFS體系結(jié)構(gòu)
1、HDFS命名空間管理
HDFS的命名空間包含目錄、文件和塊。
HDFS集群中只有一個(gè)命名空間,并且只有唯一一個(gè)名稱節(jié)點(diǎn)。
2、通信協(xié)議
- 構(gòu)建在TCP/IP協(xié)議基礎(chǔ)之上
- 使用客戶端協(xié)議與名稱節(jié)點(diǎn)進(jìn)行交互
- 名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)之間使用數(shù)據(jù)節(jié)點(diǎn)協(xié)議進(jìn)行交互
- 客戶端與數(shù)據(jù)節(jié)點(diǎn)的交互通過RPC實(shí)現(xiàn)
3、局限性
8、HDFS的存儲原理
數(shù)據(jù)的冗余存儲、數(shù)據(jù)存取策略、數(shù)據(jù)錯(cuò)誤與恢復(fù)
1、數(shù)據(jù)的冗余存儲
優(yōu)點(diǎn):
2、數(shù)據(jù)存取策略
1、數(shù)據(jù)存放
冗余因子默認(rèn)為3。
**內(nèi)部請求:**第一個(gè)副本放置在寫操作請求的數(shù)據(jù)節(jié)點(diǎn)上;
**外部請求:**挑一個(gè)不太忙的數(shù)據(jù)節(jié)點(diǎn),第二個(gè)副本放置在不同于第一個(gè)副本的機(jī)架的數(shù)據(jù)節(jié)點(diǎn)上,第三個(gè)副本放置在第一個(gè)副本的機(jī)架的其他數(shù)據(jù)節(jié)點(diǎn)上。
2、數(shù)據(jù)讀取
當(dāng)發(fā)現(xiàn)某個(gè)數(shù)據(jù)塊副本對應(yīng)的機(jī)架ID與客戶端對應(yīng)的ID一樣時(shí),優(yōu)先選擇該副本,否則就隨機(jī)。
3、數(shù)據(jù)復(fù)制
采用流水線復(fù)制的策略(4KB)
3、數(shù)據(jù)錯(cuò)誤與恢復(fù)
9、HDFS常用命令
- hadoop fs -get
- hadoop fs -put
第四章 分布式數(shù)據(jù)庫HBase
1、HBase含義
Hadoop DataBase(HBase)是針對谷歌BigTable的開源實(shí)現(xiàn)。
2、HBase與傳統(tǒng)關(guān)系數(shù)據(jù)庫的對比分析
| 數(shù)據(jù)類型 | 具有豐富的數(shù)據(jù)類型和存儲方式 | 未經(jīng)解釋的字符串 |
| 數(shù)據(jù)操作 | 豐富的操作 | 不存在復(fù)雜的表與表之間的關(guān)系 |
| 存儲模式 | 基于行模式存儲 | 基于列存儲 |
| 數(shù)據(jù)索引 | 可以構(gòu)建復(fù)雜的多個(gè)索引 | 只有一個(gè)索引——行鍵 |
| 數(shù)據(jù)維護(hù) | 更新操作會用最新的當(dāng)前值去替代舊值 | 生成一個(gè)新的版本,舊有版本依然保留 |
| 可伸縮性 | 很難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展空間有限 | 可實(shí)現(xiàn)靈活的水平擴(kuò)展 |
3、HBase數(shù)據(jù)模型
1、相關(guān)概念
HBase是一個(gè)稀疏、多維、持久化存儲的映射表,它采用行鍵、列族、列限定符和時(shí)間戳進(jìn)行索引。
2、數(shù)據(jù)坐標(biāo)
“四維坐標(biāo)”:[行鍵,列族,列限定符,時(shí)間戳]
4、HBase實(shí)現(xiàn)原理
1、HBase的功能組件
- 庫函數(shù)
- 一個(gè)Master主服務(wù)器
- 許多個(gè)Region服務(wù)器
2、Region的定位
Region標(biāo)識符:“表名+開始主鍵、RegionID”
5、HBase運(yùn)行機(jī)制
1、HBase系統(tǒng)架構(gòu)
2、Region服務(wù)器的工作原理
每個(gè)Region對象又是由多個(gè)Store組成的,每個(gè)Store對應(yīng)了表中的一個(gè)列族的存儲。
每個(gè)Store又包含了一個(gè)MemStore和若干個(gè)StoreFile。
6、HBase常用Shell命令
- create:創(chuàng)建表
- list:列出HBase中所有的表信息
- put:向表、行、列指定的單元格添加數(shù)據(jù)
- get:通過指定表名、行、列、時(shí)間戳、時(shí)間范圍和版本號來獲得相應(yīng)單元格的值
- scan:瀏覽表的相關(guān)信息
第五章 NoSQL數(shù)據(jù)庫
1、NoSQL簡介
1、含義
Not Only SQL
2、特點(diǎn)
2、NoSQL的四大類型
| 鍵值數(shù)據(jù)庫 | Redis、Memcached |
| 列族數(shù)據(jù)庫 | Cassandra、HBase |
| 文檔數(shù)據(jù)庫 | MongoDB |
| 圖數(shù)據(jù)庫 | Neo4j |
3、NoSQL的三大基石
1、CAP
- C(Consistency):一致性
- A(Availability):可用性
- P(Tolerance of Network Partition):分區(qū)容忍性
CAP理論最多同時(shí)滿足三個(gè)中的兩個(gè)。
CA。強(qiáng)調(diào)一致性(C)和可用性(A),放棄分區(qū)容忍性(P)。
eg:傳統(tǒng)的關(guān)系數(shù)據(jù)庫(MySQL、SQL Server等)。
CP。強(qiáng)調(diào)一致性(C)和分區(qū)容忍性(P),放棄可用性(A)。
eg:Neo4j、BigTable和HBase等。
AP。強(qiáng)調(diào)可用性(A)和分區(qū)容忍性(P),放棄一致性(C)。
eg:Cassandra、Dynamo等。
2、BASE
BASE
- BA(Basically Available):基本可用
- S(Soft-state):軟狀態(tài)
- E(Eventual consistency):最終一致性
ACID:一個(gè)數(shù)據(jù)庫事務(wù)具有ACID四性
- A(Atomicity):原子性
- C(Consistency):一致性
- I(Isolation):隔離性
- D(Durability):持久性
4、三個(gè)數(shù)據(jù)庫陣營
- OldSQL(傳統(tǒng)關(guān)系數(shù)據(jù)庫)
- NoSQL
- NewSQL
第六章 云數(shù)據(jù)庫
1、云數(shù)據(jù)庫概念
云數(shù)據(jù)庫是部署和虛擬化在云計(jì)算環(huán)境中的數(shù)據(jù)庫。
2、云數(shù)據(jù)庫的特性
第七章 MapReduce
1、MapReduce簡介
MapReduce是一種分布式并行編程框架,以Map和Reduce為核心函數(shù)。
MapReduce的設(shè)計(jì)理念:計(jì)算向數(shù)據(jù)靠攏。
Map函數(shù)和Reduce函數(shù)都以<key,value>作為輸入。
2、MapReduce的工作流程
第八章 Hadoop再探討
1、針對Hadoop的改進(jìn)與提升
| HDFS | 單一名稱節(jié)點(diǎn),存在單點(diǎn)失效問題 | 設(shè)計(jì)了HDFS HA,提供名稱節(jié)點(diǎn)熱備份機(jī)制 |
| HDFS | 第一命名空間,無法實(shí)現(xiàn)資源隔離 | 設(shè)計(jì)了HDFS聯(lián)邦,管理多個(gè)命名空間 |
| MapReduce | 資源管理效率低 | 設(shè)計(jì)理新的資源管理框架YARN |
2、HDFS 2.0的新特性
1、HDFS HA
2、HDFS聯(lián)邦
優(yōu)勢:
3、新一代資源管理調(diào)度框架YARN
1、YARN體系結(jié)構(gòu)
YARN體系結(jié)構(gòu)包含了三個(gè)組件:
2、YARN的發(fā)展目標(biāo)
YARN的目標(biāo)就是實(shí)現(xiàn)“一個(gè)集群多個(gè)框架”,即在一個(gè)集群上部署一個(gè)統(tǒng)一的資源調(diào)度管理框架YARN,在YARN之上可以部署其他各種計(jì)算框架。
3、Hadoop生態(tài)系統(tǒng)中具有代表性的功能組件
1、Pig
提供了類似SQL的Pig Latin語言。
Pig會自動把用戶編寫的腳本轉(zhuǎn)換成MapReduce作業(yè)在Hadoop集群上運(yùn)行。
2、Tez
Tez是Apache開源的支持DAG作業(yè)的計(jì)算框架。
核心思想:將Map和Reduce兩個(gè)操作進(jìn)一步拆分。
3、Kafka
一種分布式發(fā)表訂閱消息系統(tǒng)。
滿足在線實(shí)時(shí)處理和批量離線處理。
第九章 Spark
1、Spark簡介
Spark是基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架。
特點(diǎn):
2、Scala簡介
Scala是一門多范式編程語言,面向函數(shù)編程。
3、Spark運(yùn)行架構(gòu)
1、基本概念
2、RDD
**概念:**分布式對象集合。
依賴關(guān)系:
- 窄依賴:一個(gè)父RDD的分區(qū)對應(yīng)于一個(gè)子RDD的分區(qū),或多個(gè)父RDD的分區(qū)對應(yīng)于一個(gè)子RDD的分區(qū);
- 寬依賴:存在一個(gè)父RDD的一個(gè)分區(qū)對應(yīng)于一個(gè)子RDD的多個(gè)分區(qū)。
第十章 流計(jì)算
1、流計(jì)算概述
1、流計(jì)算概念
流計(jì)算即針對流數(shù)據(jù)的實(shí)時(shí)計(jì)算。
2、批量處理和實(shí)時(shí)處理
2、流計(jì)算的處理流程
- 數(shù)據(jù)實(shí)時(shí)采集
- 數(shù)據(jù)實(shí)時(shí)計(jì)算
- 實(shí)時(shí)查詢服務(wù)
3、開源流計(jì)算框架Storm
Storm的設(shè)計(jì)思想:
Streams
流數(shù)據(jù)(Streams)是一個(gè)無限的Tuple序列。
Spouts
Spouts是Stream的源頭,會從外部讀取流數(shù)據(jù)并持續(xù)發(fā)出Tuple。
Bolts
Bolts既可以處理Tuple,也可以將處理后的Tuple作為新的Streams發(fā)給其他Bolts。
Topology
Spouts和Bolts組成的網(wǎng)絡(luò)。
Stream Groupings
用于告知Topology如何在兩個(gè)組件間進(jìn)行Tuple的傳送。
4、Spark Streaming
Spark Streaming與Storm的對比
Spark Streaming無法實(shí)現(xiàn)毫秒級的流計(jì)算,而Storm則可以實(shí)現(xiàn)毫秒級響應(yīng)。
第十一章 圖計(jì)算
1、圖計(jì)算概述
**含義:**對圖結(jié)構(gòu)的計(jì)算。
**BSP模型:**整體同步并行計(jì)算模型,又名“大同步模型”。
一次BSP計(jì)算過程包括一系列全局超步(超步就是指計(jì)算中的一次迭代),每個(gè)超步包括3個(gè)組件:
2、Pregel簡介
Pregel是一種基于BSP模型實(shí)現(xiàn)的并行圖處理系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的【知识点总结】大数据技术原理与应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019湖南多校第三场
- 下一篇: 【BZOJ4559】【JLOI2016】