999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

常見大數據處理框架比較研究

2020-07-22 09:55:45孫麗
電腦知識與技術 2020年12期

孫麗

摘要:本文主要對Hadoop、Spark兩種大數據處理框架進行介紹,闡述各自的原理、生態組成及應用特點,并對兩者進行了簡單的比較。

關鍵詞:Hadoop;Spark;大數據框架

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2020)12-0003-03

隨著互聯網技術的迅猛發展,以及人們獲取信息的方式和方法的改變,各行業應用系統的規模迅速擴大,所產生的數據呈井噴式增長,遠遠超出傳統單臺計算機的信息處理能力。因此若干大數據處理平臺應運而生,如Hadoop、Spark、Flink、Storm、Samza等,各種平臺都具有自己的特點與應用領域,現對其中最常見、應用最廣泛的Hadoop及Spark進行介紹。

1Hadoop

1.1關于Hadoop

Hadoop是Apache下的一個開源的分布式計算平臺。Hadoop作為一種底層細節透明的架構,其核心包括兩部分:HDFS分布式文件系統(Hadoop Distributed File System)和MapReduce。HDFS實現分布式文件系統,提供了文件操作和數據存儲;MapReduce實現了分布式計算和分布式任務處理,實現了任務的分發、執行、跟蹤等工作。

1.2Hadoop原理與運行機制

Hadoop是典型的主從結構,包括Master和Slave,即其構成包括數據節點多個以及名字節點一個。主服務器(master)由名字節點構成,其主要作用是對HDFS(分布式文件系統)的name space進行管理,并執行client提出的文件訪問命令;對系統數據進行存儲是數據節點具有的功能。一定數量的TaskTracker和一個Job共同構成了MapReduce框架,主節點和數據節點分別為運行JobTracker和TaskTracker提供了相應的場所。各項任務和作用的調度工作均由主節點負責,將任務分派到從節點的同時,還會對其執行狀況進行監督,如果任務在分配或監控上未獲得成功,將自動重復上一步驟;對來自主節點的任務予以執行是從節點唯一的工作。在對Job進行提交時,Job等相關信息的接收工作由JobTracker負責,并向從節點分發相應的信息,此外,還會對其具體的執行狀況實施監督管理。

在應用中,從基礎層面為框架提供支持是Hadoop Common的主要作用,處理大數據的工作是由MapReduce組件和HDFS合作完成的。圖1展示的內容就是運行過程中Hadoop所依據的機制,其對于相關部署環境等方面進行了詳細展示。

1.3Hadoop生態

Hadoop生態圈主要包括HBase、Hive、Pig、Sqoop、Avro和ZooKeeper等。Hive是基于Hadoop的分布式數據倉庫技術,用于查詢和管理存儲在分布式環境下的大數據集,適合處理相對靜態的海量數據集,即在處理過程中數據不會發生快速變化且對處理結果的實時響應要求不高,其HQL語句結合了SQL技術和MapReduce分布式計算框架,降低了傳統數據分析人員使用Hadoop進入大數據時代的障礙。HBase是運行于Hadoop之上的分布式海量數據庫,用來存儲分結構化和半結構化的松散數據,它起源于Google的BigTable,起初解決大規模網頁搜索,現在應用于多種應用如地圖、社交網站YouTube、博客網站等,是一種典型的NoSQL技術,能夠實現海量數據的準實時查詢。Sqoop是一個用來將Hadoop和關系型數據庫中的數據相互轉移的工具,可以將一個關系型數據庫(如:MySQL,Oracle,Postgres等)中的數據導入到HDFS中,也可以將HDFS的數據導出到關系型數據庫中。

2Spark

2.1關于Spark

Apache Spark是專為大規模數據處理而設計的快速通用的計算引擎。Spark應用程序在集群運行機制如圖2所示,Spark應用程序作為獨立的進程集合運行在集群上,由主程序中的SparkContext對這些進程進行協調。SparkContext可以連接多種類型的集群管理器,包括Mesos,YARN,Spark自己的Standalone,集群管理器可以在應用程序間分配計算資源。當SparkContext連接上集群管理器后,會在集群節點上申請創建executor, executor就是進行運算的執行以及存儲應用數據的進程,之后SparkContext將用戶的應用程序以JAR文件或者Python文件的形式發送給executor,最后SparkContext發送task到executor進行執行。

線程池是所有Spark應用程序均具備的,為執行多線程任務提供保障。采取此種方式的優點在于,可以有效隔離不同應用程序的調動,換而言之,drive的任務尤其自行調度,不同程序在執行任務時使用的JVM也不同。但此種方式也存在一定的弊端,即每個SparkContext所形成的數據不具備共享性。

2.2Spark的RDD

對于Spark的抽象性主要表現為兩種形式:其一,通過RDD(即彈性分布式數據)來抽象表示數據,只有進行RDD轉換后的數集,才可以通過Spark完成相應操作;其二,通過動作等算子抽象化RDD,所有位于集群節點的元素均被納入RDD中。形成RDD具體方式是:通過Hadoop以及對此類文件予以支持的系統形成,此外,通過轉換其他RDD也可以獲得。

集群節點是RDD的具體分布位置,其構成元素均具有只讀性,如果部分數據由于某節點的功能失效而遺失,在重新對數據進行構建時可以將lineage作為Spark的依據,對算子在RDD構建過程中所經歷的轉換過程進行記錄是血統的工作原理,從而為遺失分區的恢復提供便利。在對算子進行轉換時Spark會在內存中緩存相應的結果,新的RDD由此形成,隨后便可以直接讀取緩存在內存中的相關操作,在磁盤中緩存兩個Job的步驟可以省略,使運行速度顯著提升。通過抽象化處理數據集獲得了RDD,基于此,在轉換時僅能實現粗粒度。但在分析數據時,并行數據方式仍然可以被RDD很好適應,將相同操作執行在不同記錄上是此類應用顯著特征,具體包括機器學習等。

由于Spark框架對RDD的操作算子都是基于數據分區進行粗粒度的操作處理,每個轉換算子操作過后都會產生一個新的RDD,因此RDD之間會形成一個前后依賴關系。

Narrow Dependencies和WideDependencies即窄依賴和寬依賴構成了Spark的依賴形式。使用某個父RDD的權限僅被賦予單獨的子RDD時,被稱之為窄依賴;反之,如果可以由多個子RDD同時使用,則被稱之為寬依賴。由于依賴不具有多重性,因此,處理相應分區時,窄依賴的各個節點均可以進行多次,在對不同轉換算子進行操作時,數據不需要同其他分區進行交換,進而對傳輸耗時有效降低,并對相關效率大幅度提升;由于依賴具有多重性,因此在處理下一步驟前,必須要完成全部節點的算子轉換,此外,還要將數據傳送到相應分區中,不但會占有大量節點,并且延遲了數據傳輸。窄依賴是RDD C,D,F間具有的關系,基于此,在優化其DAG的過程中,Spark會重新對pipeline進行組合,map等算子的操作區間僅位于SparkEx-ecutor上。寬依賴是RDD A,B,G所具有的關系,因此要執行join算子必須在位于Spark Executor分區中的groupBy算子全部執行完畢時才能夠得到允許,此外,還需要通過網絡對傳輸相關數據,導致執行時間延遲。

2.3Spark生態

SparkCore為整個生態的核心,其他組件有SparkStreaming、SparkSQL、MLlib、GraphX。SparkStreaming在生態中用于處理流式數據,同時又能和其他三大組件無縫集合;SparkSQL擅長處理結構化數據的Spark生態成員,是一個分布式SQL查詢引擎,它提供了一個DataFrame的數據模型。對RDD等方面進行整體性處理是SparkSQL最具代表性的特征,如此,查詢HQL或SQL的工作難度被大幅度降低,并且分析復雜數據的工作也可以同時完成。Spark平臺提供的圖計算和圖挖掘接口是GraphX的基礎,極大方便了大家對分布式圖處理的需求。MLlib是機器學習的算法包,里面包含了一些常用的機器學習算法和處理工具,如分類、回歸、聚類等。

3Hadoop、Spark比較

Hadoop較早成為大數據行業應用最廣泛的應用框架,但近些年Spark大有超越Hadoop的趨勢。主要原因在于相比于Hadoop,Spark最大的優勢在于“快”。因為Spark的計算是基于內存的,而Hadoop的MapReduce計算模型涉及大量磁盤讀寫,10開銷巨大,尤其是涉及迭代的情況,高延時的缺點更加突出,這就決定了Hadoop只能適合于對實時性要求不高的批處理應用場景。其次,Spark開發多使用Scala,代碼量要比Hadoop簡潔很多。最后,在機器學習和數據挖掘算法方面,Spark提供的MLlib使得國內外的研究重點紛紛轉移至了Spark。但Spark也僅僅是在計算模型方面可以代替MapReduce,還不能使用Hadoop進行完全替代。

隨著有關方面發展速度的不斷提升,構成Hadoop與Speark的軟件生態系統所涵蓋的子項目數量均有所增加,同時還在不斷被優化、拓展。兩者各有優點,因此各個企業更多的是將兩者結合起來統一部署,通過Yarn實現整體調度和管理,從而最大程度發揮各自的優勢。

4展望

在最近幾年的快速發展下,無論Hadoop還是Spark,均已經成為一個包含多個子項目的軟件生態系統,并且還在不斷被優化、拓展。兩者各有優點,因此各個企業更多的是將兩者結合起來統一部署,通過Yarn實現整體調度和管理,從而最大程度發揮各自的優勢。

主站蜘蛛池模板: 国内毛片视频| 九色国产在线| 亚洲综合18p| 999福利激情视频| 欧美日韩在线成人| 亚洲视频a| 国产一区成人| 538国产在线| 亚洲第一成年人网站| 国产成人综合久久| 国产精品无码AⅤ在线观看播放| 色有码无码视频| 国产精品第5页| 沈阳少妇高潮在线| 久久激情影院| 国产av色站网站| 久久99热66这里只有精品一 | 亚洲青涩在线| 黑人巨大精品欧美一区二区区| 成人中文字幕在线| 国产视频大全| 日韩视频福利| 欧美午夜在线观看| 日韩欧美国产中文| 亚洲av色吊丝无码| 亚洲国产成熟视频在线多多| 亚洲国产成人精品一二区| www中文字幕在线观看| 国产精品无码久久久久AV| 亚洲女同一区二区| 中文字幕欧美日韩| 91色综合综合热五月激情| 欧美成人看片一区二区三区| 亚洲成人动漫在线观看| 一级黄色片网| 色欲不卡无码一区二区| 99精品视频在线观看免费播放| 亚洲国产欧美自拍| 国产一区二区三区精品欧美日韩| 久久亚洲综合伊人| 无码人中文字幕| 无码综合天天久久综合网| 99精品热视频这里只有精品7| 欧美亚洲综合免费精品高清在线观看| 亚洲天堂精品在线观看| 波多野结衣无码视频在线观看| 国产丰满成熟女性性满足视频| 99久久精品免费看国产免费软件| 久久99热66这里只有精品一| 免费人成网站在线高清| 久久一日本道色综合久久| 久久www视频| 热re99久久精品国99热| 精品午夜国产福利观看| 一级毛片在线播放免费| 日本高清成本人视频一区| 四虎影视8848永久精品| 国产在线视频福利资源站| 日本草草视频在线观看| 91精品网站| 成人毛片在线播放| 99久久性生片| 麻豆国产精品| 国产自在自线午夜精品视频| 四虎影视库国产精品一区| 九九免费观看全部免费视频| 国产精品一区二区国产主播| 三区在线视频| 国产一区在线观看无码| 成人精品免费视频| 欧美五月婷婷| 欧美成人怡春院在线激情| 中国黄色一级视频| 久久免费看片| 蜜桃视频一区| 一本一道波多野结衣av黑人在线| 97人妻精品专区久久久久| 老司国产精品视频91| 日韩在线永久免费播放| 最新国产成人剧情在线播放 | 成人免费黄色小视频| 国产chinese男男gay视频网|