版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Hadoop原理介紹 Hadoop概述 Hadoop介紹 Hadoop原理 Hadoop編程提綱 Hadoop是一個(gè)開源的、可靠的、可擴(kuò)展的分布式并行計(jì)算框架 主要組成:分布式文件系統(tǒng)HDFS和MapReduce算法執(zhí)行 作者:Doug Cutting 語言:Java,支持多種編程語言,如:Python、C+Hadoop概述 Hadoop是Google的集群系統(tǒng)的開源實(shí)現(xiàn)Google集群系統(tǒng):GFS(Google File System)、MapReduce、BigTableHadoop主要由HDFS(Hadoop Distributed File System Hadoop分布式文件系統(tǒng))、
2、MapReduce和HBase組成 Hadoop的初衷是為解決 Nutch 的海量數(shù)據(jù)爬取和存儲(chǔ)的需要 Hadoop于2005年秋天作為 Lucene的子項(xiàng)目Nutch的一部分正式引入Apache基金會(huì)。 名稱起源: Doug Cutting兒子的黃色大象玩具的名字Hadoop起源 Hadoop概述 Hadoop介紹 Hadoop原理 Hadoop編程提綱什么是大數(shù)據(jù) 數(shù)據(jù)集主要特點(diǎn)數(shù)據(jù)集主要特點(diǎn) Volume: 數(shù)量量從TB到PB級(jí)別 Variety: 數(shù)據(jù)類型復(fù)雜,超過80%的數(shù)據(jù)是非結(jié)構(gòu)化的 Velocity:數(shù)據(jù)量在持續(xù)增加(兩位數(shù)的年增長(zhǎng)率) 其他特征其他特征 數(shù)據(jù)來自大量源,需要做
3、相關(guān)性分析 需要實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的流式采集,有些應(yīng)用90%寫vs.10%讀 數(shù)據(jù)需要長(zhǎng)時(shí)間存儲(chǔ),非熱點(diǎn)數(shù)據(jù)也會(huì)被隨機(jī)訪問大數(shù)據(jù)處理的需求和特點(diǎn)大數(shù)據(jù)VS傳統(tǒng)數(shù)據(jù)并行關(guān)系數(shù)據(jù)庫vs MPP/Hadoopl 多個(gè)獨(dú)立的關(guān)系數(shù)據(jù)庫服務(wù)器,訪問共享的存儲(chǔ)資源池l 優(yōu)勢(shì) 采用多個(gè)關(guān)系數(shù)據(jù)庫服務(wù)器,多個(gè)存儲(chǔ),與原有的架構(gòu)相比,擴(kuò)展了存儲(chǔ)容量和計(jì)算能力l 劣勢(shì): 計(jì)算與存儲(chǔ)分離,數(shù)據(jù)訪問存在競(jìng)爭(zhēng)和帶寬瓶頸 支持的關(guān)系數(shù)據(jù)庫服務(wù)器數(shù)量有限 只能向上擴(kuò)展,不能橫向擴(kuò)展l 適合復(fù)雜的需要事務(wù)處理的應(yīng)用l 由大量獨(dú)立的服務(wù)器通過網(wǎng)絡(luò)互連形成集群,每個(gè)服務(wù)器帶存儲(chǔ)。l 優(yōu)勢(shì):計(jì)算與存儲(chǔ)融合,支持橫向擴(kuò)展,更好的擴(kuò)展性l
4、 劣勢(shì):解決數(shù)據(jù)沖突時(shí)需要節(jié)點(diǎn)間協(xié)作l 適用范圍: 數(shù)據(jù)倉庫和離線數(shù)據(jù)分析(MPP, Hadoop/HBase) 大規(guī)模在線實(shí)時(shí)應(yīng)用(單行事務(wù)處理能滿足的場(chǎng)景)(HBase)MPP vs. Hadoop/Hive/HBaseHadoop生態(tài)圈Core:一套分布式文件系統(tǒng)以及支持Map-Reduce的計(jì)算框架Avro:定義了一種用于支持大數(shù)據(jù)應(yīng)用的數(shù)據(jù)格式,并為這種格式提供了不同的編程語言的支持HDFS:Hadoop分布式文件系統(tǒng)Map/Reduce:是一個(gè)使用簡(jiǎn)易的軟件框架,基于它寫出來的應(yīng)用程序能夠運(yùn)行在由上千個(gè)商用機(jī)器組成的大型集群上,并以一種可靠容錯(cuò)的方式并行處理上T級(jí)別的數(shù)據(jù)集ZooK
5、eeper:是高可用的和可靠的分布式協(xié)同系統(tǒng)Pig:建立于 Hadoop Core之上為并行計(jì)算環(huán)境提供了一套數(shù)據(jù)工作流語言和執(zhí)行框架Hive:是為提供簡(jiǎn)單的數(shù)據(jù)操作而設(shè)計(jì)的下一代分布式數(shù)據(jù)倉庫。它提供了簡(jiǎn)單的類似SQL的語法的HiveQL語言進(jìn)行數(shù)據(jù)查詢HBase:建立于 Hadoop Core之上提供一個(gè)可擴(kuò)展的數(shù)據(jù)庫系統(tǒng)Flume:一個(gè)分布式、可靠、和高可用的海量日志聚合的系統(tǒng),支持在系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)Mahout:是一套具有可擴(kuò)充能力的機(jī)器學(xué)習(xí)類庫Sqoop:是Apache下用于RDBMS和HDFS互相導(dǎo)數(shù)據(jù)的工具Hadoop子項(xiàng)目 Hadoop概述 Hadoop介
6、紹 Hadoop原理 Hadoop編程提綱設(shè)計(jì)目標(biāo)設(shè)計(jì)目標(biāo)錯(cuò)誤檢測(cè)和快速自動(dòng)恢復(fù) 硬件故障是常態(tài)而非異常為流式數(shù)據(jù)訪問優(yōu)化針對(duì)支持大數(shù)據(jù)集 單個(gè)文件大小有數(shù)GB或者TB 可提供高聚合帶寬訪問 可能夠擴(kuò)展至數(shù)千個(gè)節(jié)點(diǎn)簡(jiǎn)化“一致性”模型 一次寫入、多次讀,寫入過程可能并發(fā)移動(dòng)“計(jì)算”比移動(dòng)“數(shù)據(jù)”更便宜主要特點(diǎn)主要特點(diǎn)使用低成本存儲(chǔ)和服務(wù)器構(gòu)建存放PB級(jí)別的海量數(shù)據(jù)高可擴(kuò)展性,實(shí)際生產(chǎn)環(huán)境擴(kuò)展至4000個(gè)節(jié)點(diǎn)高可靠性和容錯(cuò)性,數(shù)據(jù)自動(dòng)復(fù)制,可自我修復(fù)高帶寬,高并發(fā)訪問,對(duì)于延遲不敏感 面向批處理HDFS-分布式文件系統(tǒng)數(shù)據(jù)分布與復(fù)制數(shù)據(jù)分布與復(fù)制HDFS基本設(shè)計(jì) 數(shù)據(jù)塊:文件被劃分為固定大小的數(shù)據(jù)
7、塊進(jìn)行存儲(chǔ) 數(shù)據(jù)塊缺省為64M,遠(yuǎn)大于一般文件系統(tǒng)數(shù)據(jù)塊大小 減少元數(shù)據(jù)的量 有利于順序讀寫(在磁盤上順序存放) 可靠性:數(shù)據(jù)通過副本的方式保存在多個(gè)數(shù)據(jù)節(jié)點(diǎn)上 默認(rèn)3個(gè)副本 副本選擇會(huì)考慮機(jī)架信息以防止整個(gè)機(jī)架同時(shí)掉電系統(tǒng)設(shè)計(jì)優(yōu)化:用單個(gè)管理節(jié)點(diǎn)來保存文件系統(tǒng)元數(shù)據(jù)和管理/協(xié)調(diào)HDFS基本設(shè)計(jì) 數(shù)據(jù)緩存:DataNode沒有數(shù)據(jù)緩存 由于文件的訪問是掃描式的,不具有局部性 訪問方式 讀、寫、文件改名、刪除等 文件內(nèi)容不允許覆蓋更新 提供一個(gè)特殊的訪問接口:追加appendHDFS體系結(jié)構(gòu) 中心目錄服務(wù)器 (NameNode) 管理大量數(shù)據(jù)服務(wù)器(DataNode) NameNode 管理元數(shù)
8、據(jù) (文件目錄樹, 文件-塊映射,塊-數(shù)據(jù)服務(wù)器映射表, etc.) DataNode 負(fù)責(zé)存儲(chǔ)數(shù)據(jù)、以及響應(yīng)數(shù)據(jù)讀寫請(qǐng)求 客戶端與NameNode交互進(jìn)行文件創(chuàng)建/刪除/尋址等操作, 之后直接與DataNodes交互進(jìn)行文件I/O什么是MapReduce編程模型?l Map(映射):對(duì)一些獨(dú)立元素組成的列表的每一個(gè)元素進(jìn)行指定的操作,可以高度并行。l Reduce(化簡(jiǎn)):對(duì)一個(gè)列表的元素進(jìn)行合并。l 一個(gè)簡(jiǎn)單的MapReduce程序只需要指定map()、reduce()、輸入和輸出,剩下的事由框架幫你搞定。MapReduce計(jì)算框架為離線數(shù)據(jù)分析而設(shè)計(jì),基本上是個(gè)利用數(shù)據(jù)并行性進(jìn)行分布運(yùn)算
9、而后匯總結(jié)果的計(jì)算框架 分析問題能夠被并行化,且輸入數(shù)據(jù)集可以被切分 一個(gè)Map函數(shù),在第一階段計(jì)算對(duì) 一個(gè)Reduce函數(shù),在第二階段用于匯總Map函數(shù)的結(jié)果MapReduce舉例代碼舉例MapReduce 應(yīng)用場(chǎng)景 視頻分析和檢索 推薦引擎 數(shù)據(jù)分析手段 全文挖掘 建立索引 圖形創(chuàng)建和分析 模式識(shí)別 協(xié)同過濾 情感分析 風(fēng)險(xiǎn)評(píng)估HBase分布式數(shù)據(jù)庫HBase是一個(gè)按列存儲(chǔ)的、多維表結(jié)構(gòu)的實(shí)時(shí)分布數(shù)據(jù)庫, 為高速在線數(shù)據(jù)服務(wù)而設(shè)計(jì) 表: (行,列族,列名,版本名) 值主要特點(diǎn)主要特點(diǎn) NoSQL 面向列、可壓縮,有效降低磁盤I/O,提高利用率 多維表,四個(gè)維度,其中三個(gè)維度可變,適合描述復(fù)
10、雜嵌套關(guān)系 靈活的表結(jié)構(gòu),可動(dòng)態(tài)改變和增加(包括行、列和時(shí)間戳),為多列族設(shè)置不同復(fù)制因子 支持單行的ACID事務(wù)處理 分布式系統(tǒng) 高性能,支持高速并發(fā)寫入和高并發(fā)查詢 可擴(kuò)展,數(shù)據(jù)自動(dòng)切分和分布,可動(dòng)態(tài)擴(kuò)容,無需停機(jī) 高可用性,建立在HDFS分布式文件系統(tǒng)之上HBase軟件架構(gòu)HBase組件交互一個(gè)管理服務(wù)器(HBase Master) 控制多個(gè)數(shù)據(jù)服務(wù)器(RegionServer)HMaster負(fù)責(zé)表的創(chuàng)建、刪除和維護(hù),以及region的分配和負(fù)載平衡Region Server負(fù)責(zé)管理維護(hù)region、以及響應(yīng)讀寫請(qǐng)求客戶端與HMaster進(jìn)行有關(guān)表的元數(shù)據(jù)的操作, 之后直接讀寫Regio
11、n ServersHBase特性Hadoop Hbase:NoSql databse 基本的數(shù)據(jù)庫操作CRUD 強(qiáng)一致性 無SQL語言支持 稀疏的多維映射表 列存儲(chǔ) 只用rowkey來定位 每行可以有不同列 數(shù)據(jù)有多個(gè)版本 非常高的讀寫數(shù)度,為寫特別優(yōu)化 高效隨機(jī)讀取 對(duì)于數(shù)據(jù)的某一個(gè)子集能夠進(jìn)行有效掃面HBase特性2 分布式的多層次映射表結(jié)構(gòu) 具有容錯(cuò)性,能夠?qū)?shù)據(jù)持久化到非易失存儲(chǔ)中 使用HDFS做底層存儲(chǔ),可以用Hadoop的壓縮codec減少空間占用 自動(dòng)水平擴(kuò)展 只需要新加入的節(jié)點(diǎn)即可提高存儲(chǔ)容量和吞吐量 服務(wù)器能夠被動(dòng)態(tài)加入或者刪除(用以維護(hù)和升級(jí)) 服務(wù)器自動(dòng)調(diào)整負(fù)載均衡Hiv
12、e數(shù)據(jù)倉庫 Hive是一個(gè)建立在hadoop/hbase之上的數(shù)據(jù)倉庫,用于分析結(jié)構(gòu)化海量數(shù)據(jù) 采用HDFS或HBase進(jìn)行數(shù)據(jù)存儲(chǔ) 采用Map/Reduce進(jìn)行數(shù)據(jù)操作 基本特點(diǎn): 提供類似于SQL的查詢語言 針對(duì)海量數(shù)據(jù)的高性能查詢和分析系統(tǒng) 命令行接口,JDBC/ODBC 提供靈活的擴(kuò)展性 復(fù)雜數(shù)據(jù)類型,擴(kuò)展函數(shù)和腳本等Hive應(yīng)用范圍舉例 日志分析:日志分析可以優(yōu)化系統(tǒng),獲知用戶行為,也可以獲知數(shù)據(jù)的統(tǒng)計(jì)信息 數(shù)據(jù)挖掘:通過結(jié)構(gòu)化數(shù)據(jù)的挖掘,能夠獲得原先使用者沒有意識(shí)的信息 文檔索引:可以對(duì)一系列文檔進(jìn)行分析,并形成文檔的索引結(jié)構(gòu),不一定是完整的排序表,可能是關(guān)聯(lián)信息的索引 商業(yè)智能信
13、息處理:可以對(duì)商業(yè)信息進(jìn)行查詢分析,從中可以獲得一些只能決策的信息 及時(shí)查詢以及數(shù)據(jù)驗(yàn)證:數(shù)據(jù)分析人員可能臨時(shí)需要驗(yàn)證數(shù)據(jù)的特性,需要查詢引擎迅速進(jìn)行數(shù)據(jù)分析Hive QL 類SQL,和SQL有80%以上的相似度 有大量擴(kuò)展 不支持DELETE,UPDATE 不支持TRANSACTION 目前不支持in操作,但支持join Inner join,outer join,left semi join(in的替代品) Join實(shí)現(xiàn):普通join,Map join,Bucket Map joinHive分區(qū)和桶Partitions:數(shù)據(jù)表可以按照某一個(gè)字段的值劃分Partitions 例如,通過日期的
14、方式將數(shù)據(jù)表進(jìn)行劃分;如果需要查詢某天的數(shù)據(jù),那么只需要讀取相應(yīng)的Partitions就可以了 分區(qū)數(shù)量不固定 每個(gè)分區(qū)是一個(gè)目錄Buckets:數(shù)據(jù)存儲(chǔ)的桶 建表時(shí)指定桶個(gè)數(shù),每個(gè)桶是一個(gè)文件,桶內(nèi)可以排序 數(shù)據(jù)按照某個(gè)字段的hash值后放入某個(gè)桶中 對(duì)于數(shù)據(jù)的抽樣、特定join的優(yōu)化很有意義Hive分區(qū)舉例以日志為例,按日期和國(guó)家分區(qū):CREATE TABLE logs(timestamp BIGINT,line STRING) PARTITIONED BY (date STRING, country STRING)獲取分區(qū)表:Hiveshow partitions log;date=20
15、13-02-26/country=China查詢分區(qū):SELECT timestamp, date, line FROM logs where country=China這時(shí)候,將只掃面country=China的分區(qū)的文件,而不用掃面其他的文件,提高查詢效率hive支持動(dòng)態(tài)分區(qū)Hive及時(shí)查詢將hive Ql利用Hbase的coprocessor執(zhí)行支持的語言特性: 簡(jiǎn)單select Group by匯總 Order by及top N 字符串,數(shù)字,算術(shù),邏輯運(yùn)算符 Rowkey自動(dòng)過濾機(jī)制(包括模糊查詢)比MapReduce方式快310XZookeeper分布式協(xié)作服務(wù)一個(gè)高可用的分布式數(shù)
16、據(jù)管理與系統(tǒng)協(xié)調(diào)框架基于對(duì)Paxos算法的實(shí)現(xiàn)強(qiáng)一致性設(shè)計(jì)目標(biāo) 接口簡(jiǎn)單,允許多個(gè)分布的進(jìn)程基于一個(gè)共享的,類似標(biāo)準(zhǔn)文件系統(tǒng)的樹狀名稱空間進(jìn)行協(xié)作 高效 可靠ZooKeeper提供的保證 序列一致性: 數(shù)據(jù)更新會(huì)依照client發(fā)送的次序來進(jìn)行。 原子性: 更新要么成功,要么失敗.不存在部分結(jié)果。 唯一系統(tǒng)鏡像: client總是會(huì)看到一致的視圖,而不管它是連接到具體哪個(gè)zookeeper server。 可靠性: 一旦更新完成, 它會(huì)持續(xù)保存直到有另外的client重寫。 及時(shí): 客戶端視圖會(huì)在一定的時(shí)間間隔內(nèi)進(jìn)行更新。ZooKeeper典型應(yīng)用場(chǎng)景 數(shù)據(jù)發(fā)布與訂閱(配置中心) 負(fù)載均衡 命名服務(wù)(N
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年生鮮電商損耗控制方法課程
- 成都市新都區(qū)部分單位2026年1月公開招聘編外(聘用)人員的備考題庫(一)及答案詳解(易錯(cuò)題)
- 2026年客戶投訴處理話術(shù)優(yōu)化課
- 繁殖繁殖場(chǎng)規(guī)劃與建設(shè)手冊(cè)
- 2026重慶市璧山區(qū)人民政府璧城街道辦事處招聘非編聘用人員2人備考題庫含答案詳解
- 客運(yùn)保衛(wèi)稽查年終總結(jié)(3篇)
- 職業(yè)健康遠(yuǎn)程隨訪的醫(yī)患溝通障礙解決方案
- 職業(yè)健康監(jiān)護(hù)中的標(biāo)準(zhǔn)化健康宣教材料
- 職業(yè)健康成就感對(duì)醫(yī)療員工組織承諾的促進(jìn)效應(yīng)
- 職業(yè)健康促進(jìn)醫(yī)療質(zhì)量持續(xù)改進(jìn)
- 化工生產(chǎn)安全用電課件
- 2026屆湖北省武漢市高三元月調(diào)考英語試卷(含答案無聽力原文及音頻)
- 110kV~750kV架空輸電線路施工及驗(yàn)收規(guī)范
- 質(zhì)量檢驗(yàn)部2025年度工作總結(jié)與2026年度規(guī)劃
- 陳世榮使徒課件
- 2025至2030中國(guó)丙烯酸壓敏膠行業(yè)調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 河北省石家莊2026屆高二上數(shù)學(xué)期末考試試題含解析
- EPC工程總承包項(xiàng)目合同管理
- 四年級(jí)數(shù)學(xué)除法三位數(shù)除以兩位數(shù)100道題 整除 帶答案
- 村委會(huì) 工作總結(jié)
- 個(gè)人IP打造運(yùn)營(yíng)方案【新媒體運(yùn)營(yíng)】【個(gè)人自媒體IP】
評(píng)論
0/150
提交評(píng)論