日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二章-大数据处理框Hadoop

發(fā)布時(shí)間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二章-大数据处理框Hadoop 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第二章-大數(shù)據(jù)處理框Hadoop

文章目錄

  • 第二章-大數(shù)據(jù)處理框Hadoop
    • Hadoop簡(jiǎn)介
      • Hadoop概念
      • Hadoop版本
      • Hadoop優(yōu)化與發(fā)展
    • Hadoop生態(tài)系統(tǒng)
      • Hive
      • Pig
      • Hadoop重要組件
    • Hadoop集群部署

Hadoop簡(jiǎn)介

Hadoop概念

Hadoop是Apache軟件基金會(huì)旗下的一個(gè)開源分布式計(jì)算平臺(tái),為用戶提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。Hadoop被公認(rèn)為行業(yè)大數(shù)據(jù)標(biāo)準(zhǔn)開源軟件,在分布式環(huán)境下提供了海量數(shù)據(jù)的處理能力

Hadoop是基于Java語言開發(fā)的,具有很好的跨平臺(tái)特性,并且可以部署在廉價(jià)的計(jì)算機(jī)集群中。Hadoop可以支持多種編程語言:C/C++、Java、Python 等。

Hadoop的核心是分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)和 MapReduce。

Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,并且是以一種可靠、高效、可伸縮的方式進(jìn)行處理的,它具有以下幾個(gè)方面的特性:

  • 高可靠性
  • 高效性
  • 高可擴(kuò)展性
  • 高容錯(cuò)性
  • 成本低

Hadoop憑借其突出的優(yōu)勢(shì),已經(jīng)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,而互聯(lián)網(wǎng)領(lǐng)域是其應(yīng)用的主陣地

  • Facebook主要將Hadoop平臺(tái)用于日志處理、推薦系統(tǒng)和數(shù)據(jù)倉庫等方面
  • 國(guó)內(nèi)采用Hadoop的公司主要有百度、阿里、網(wǎng)易、華為、中國(guó)移動(dòng)等,其中,阿里的Hadoop 集群比較大

Hadoop在企業(yè)中的應(yīng)用架構(gòu):

Hadoop版本

Apache Hadoop版本演變:

  • Hadoop1.0
    • Hadoop0.20.x
    • Hadoop0.21.x
    • Hadoop0.22.x
  • Hadoop2.0
    • Hadoop0.23.x
    • Hadoop2.x
  • Hadoop3.0
    • Hadoop3.x

Hadoop 3.x 版本還沒有經(jīng)過充分的測(cè)試,可能還存在些問題。目前還是推薦使用 Hadoop 2.x 版本。

Hadoop1.0 的核心組件僅包括 MapReduce 和 HDFS,存在單一名稱節(jié)點(diǎn)、單一命名空間、資源管理效率低等問題。Hadoop2.0 中設(shè)計(jì)了HDFS HA,提供名稱節(jié)點(diǎn)熱備機(jī)制;設(shè)計(jì)了HDFS Federation,管理多個(gè)命名空間;設(shè)計(jì)了新的資源管理框架 YARN。

Hadoop優(yōu)化與發(fā)展

Hadoop的優(yōu)化與發(fā)展主要體現(xiàn)在兩個(gè)方面:

  • Hadoop 自身兩大核心組件 MapReduce 和 HDFS 的架構(gòu)設(shè)計(jì)改進(jìn)
  • Hadoop 生態(tài)系統(tǒng)其它組件的不斷豐富,加入了Pig、Tez、Spark 等新組件
組件功能解決的問題
Pig處理大規(guī)模數(shù)據(jù)的腳本語言,用戶只需要編寫幾條簡(jiǎn)單的語句,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換為 MapReduce 作業(yè)抽象層次低,需要手工編寫大量代碼
Spark基于內(nèi)存的分布式并行編程框架,具有較高的實(shí)時(shí)性,并且較好支持迭代計(jì)算延遲高,而且不適合執(zhí)行迭代計(jì)算
Oozie工作流和協(xié)作服務(wù)引擎,協(xié)調(diào)Hadoop上運(yùn)行的不同任務(wù)沒有提供作業(yè)(Job)之間依賴關(guān)系管理機(jī)制,需要用戶自己處理作業(yè)之間依賴關(guān)系
Tez支持DAG作業(yè)的計(jì)算框架,對(duì)作業(yè)的操作進(jìn)行重新分解和組合,形成一個(gè)大的DAG作業(yè),減少不必要操作不同的MapReduce任務(wù)之間存在重復(fù)操作,降低了效率
Kafka分布式發(fā)布訂閱消息系統(tǒng),不同類型的分布式系統(tǒng)可以統(tǒng)一接入到Kafka,實(shí)現(xiàn)和Hadoop各個(gè)組件之間的不同類型數(shù)據(jù)的實(shí)時(shí)高效交換Hadoop生態(tài)系統(tǒng)中各個(gè)組件和其他產(chǎn)品之間缺乏統(tǒng)一的、高效的數(shù)據(jù)交換中介

Hadoop生態(tài)系統(tǒng)

Hadoop的項(xiàng)目結(jié)構(gòu)不斷豐富發(fā)展,已經(jīng)形成一個(gè)豐富的Hadoop生態(tài)系統(tǒng)

數(shù)據(jù)倉庫(Data Warehouse)是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策。

數(shù)據(jù)倉庫與數(shù)據(jù)庫的主要區(qū)別在于:

  • 數(shù)據(jù)庫是面向事務(wù)的設(shè)計(jì),數(shù)據(jù)倉庫是面向主題設(shè)計(jì)的
  • 數(shù)據(jù)庫一般存儲(chǔ)在線交易數(shù)據(jù),數(shù)據(jù)倉庫存儲(chǔ)的一般是歷史數(shù)據(jù)
  • 數(shù)據(jù)庫設(shè)計(jì)是盡量避免冗余,數(shù)據(jù)倉庫在設(shè)計(jì)是有意引入冗余
  • 數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計(jì),數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計(jì)
  • Hive

    Hive是一個(gè)構(gòu)建于 Hadoop 頂層的數(shù)據(jù)倉庫工具,支持大規(guī)模數(shù)據(jù)存儲(chǔ)、分析,具有良好的可擴(kuò)展性,某種程度上可以看作是用戶編程接口,本身不存儲(chǔ)和處理數(shù)據(jù)。

    • 依賴分布式文件系統(tǒng) HDFS 存儲(chǔ)數(shù)據(jù)
    • 依賴分布式并行計(jì)算模型 MapReduce 處理數(shù)據(jù)
    • 定義了簡(jiǎn)單的類似 SQL 的查詢語言——HiveQL,用戶可以通過編寫的 HiveQL 語句運(yùn)行 MapReduce 任務(wù)
    • 可以很容易把原來構(gòu)建在關(guān)系數(shù)據(jù)庫上的數(shù)據(jù)倉庫應(yīng)用程序移植到 Hadoop 平臺(tái)上

    Hive本身提供了一系列對(duì)數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)換、加載(ETL)的工具,可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù),這些工具能夠很好地滿足數(shù)據(jù)倉庫各種應(yīng)用場(chǎng)景。

    Hive在很多方面和傳統(tǒng)的關(guān)系數(shù)據(jù)庫類似,但是它的底層依賴的是 HDFS 和 MapReduce,所以在很多方面又有別于傳統(tǒng)數(shù)據(jù)庫。

    對(duì)比Hive傳統(tǒng)數(shù)據(jù)庫
    數(shù)據(jù)插入支持批量導(dǎo)入支持單條和批量導(dǎo)入
    數(shù)據(jù)更新不支持支持
    索引支持支持
    執(zhí)行延遲
    擴(kuò)展性有限

    Hive應(yīng)用實(shí)例:WordCount

    • 采用 Hive 實(shí)現(xiàn) WordCount 算法需要編寫較少的代碼量
    • 在 MapReduce 的實(shí)現(xiàn)中,需要進(jìn)行編譯生成 jar 文件來執(zhí)行算法,而在 Hive 中不需要。HiveQL 語句的最終實(shí)現(xiàn)需要轉(zhuǎn)換為 MapReduce 任務(wù)來執(zhí)行,這都是由 Hive 框架自動(dòng)完成的,用戶不需要了解具體實(shí)現(xiàn)細(xì)節(jié)

    Hive在企業(yè)大數(shù)據(jù)分析平臺(tái)中的應(yīng)用,有時(shí)候 Pig 可以作為 Hive 的替代工具。

    Pig

    Pig是一個(gè)基于Hadoop的大規(guī)模數(shù)據(jù)分析平臺(tái),它簡(jiǎn)化了 Hadoop 常見的工作任務(wù)。Pig可加載數(shù)據(jù)、表達(dá)轉(zhuǎn)換數(shù)據(jù)以及存儲(chǔ)最終結(jié)果,Pig內(nèi)置的操作使得半結(jié)構(gòu)化數(shù)據(jù)變得有意義(如日志文件)。同時(shí)Pig可擴(kuò)展使用Java中添加的自定義數(shù)據(jù)類型并支持?jǐn)?shù)據(jù)轉(zhuǎn)換。

    • 提供類似 SQL 的查詢語言Pig Latin
    • 允許用戶通過編寫簡(jiǎn)單的腳本來實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)分析,而不需要編寫復(fù)雜的MapReduce應(yīng)用程序
    • Pig會(huì)自動(dòng)把用戶編寫的腳本轉(zhuǎn)換成MapReduce作業(yè)在 Hadoop集群上運(yùn)行,而且具備對(duì)生成的MapReduce程序進(jìn)行自動(dòng)優(yōu)化的功能
    • Hive一般處理的是結(jié)構(gòu)化的數(shù)據(jù),Pig可以處理非結(jié)構(gòu)化數(shù)據(jù)。處理流程: LOAD-> 轉(zhuǎn)換 ->STORE/DUMP

    Tez: 支持DAG作業(yè)的計(jì)算框架。核心思想是將 Map 和 Reduce 兩個(gè)操作進(jìn)一步拆分,分解后的元操作可以任意靈活組合,產(chǎn)生新的操作,這些操作經(jīng)過一些控制程序組裝后,可形成一個(gè)大的 DAG 作業(yè)。

    Hadoop重要組件

    Hadoop生態(tài)系統(tǒng)重要組件

    組件功能
    HDFS分布式文件系統(tǒng)
    MapReduce分布式并行編程模型
    YARN資源管理和調(diào)度器
    Tez運(yùn)行在 YARN 之上的下一代 HAdoop 查詢處理框架
    HiveHadoop 上的數(shù)據(jù)倉庫
    HBaseHadoop 上的非關(guān)系型的分布式數(shù)據(jù)庫
    Pig一個(gè)基于 Hadoop 的大規(guī)模數(shù)據(jù)分析平臺(tái),提供類似 SQL 的查詢語言 Pig Latin
    Sqoop用于在 Hadoop 與傳統(tǒng)數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)傳遞
    OozieHadoop 上的工作流管理系統(tǒng)
    Zookeeper提供分布式協(xié)調(diào)一致性服務(wù)
    Storm流計(jì)算框架
    Flume一個(gè)高可用的,高可靠,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)
    AmbariHadoop 快速部署工具,支持Apache Hadoop集群的供應(yīng)、管理和監(jiān)控
    Kafka一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)
    Spark類似于Hadoop MapReduce的通用并行框架

    Hadoop集群部署

    Hadoop安裝方式:

    • 單機(jī)模式:Hadoop 默認(rèn)模式為非分布式模式(本地模式),無需進(jìn)行其他配置即可運(yùn)行。
    • 偽分布式模式:Hadoop 可以在單節(jié)點(diǎn)上以偽分布式的方式運(yùn)行,Hadoop 進(jìn)程以分離的 Java 進(jìn)程來運(yùn)行,節(jié)點(diǎn)既作為 NameNode 也作為 DataNode,同時(shí),讀取的是 HDFS 中的文件。
    • 分布式模式:使用多個(gè)節(jié)點(diǎn)構(gòu)成集群環(huán)境來運(yùn)行 Hadoop

    Hadoop框架中最核心的設(shè)計(jì)是為海量數(shù)據(jù)提供存儲(chǔ)的 HDFS 和對(duì)數(shù)據(jù)進(jìn)行計(jì)算的 MapReduce。MapReduce的作業(yè)主要包括:

  • 從磁盤或從網(wǎng)絡(luò)讀取數(shù)據(jù),即IO密集工作
  • 計(jì)算數(shù)據(jù),即CPU密集工作
  • Hadoop集群的整體性能取決于CPU、內(nèi)存、網(wǎng)絡(luò)以及存儲(chǔ)之 間的性能平衡。因此運(yùn)營(yíng)團(tuán)隊(duì)在選擇機(jī)器配置時(shí)要針對(duì)不同 的工作節(jié)點(diǎn)選擇合適硬件類型。

    一個(gè)基本的 Hadoop 集群中的節(jié)點(diǎn)主要有:

    • NameNode:負(fù)責(zé)協(xié)調(diào)集群中的數(shù)據(jù)存儲(chǔ)
    • DataNode:存儲(chǔ)被拆分的數(shù)據(jù)塊
    • JobTracker:協(xié)調(diào)不同機(jī)器上數(shù)據(jù)計(jì)算任務(wù)
    • TaskTracker:負(fù)責(zé)執(zhí)行由 JobTracker 指派的任務(wù)
    • SecondaryNameNode:幫助 NameNode 收集文件系統(tǒng)運(yùn)行的狀態(tài)信息

    在集群中,大部分的機(jī)器設(shè)備是作為 Datanode和 TaskTracker 工作的。NameNode提供整個(gè) HDFS 文件系統(tǒng)的 NameSpace(命名 空間)管理、塊管理等所有服務(wù),很多元數(shù)據(jù)是直接保存在 內(nèi)存中的,因此需要更多的RAM,與集群中的數(shù)據(jù)塊數(shù)量 相對(duì)應(yīng),并且需要優(yōu)化 RAM 的內(nèi)存通道帶寬。SecondaryNameNode在小型集群中可以和 NameNode 共用一臺(tái)機(jī)器,較大的群集可以采用與NameNode相同的硬件。

    Hadoop集群規(guī)模可大可小,初始時(shí),可以從一個(gè)較小規(guī)模的集群開始,比如包含10個(gè)節(jié)點(diǎn),然后,規(guī)模隨著存儲(chǔ)器和計(jì)算需求的擴(kuò)大而擴(kuò)大。

    對(duì)于一個(gè)小的集群,名稱節(jié)點(diǎn)(NameNode)和 JobTracker 運(yùn)行在單個(gè)節(jié)點(diǎn)上,通常是可以接受的。但是,隨著集群和存儲(chǔ)在HDFS 中的文件數(shù)量的增加,名稱節(jié)點(diǎn)需要更多的主存,這時(shí),名稱節(jié)點(diǎn)和 JobTracker 就需要運(yùn)行在不同的節(jié)點(diǎn)上。

    第二名稱節(jié)點(diǎn)(SecondaryNameNode)會(huì)和名稱節(jié)點(diǎn)可以運(yùn)行在 相同的機(jī)器上,但是,由于第二名稱節(jié)點(diǎn)和名稱節(jié)點(diǎn)幾乎具有相同的主存需求,因此,二者最好運(yùn)行在不同節(jié)點(diǎn)上。

    普通的Hadoop集群結(jié)構(gòu)由一個(gè)兩階網(wǎng)絡(luò)構(gòu)成。每個(gè)機(jī)架(Rack)有30-40個(gè)服務(wù)器,配置一個(gè)1GB的交換機(jī),并向上傳輸?shù)揭粋€(gè)核心交換機(jī)或者路由器(1GB或以上)。

    《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的第二章-大数据处理框Hadoop的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩在线1 | 熟女熟妇伦久久影院毛片一区二区 | 亚洲精品无码久久久久 | 色01看片网 | 美女精品一区二区 | 日韩在线不卡视频 | 久久国产柳州莫菁门 | 99久久九九 | 国产精品高潮呻吟久久aⅴ码 | 国产在线小视频 | 天天爱综合 | 欧美性插插| 在线欧美成人 | 永久免费成人 | 久久久一区二区三区四区 | 国产凹凸一区二二区 | 天天色天天射综合网 | 国产欧美精品 | 美女考逼 | 男女视频免费网站 | 伊人网视频在线 | 91精品一区二区 | 中文字幕69 | 亚洲成人免费在线 | 日韩一区二区在线看 | 日本美女三级 | 涩涩视频在线观看免费 | 超碰97免费| 国产喷潮 | 小早川怜子久久精品中文字幕 | 成人婷婷| 精品少妇久久久 | 免费av一区 | 国产露出视频 | 久草超碰 | 婷婷激情五月综合 | 国产麻豆成人传媒免费观看 | 午夜久久久久久久久久久 | 四虎最新网址在线观看 | 欧美成综合 | 中文字幕一区二区三区四区欧美 | 最新激情网 | 一卡二卡在线观看 | 久久久wwww | 亚洲天堂区 | 激情总合网 | 中午字幕在线观看 | 色呦呦中文字幕 | 中文字幕有码在线 | 成人777| www午夜视频 | 美女干b视频 | 四虎视频国产精品免费 | 欧洲av在线播放 | 日本视频免费在线播放 | 97av在线视频 | 久久com| 在线观看日批视频 | 国产伦精品一区二区三区视频孕妇 | 可以免费看污视频的网站 | 四川黄色一级片 | 成人深夜电影 | 神马影院午夜伦理 | 大黄一级片 | 欧美精品video | 国产高h视频 | 国产福利精品在线观看 | 色狠久| 99久久久无码国产精品性青椒 | 少妇太爽了太深了太硬了 | 人妻久久一区二区 | 免费av中文字幕 | 国产xxxx | 嫩草影院久久 | 草草草在线观看 | 日韩色影院| 日本公与丰满熄 | 日韩激情毛片 | 日韩人妻精品一区二区 | 国产成人精品一区二区三区在线 | 黄色片久久 | 欧美一区二区免费在线观看 | 亚洲欧美精品一区二区三区 | 黄色动漫免费在线观看 | 美国美女黄色片 | 九九热免费精品视频 | www.国产欧美 | 亚洲成人一区二区三区 | 欧美性做爰猛烈叫床潮 | 色94色欧美sute亚洲线路二 | 天天舔天天 | 欧美激情一区二区三区 | 成人高清在线观看 | 一级艳片新婚之夜 | 综合激情网站 | av第一福利 | 精品嫩模一区二区三区 | 人妻在线一区二区三区 | 99mav|