硬件和軟件是良好處理數(shù)據(jù)的基本和重要組件,就第一個(gè)而言,有一些技術(shù),如大規(guī)模并行處理(MPP)架構(gòu),可以幫助快速處理。
但是,對(duì)于非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)的管理,有必要采用其他技術(shù),如MapReduce或Hadoop,它們負(fù)責(zé)管理結(jié)構(gòu)化,非結(jié)構(gòu)化或半結(jié)構(gòu)化信息。用于大數(shù)據(jù)分析的工具須能夠在合理的計(jì)算時(shí)間內(nèi)以及在足夠精確的范圍內(nèi)處理大型數(shù)據(jù)集及海量數(shù)據(jù)。
Hadoop
它是一個(gè)通過使用簡(jiǎn)單編程模型的計(jì)算機(jī)組分布式處理大型數(shù)據(jù)集的框架。大數(shù)據(jù)工具Hadoop支持不同的操作系統(tǒng),通常用于云中的任何平臺(tái)。
它還有兩個(gè)主要組件:用于文件存儲(chǔ)的每個(gè)群集節(jié)點(diǎn)(HDFS)上的分布式文件系統(tǒng)和MapReduce編程基礎(chǔ)結(jié)構(gòu)。HDFS文件系統(tǒng)提供容錯(cuò)和高可用性的數(shù)據(jù)庫(kù),而MapReduce可以創(chuàng)建通過結(jié)果研究從分析的數(shù)據(jù)中提取值的算法。
MapReduce
MapReduce由Google于2003年設(shè)計(jì),被認(rèn)為是處理海量數(shù)據(jù)的先鋒平臺(tái),也是通過分割數(shù)據(jù)文件進(jìn)行數(shù)據(jù)處理的范例,它用于可以并行處理大量信息的解決方案中相同的硬件,即PB級(jí),同時(shí)為用戶提供對(duì)底層集群資源的輕松透明管理。MapReduce將處理分為兩個(gè)功能:Map和Reduce。
地圖功能:在執(zhí)行輸入數(shù)據(jù)的攝取和變換并且可以并行處理輸入寄存器的情況下。系統(tǒng)處理鍵值對(duì),直接從分布式文件系統(tǒng)讀取,并使用用戶定義的函數(shù)將這些對(duì)轉(zhuǎn)換為其他中間體。每個(gè)節(jié)點(diǎn)負(fù)責(zé)讀取和轉(zhuǎn)換一個(gè)或多個(gè)分區(qū)的對(duì)。
減少功能:主節(jié)點(diǎn)按鍵對(duì)組進(jìn)行分組,并將組合結(jié)果分發(fā)到每個(gè)節(jié)點(diǎn)中的Reduce進(jìn)程。縮減功能應(yīng)用于與每個(gè)鍵關(guān)聯(lián)的值列表,并生成輸出值。
Apache Storm
它是一個(gè)分布式開源和開源系統(tǒng),與Hadoop相比,具有實(shí)時(shí)處理數(shù)據(jù)處理的優(yōu)勢(shì),Hadoop專為批處理而設(shè)計(jì)。Apache Storm允許實(shí)時(shí)構(gòu)建分布式處理系統(tǒng),可以快速處理無限數(shù)據(jù)流(每個(gè)節(jié)點(diǎn)每秒處理超過一百萬個(gè)元組)。它具有高度可擴(kuò)展性,易于使用并保證低延遲(處理數(shù)據(jù)消息量極大,延遲最?。€提供了一個(gè)非常簡(jiǎn)單的架構(gòu),用于創(chuàng)建稱為拓?fù)涞膽?yīng)用程序。
Storm大數(shù)據(jù)工具基于由完整的峰值,螺栓和流量網(wǎng)絡(luò)組成的拓?fù)?。峰值是電流源,螺栓用于處理流入物以產(chǎn)生流出物。Storm可用于許多情況,例如實(shí)時(shí)分析,在線機(jī)器管理,連續(xù)計(jì)算和分布式RPC、ETL等。
Apache Spark
它誕生了作為解決MapReduce / Hadoop限制的替代方案。它可以在內(nèi)存中快速加載和查詢數(shù)據(jù),對(duì)迭代過程非常有用,并且還提供支持各種應(yīng)用程序的簡(jiǎn)單編程模型。
Apache Spark兼容圖形數(shù)據(jù)庫(kù),傳輸分析,常規(guī)批處理,即席查詢和機(jī)器學(xué)習(xí),并允許使用SQL語(yǔ)言查詢結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。
Spark提供了比Hadoop / MapReduce執(zhí)行更多操作的能力,這有助于以更少的預(yù)算和更復(fù)雜的解決方案執(zhí)行大數(shù)據(jù)項(xiàng)目。它的主要優(yōu)點(diǎn)之一是易于使用,因?yàn)樗梢杂肦,香港服務(wù)器租用,Python,Scala甚至Java編程。Spark有自己的計(jì)算集群管理系統(tǒng),因此它僅將Hadoop HDFS用于存儲(chǔ)。
Apache Flink
Flink是Apache Software Foundation的一個(gè)項(xiàng)目,由一個(gè)由180多個(gè)開源合作者組成的社區(qū)開發(fā)和支持,directadmin授權(quán),并在幾家公司的生產(chǎn)中使用。它被認(rèn)為是一種開源流程處理框架,允許使用單一技術(shù)對(duì)大量數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸分析。
Flink為程序員提供了極大的靈活性,可以通過使用不同的時(shí)間概念(事件時(shí)間,攝取時(shí)間,處理時(shí)間)來關(guān)聯(lián)事件; 它還提供低延遲,高吞吐量,多語(yǔ)言API,無序事件,容錯(cuò)和一致性。
Flume
它是一種常用于Hadoop的攝取或數(shù)據(jù)收集工具。Flume是一個(gè)分布式,可靠且可用的系統(tǒng),它收集聚合并將來自許多不同來源的數(shù)據(jù)傳輸?shù)郊惺綌?shù)據(jù)倉(cāng)庫(kù),例如Hadoop分布式文件系統(tǒng)(HDFS)。它具有靈活且簡(jiǎn)單的架構(gòu),其他架構(gòu)可處理數(shù)據(jù)流的傳輸。容錯(cuò),可調(diào)可靠性機(jī)制和故障恢復(fù)服務(wù)是它的一些功能。Flume依靠簡(jiǎn)單的可擴(kuò)展數(shù)據(jù)模型來處理大量分布式數(shù)據(jù)源。
盡管Flume很好地補(bǔ)充了Hadoop,但它是一個(gè)可以在其他平臺(tái)上運(yùn)行的獨(dú)立組件。他以在一臺(tái)機(jī)器上執(zhí)行多個(gè)進(jìn)程的能力而聞名。通過使用Flume,用戶可以將來自多個(gè)高容量源(例如Avro RPC源和syslog)的數(shù)據(jù)傳輸?shù)浇邮掌鳎ɡ鏗DFS和HBase)以進(jìn)行實(shí)時(shí)分析。此外,F(xiàn)lume提供了一個(gè)查詢處理引擎,可以在將每批新數(shù)據(jù)傳送到指定的接收器之前對(duì)其進(jìn)行轉(zhuǎn)換。
【凡本網(wǎng)注明來源非中國(guó)IDC圈的作品,均轉(zhuǎn)載自其它媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)?!?/p>