自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊大數(shù)據(jù)技術(shù)現(xiàn)狀和分類

大數(shù)據(jù)
Apache Hadoop是一個眾所周知的批處理框架,它支持在集群上分布式存儲和處理大型數(shù)據(jù)。它是一個基于Java的開源框架,被Facebook、Yahoo和Twitter用于存儲和處理大數(shù)據(jù)。

隨著社交媒體、物聯(lián)網(wǎng)和多媒體應(yīng)用等各種來源產(chǎn)生的海量數(shù)據(jù)的誕生,大數(shù)據(jù)已經(jīng)成為一個重要的研究領(lǐng)域。大數(shù)據(jù)在許多決策和預(yù)測領(lǐng)域發(fā)揮了關(guān)鍵作用,如推薦系統(tǒng)、商業(yè)分析、醫(yī)療保健、網(wǎng)絡(luò)展示廣告、臨床醫(yī)生、交通、欺詐檢測和旅游營銷。Hadoop、Storm、Spark、Flink、Kafka和Pig等各種大數(shù)據(jù)工具的研究和工業(yè)界的快速發(fā)展,使得大規(guī)模數(shù)據(jù)得以分發(fā)、交流和處理[1]。大數(shù)據(jù)應(yīng)用程序使用大數(shù)據(jù)分析技術(shù)來高效地分析大數(shù)據(jù)。

然而,由于大數(shù)據(jù)在處理和應(yīng)用方面的挑戰(zhàn),開發(fā)人員選擇合適的大數(shù)據(jù)工具來開發(fā)大數(shù)據(jù)系統(tǒng)非常困難。因此,本文提出了一個分類方案,根據(jù)不同的數(shù)據(jù)處理方式對大數(shù)據(jù)工具進行分類。

大數(shù)據(jù)工具的分類

大數(shù)據(jù)計算主要有三種工具,即批處理工具、流處理工具和混合處理工具。大多數(shù)批處理數(shù)據(jù)分析框架都基于Apache Hadoop。流式數(shù)據(jù)分析框架主要是實時應(yīng)用中使用的Storm、S4和Flink?;旌咸幚砉ぞ呃门幚砗土魈幚淼膬?yōu)點來計算大量數(shù)據(jù)。

批處理工具

批處理建模并將數(shù)據(jù)湖的文件轉(zhuǎn)換為批處理視圖,為分析用例做好準(zhǔn)備。它負(fù)責(zé)安排和執(zhí)行批量迭代算法,如排序、搜索、索引或更復(fù)雜的算法,如PageRank、貝葉斯分類或遺傳算法。批處理主要由MapReduce編程模型表示。

Apache Hadoop是一個眾所周知的批處理框架,它支持在集群上分布式存儲和處理大型數(shù)據(jù)。它是一個基于Java的開源框架,被Facebook、Yahoo和Twitter用于存儲和處理大數(shù)據(jù)。Hadoop主要由兩個組件組成:(1)Hadoop分布式文件系統(tǒng)(HDFS),其中集群節(jié)點之間的數(shù)據(jù)存儲是分布式的;(2)Hadoop MapReduce引擎,它將數(shù)據(jù)處理分配給集群的節(jié)點[2]。

圖 1 Hadoop的MapReduce

Apache Pig是Hadoop生態(tài)系統(tǒng)的一個不可或缺的組件,它通過在Hadoop上并行執(zhí)行數(shù)據(jù)流來減少數(shù)據(jù)分析時間。Pig是一種結(jié)構(gòu)化查詢語言(SQL),被LinkedIn、Twitter、Yahoo等大型組織使用。該平臺的腳本語言稱為Pig Latin,它將MapReduce中的編程復(fù)雜性從其他語言(如Java)抽象為高級語言。Pig是一個最完整的平臺,因為它可以通過直接調(diào)用用戶定義函數(shù)(UDF)來調(diào)用JavaScript、Java、Jython和JRuby等多種語言的代碼。因此,開發(fā)人員可以使用Pig在Hadoop中完成所有必需的數(shù)據(jù)操作。Pig可以作為一個具有相當(dāng)多并行性的組件,用于構(gòu)建復(fù)雜而繁重的應(yīng)用程序。

Flume被用作向Hadoop提供數(shù)據(jù)的工具。與處理框架一起,需要一個消息傳遞層來訪問和轉(zhuǎn)發(fā)流數(shù)據(jù)。Apache Flume是提供這一功能的較為成熟的選項之一。Flume一直是數(shù)據(jù)饋送的著名應(yīng)用程序。它很好地嵌入到整個Hadoop生態(tài)系統(tǒng)中,并獲得了所有商業(yè)Hadoop發(fā)行版的支持。這使得Flume成為開發(fā)者的主要選擇[3]。

流處理工具

Hadoop是為批處理而設(shè)計的。Hadoop是一個多用途引擎,但由于其延遲,它不是一個實時和高性能的引擎。在一些流數(shù)據(jù)應(yīng)用中,如日志文件處理、工業(yè)傳感器和遠程通信,需要實時響應(yīng)和處理流式大數(shù)據(jù)。因此,有必要對流處理進行實時分析。流式大數(shù)據(jù)需要實時分析,因為大數(shù)據(jù)具有高速、大容量和復(fù)雜的數(shù)據(jù)類型,對于Map/Reduce框架將是一個挑戰(zhàn)。因此,Storm、S4、Splunk和Apache Kafka等流處理的實時大數(shù)據(jù)平臺已被開發(fā)為第二代數(shù)據(jù)流處理平臺用于實時分析數(shù)據(jù),實時處理意味著連續(xù)數(shù)據(jù)處理需要極低的響應(yīng)延遲[4]。

Storm是實時分析中最受認(rèn)可的數(shù)據(jù)流處理程序之一,專注于可靠的消息處理。Storm是一個免費、開源的分布式流媒體處理環(huán)境,用于開發(fā)和運行分布式程序,處理源源不斷的數(shù)據(jù)流。因此,可以說Storm是一個開源、通用、分布式、可擴展和部分容錯的平臺,可以可靠地處理無限的數(shù)據(jù)流以進行實時處理。Storm的一個優(yōu)點是,開發(fā)人員可以專注于使用穩(wěn)定的分布式進程,同時將分布式/并行處理的復(fù)雜性和技術(shù)挑戰(zhàn)(如構(gòu)建復(fù)雜的恢復(fù)機制)委托給框架。Storm是一個復(fù)雜的事件處理器和分布式計算框架,基本上是用Clojure編程語言編寫的。它是一個分布式實時計算系統(tǒng),用于快速處理大數(shù)據(jù)流。Storm是一個分布式/并行框架,由Nimbus、Supervisor和Zookeeper組成,如圖2所示。Storm集群主要由主節(jié)點和工作節(jié)點組成,由Zookeeper進行協(xié)調(diào)。

圖2 Storm拓?fù)涞氖纠?/p>

S4是一個受MapReduce模型啟發(fā)的分布式流處理平臺。流的操作由用戶代碼和用XML描述的配置作業(yè)指定。S4是一個通用的、容錯的、可擴展的、分布式的、可插拔的計算框架,程序員可以輕松地開發(fā)用于處理連續(xù)無界數(shù)據(jù)流的應(yīng)用程序。它最初由Yahoo 2010年發(fā)布,并從2011年起成為Apache孵化器項目。S4允許程序員基于幾個有競爭力的特性開發(fā)應(yīng)用程序,包括可伸縮性、分散性、健壯性、可擴展性和集群管理。S4是用Java編寫的。S4作業(yè)的任務(wù)是模塊化和可插拔,以便于動態(tài)處理大規(guī)模流數(shù)據(jù)。S4使用Apache ZooKeeper來管理集群,就像Storm一樣。

Kafka是一個開源的分布式流媒體框架,最初由LinkedIn在2010年開發(fā)。它是一個靈活的發(fā)布-訂閱消息傳遞系統(tǒng),旨在快速、可擴展,并通常用于日志收集。Kafka是用Scala和Java編寫的。它有一個多生產(chǎn)者管理系統(tǒng),能夠從多個來源獲取消息。通常,Kafka的數(shù)據(jù)分區(qū)和保留功能使其成為容錯事務(wù)收集的有用工具。這是因為應(yīng)用程序可以開發(fā)和訂閱記錄流,具有容錯保證,并且可以在記錄流出現(xiàn)時對其進行處理。

Flink是一個流式處理工具,旨在解決微批量模型衍生的問題。Flink還支持使用Scala和Java中的編程抽象進行批處理數(shù)據(jù)處理,盡管它被視為流處理的特例。在Flink中,每個作業(yè)都作為流計算執(zhí)行,每個任務(wù)都作為循環(huán)數(shù)據(jù)流執(zhí)行,并進行多次迭代。Flink還提供了一種復(fù)雜的容錯機制,以一致地恢復(fù)數(shù)據(jù)流應(yīng)用程序的狀態(tài)。該機制生成分布式數(shù)據(jù)流和操作員狀態(tài)的一致快照。如果出現(xiàn)故障,系統(tǒng)可以退回到這些快照。FlinkML的目標(biāo)是為Flink用戶提供一套可伸縮的機器學(xué)習(xí)算法和直觀的API。

Apache Spark是Hadoop最新的替代方案。它包括一個名為MLlib的額外組件,這是一個面向機器學(xué)習(xí)算法的庫,例如:聚類、分類、回歸,甚至數(shù)據(jù)預(yù)處理[6]。由于Spark的容量,批量和流式分析可以在同一平臺上完成。Spark的開發(fā)是為了克服Hadoop的缺點,即它沒有針對迭代算法和交互式數(shù)據(jù)分析進行優(yōu)化,后者對同一組數(shù)據(jù)執(zhí)行多個操作。Spark被定義為下一代分布式計算框架的核心,由于其內(nèi)存密集型方案,它可以在內(nèi)存中快速處理大容量數(shù)據(jù)集。

混合處理工具

混合處理使大數(shù)據(jù)平臺進入第三代成為可能,因為它是大數(shù)據(jù)應(yīng)用中許多領(lǐng)域所必需的。該范例綜合了基于Lambda架構(gòu)的批處理和流處理范例。Lambda體系結(jié)構(gòu)是一種數(shù)據(jù)處理體系結(jié)構(gòu),旨在通過利用批處理和流處理方法來處理大量數(shù)據(jù)。這個范例的高級架構(gòu)包含三層。批處理層管理已存儲在分布式系統(tǒng)中且不可更改的主數(shù)據(jù)集,服務(wù)層加載并在數(shù)據(jù)存儲中公開批處理層的視圖以供查詢,而速度層只處理低延遲的新數(shù)據(jù)。最后,通過批處理和實時視圖的組合,將完整的結(jié)果合并[7]。

圖3 Lambda架構(gòu)

引 用

[1] Mohamed A, Najafabadi M K, Wah Y B, et al. The state of the art and taxonomy of big data analytics: view from new big data framework[J]. Artificial Intelligence Review, 2020, 53(2): 989-1037.

[2] Singh H, Bawa S. A MapReduce-based scalable discovery and indexing of structured big data[J]. Future generation computer systems, 2017, 73: 32-43.

[3] Bharti S K, Vachha B, Pradhan R K, et al. Sarcastic sentiment detection in tweets streamed in real time: a big data approach[J]. Digital Communications and Networks, 2016, 2(3): 108-121.

[4] Manco G, Ritacco E, Rullo P, et al. Fault detection and explanation through big data analysis on sensor streams[J]. Expert Systems with Applications, 2017, 87: 141-156.

[5] Tennant M, Stahl F, Rana O, et al. Scalable real-time classification of data streams with concept drift[J]. Future Generation Computer Systems, 2017, 75: 187-199.

[6] Ai W, Li K, Li K. An effective hot topic detection method for microblog on spark[J]. Applied Soft Computing, 2018, 70: 1010-1023.

[7] Hasani Z, Kon-Popovska M, Velinov G. Lambda architecture for real time big data analytic[J]. ICT Innovations, 2014: 133-143.

責(zé)任編輯:武曉燕 來源: 中國保密協(xié)會科學(xué)技術(shù)分會
相關(guān)推薦

2018-12-07 14:59:37

2021-06-10 19:10:32

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用大數(shù)據(jù)技術(shù)

2019-04-09 20:55:30

2022-02-24 18:51:04

跨端框架方案

2017-12-17 22:16:58

2019-06-11 13:22:32

Lambda大數(shù)據(jù)架構(gòu)大數(shù)據(jù)平臺

2020-12-31 14:14:35

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用

2018-06-06 10:06:05

云計算大數(shù)據(jù)開源

2018-06-07 15:15:46

云計算 大數(shù)據(jù)

2016-08-31 14:41:31

大數(shù)據(jù)實時分析算法分類

2012-09-28 11:00:19

大數(shù)據(jù)Hadoop

2023-09-11 07:25:52

2019-09-11 15:01:48

人工智能安全現(xiàn)狀

2014-08-21 09:16:45

生物醫(yī)學(xué)

2015-09-15 09:46:37

大數(shù)據(jù)專利技術(shù)

2021-08-31 22:49:50

大數(shù)據(jù)互聯(lián)網(wǎng)技術(shù)

2012-04-19 09:16:41

大數(shù)據(jù)PaaS云計算

2015-06-15 12:58:39

大數(shù)據(jù)大數(shù)據(jù)查詢

2022-10-25 18:02:31

大數(shù)據(jù)存算分離

2015-04-07 13:40:00

大數(shù)據(jù)大數(shù)據(jù)安全現(xiàn)狀
點贊
收藏

51CTO技術(shù)棧公眾號