2020年10種最佳大數(shù)據(jù)工具
您是否曾經(jīng)想過(guò)如何為業(yè)務(wù)和應(yīng)用程序開發(fā)選擇最佳的大數(shù)據(jù)引擎?大數(shù)據(jù)軟件市場(chǎng)是巨大的,競(jìng)爭(zhēng)激烈的,充滿了看似非常相似的軟件。
當(dāng)前,大數(shù)據(jù)是企業(yè)軟件開發(fā)和補(bǔ)充中最需要的之一。大數(shù)據(jù)技術(shù)的高度普及是由于數(shù)據(jù)量的快速和持續(xù)增長(zhǎng)引起的現(xiàn)象。
必須檢查,構(gòu)造和處理海量數(shù)據(jù)陣列,以提供所需的帶寬。數(shù)據(jù)處理引擎在用于移動(dòng)應(yīng)用程序的技術(shù)堆棧中得到了越來(lái)越多的使用,等等。
那么,什么大數(shù)據(jù)框架將是2020年的最佳選擇?您應(yīng)該為產(chǎn)品選擇什么?讓我們找出答案!

頂級(jí)大數(shù)據(jù)框架:技術(shù)公司將在2020年選擇什么?
如今,可能沒(méi)有單一的大數(shù)據(jù)軟件無(wú)法處理大量數(shù)據(jù)。已經(jīng)創(chuàng)建了特殊的大數(shù)據(jù)框架來(lái)實(shí)現(xiàn)和支持此類軟件的功能。它們有助于快速處理和構(gòu)建大量實(shí)時(shí)數(shù)據(jù)。
什么是最好的大數(shù)據(jù)工具?
目前市場(chǎng)上有許多很棒的大數(shù)據(jù)工具。為了進(jìn)入前10名,我們必須排除很多值得一提的著 名解決方案一Kafka和Kafka Streams, Apache TEZ, Apache Impala, Apache Beam,Apache Apex。但是,我們只選擇代表:
最受歡迎,例如Hadoop, Storm, Hive和Spark;
最有前途的像Flink和Heron;
最有用的,例如Presto和MapReduce;
此外,大多數(shù)被低估的公司如Samza和Kudu。
我們已經(jīng)進(jìn)行了透徹的分析,以構(gòu)成將在2020年成為主流的這些頂級(jí)大數(shù)據(jù)框架。讓我們一起來(lái)看看!

1. Hadoop,它在2020年仍然會(huì)流行嗎?
Apache Hadoop是大數(shù)據(jù)存儲(chǔ)和處理的革命性解決方案。大多數(shù)大數(shù)據(jù)軟件都是圍繞Hadoop構(gòu)建的或與Hadoop兼容的。這是來(lái)自Apache Software Foundation的開源項(xiàng)目。
什么是Hadoop框架?
Hadoop非常適合可靠,可擴(kuò)展的分布式計(jì)算。但是,它也可以用作通用文件存儲(chǔ)。它可以存儲(chǔ)和處理PB的數(shù)據(jù)。該解決方案包含三個(gè)關(guān)鍵組件:
HDFS文件系統(tǒng),負(fù)責(zé)Hadoop集群中數(shù)據(jù)的存儲(chǔ);
MapReduce系統(tǒng),旨 在處理集群中的大量數(shù)據(jù);
YARN,處理資源管理的核心。
Hadoop如何精確地解決現(xiàn)代DBMS的內(nèi)存問(wèn)題? Hadoop在交互式數(shù)據(jù)庫(kù)和數(shù)據(jù)存儲(chǔ)之間使用中間層。其性能隨著數(shù)據(jù)存儲(chǔ)空間的增加而增長(zhǎng)。為了進(jìn)一步擴(kuò) 展,您可以將新節(jié)點(diǎn)添加到數(shù)據(jù)存儲(chǔ)中。
Hadoop可以存儲(chǔ)和處理許多PB的信息,而Hadoop中 最快的進(jìn)程只需幾秒鐘即可運(yùn)行。它還禁止在處理過(guò)程中對(duì)已存儲(chǔ)在HDFS系統(tǒng)中的數(shù)據(jù)進(jìn)行任何編輯。
媒體對(duì)“Hadoop的死亡”的熱議背后是否有何用意?
第一次問(wèn)世時(shí)是革命性的,它催生了一個(gè)圍繞著它的產(chǎn)業(yè)鏈。現(xiàn)在,大數(shù)據(jù)正在遷移到云中,并且有很多關(guān)于災(zāi)難的說(shuō)法。Hadoop終結(jié)了嗎?考慮一下,大多數(shù)數(shù)據(jù)都存儲(chǔ)在HDFS中,并且仍然需要用于處理或轉(zhuǎn)換它的工具。
Hadoop仍然是一個(gè)強(qiáng)大的批處理工具, 可以與大多數(shù)其他大數(shù)據(jù)分析框架集成。它的組件: HDFS,MapReduce和YARN對(duì)行業(yè)本身是不可或缺的。因此,看起來(lái)它不會(huì)很快消失。
但是,盡管Hadoop無(wú)疑很受歡迎,但技術(shù)進(jìn)步提出了新的目標(biāo)和要求。更多高級(jí)替代品正逐漸進(jìn)入市場(chǎng),以搶占市場(chǎng)份額(我們將進(jìn)一 步討論其中的一些)

2. MapReduce。這個(gè)大數(shù)據(jù)搜索引擎會(huì)過(guò)時(shí)嗎?
MapReduce是Hadoop框架的搜索引擎。它最早是由Google于2004年作為并行處理大量原始數(shù)據(jù)量的算法而引入的。后來(lái),它成為了我們?nèi)缃袼腗apReduce。
該引擎將數(shù)據(jù)視為條目,并分三個(gè)階段處理它們:
1.地圖(數(shù)據(jù)的預(yù)處理和過(guò)濾)。
2.隨機(jī)播放(工作節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行排序,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)輸出鍵,這是地圖功能產(chǎn)生的)。
3.精簡(jiǎn)(精簡(jiǎn)功能由用戶設(shè)置,并為單獨(dú)的輸出數(shù)據(jù)組定義最終結(jié)果)。
所有值中的大多數(shù)由Reduce返回(函數(shù)是MapReduce任務(wù) 的最終結(jié)果)。MapReduce提供數(shù)據(jù)的自動(dòng)并行化,高效的平衡和故障安全性能。
多年來(lái),它一直是該行業(yè)的主食,并與其他著名的大數(shù)據(jù)技術(shù)一起使用。 但是MapReduce可以替代,尤其是Apache Tez。它是高度可定制的,并且速度更快。它使用YARN進(jìn)行資源管理,因此資源效率更高。
3.SPRAK還是以前那樣強(qiáng)大的工具?
Apache Spark繼續(xù)為最佳的大數(shù)據(jù)框架。與Apache Hadoop相比,它是一個(gè)開放源代碼框架,是作為更高級(jí)的解決方案而創(chuàng)建的。最初的框架是為處理大數(shù)據(jù)而明確構(gòu)建的。這兩種解決方案之間的主要區(qū)別在于數(shù)據(jù)檢索模型。

Apache Spark一Computerphile
Hadoop將數(shù)據(jù)與MapReduce算法的每個(gè)步驟一起保存在硬盤上。當(dāng)Spark執(zhí)行所有操作時(shí),將使用隨機(jī)存取存儲(chǔ)器。因此,Spark顯示 了快速的性能,并允許處理大量數(shù)據(jù)流。Spark的功能支 柱和主要特征是高性能和故障安全性。
它支持四種語(yǔ)言:
Scala;
Java;
Python;
R.
它包含五個(gè)組件:核心和四個(gè)與大數(shù)據(jù)進(jìn)行優(yōu)化交互的庫(kù)。Spark SQL是用于結(jié)構(gòu)化數(shù)據(jù)處理的四個(gè)專用框架庫(kù)之一。使用DataFrame和解決Hadoop Hive請(qǐng)求的速度提高了100倍。
Spark的Sparkling Water 2.3.0是業(yè)界最佳的Al實(shí)施之一。Spark還具有Streaming工具,可實(shí)時(shí)處理特定于線程的數(shù)據(jù)。實(shí)際上,該工具更多地是微批量處理器而不是流處理器,并且基準(zhǔn)測(cè)試也證明了這一點(diǎn)。
最快的批量處理器或最大的流處理器?
Spark的行為 更像是快速批量處理器,而不是像Flink,Heron或Samza這樣的實(shí)際流處理器。如果您在批處理處理器中需要類似流的功能,那就可以了?;蛘?如果您需要高吞吐量的慢速流處理器。這是一個(gè)觀點(diǎn)問(wèn)題。

Spark創(chuàng)始人指出,處理每個(gè)微批處理的平均時(shí)間僅需0.5秒。接下來(lái)是MLib,它是一種分布式機(jī)器學(xué)習(xí)系統(tǒng),比Apache Mahout庫(kù)快9倍。同樣,最后一個(gè)庫(kù)是GraphX,用于可伸縮處理圖數(shù)據(jù)。
Spark通常被認(rèn)為是Hadoop的實(shí)時(shí)替代品??梢?,但是與Hadoop生態(tài)系統(tǒng)中的所有組件一樣,它可以與Hadoop和其他重要的大數(shù)據(jù)框架一起使用 。
4.HIVE 大數(shù)據(jù)分析框架
Apache Hive由Facebook創(chuàng)建,旨在結(jié)合最流行的大數(shù)據(jù)框架之一的可擴(kuò)展性。它是將SQL請(qǐng)求轉(zhuǎn)換為MapReduce任務(wù)鏈的引擎。
該引擎包括以下組件:
解析器(對(duì)傳入的SQL請(qǐng)求進(jìn)行排序) ;
優(yōu)化器(優(yōu)化請(qǐng)求以提高效率) ;
執(zhí)行程序(在MapReduce框架中啟動(dòng)任務(wù))
Hive可以與Hadoop集成(作為服務(wù)器部分),以分析大數(shù)據(jù)量。這是一一個(gè)基準(zhǔn)測(cè)試,顯示了Hive在Tez上的競(jìng)爭(zhēng)表現(xiàn)(越低越好)。

在最初發(fā)布十年后,Hive仍然是最常用的大數(shù)據(jù)分析框架之一。
Hive 3由Hortonworks于2018年發(fā)布。它將MapReduce替換為Tez作為搜索引擎。它具有機(jī)器學(xué)習(xí)功能,并與其他流行的大數(shù)據(jù)框架集成。
但是,在Hortonworks和Cloudera最近合并之后,一些人對(duì)該項(xiàng)目的未來(lái)感到擔(dān)憂。Hive的主要競(jìng)爭(zhēng)對(duì)手Apache Impala由Cloudera發(fā)行。
5.Storm ,是Twitter第一個(gè)大數(shù)據(jù)框架
Apache Storm是另一個(gè)杰出的解決方案,專注于處理大型實(shí)時(shí)數(shù)據(jù)流。Storm的主要功能是可伸縮性和停機(jī)后迅速恢復(fù)的能力。您可以在Java, Python, Ruby和Fancy的幫助 下使用此解決方案。
Storm具有幾個(gè)元素,使其與類似物大為不同。第一個(gè)是Tuple,它是支持序列化的關(guān)鍵數(shù)據(jù)表示元素。然后是Stream,其中包含在Tuple中命名字段的方案。Spout從外部來(lái)源接收數(shù)據(jù),從中形成元組,并將其發(fā)送到Stream。
還有數(shù)據(jù)處理程序Bolt和Topolog y,即一包元素及其相關(guān)描述。結(jié)合在一起,所有這些元素都可以幫助開發(fā)人員管理大量非結(jié)構(gòu)化數(shù)據(jù)流。
說(shuō)到性能,Storm提供了比Flink和Spark更好的延遲。但是,它的吞吐量較差。最近,Twitter (Storm的主要支持者)轉(zhuǎn)移到了一個(gè)新的框架Heron。風(fēng)暴仍在使用Yelp的一樣,雅虎,阿里巴巴,以及一些大公司等。到2020年,它仍將擁有龐大的用戶群和支持。
6. Samza,為Kafka制作的流處理器
Apache Samza是與Kafka共同開發(fā)的有狀態(tài)流處理大數(shù)據(jù)框架。Kafka提供數(shù)據(jù)服務(wù),緩沖和容錯(cuò)能力。該二重奏旨在用于需要快速單階段處理的地方。借助Kafka,可以以較低的延遲使用它。Samza還可在處理過(guò)程中保存局部狀態(tài),以提供額外的容錯(cuò)能力。
Samza專為Kappa體系結(jié)構(gòu)(僅用于流處理管道)而設(shè)計(jì),但可以在其他體系結(jié)構(gòu)中使用。Samza使用YARN來(lái)協(xié)商資源。因此,它需要一個(gè)Hadoop集群才能工作,這意味著您可以依賴YARN提供的功能。
這個(gè)大數(shù)據(jù)處理框架是為L(zhǎng)inkedin開發(fā)的,eBay和TripAdvisor還將其用于欺詐檢測(cè)。 Kafka使用了相當(dāng)一部分代碼來(lái)創(chuàng)建競(jìng)爭(zhēng)的數(shù)據(jù)處理框架Kafka流??偠灾?,Samza是一 個(gè)強(qiáng)大的工具,擅長(zhǎng)于其用途。但是Kafka流可以完全取代它嗎?只有時(shí)間會(huì)給出答案。
7.Flink,真正的混合大數(shù)據(jù)處理器。
Apache Flink是用于流和批處理的強(qiáng)大的大數(shù)據(jù)處理框架。它最初是在2008年左右作為科學(xué)實(shí)驗(yàn)的一部分而構(gòu)思的,并于2014年左右開始開源。此后一直受到歡迎。
Flink具有許多有趣的功能和令人印象深刻的新技術(shù)。它使用像Apache Samza這樣的有狀態(tài)流處理。但是它也可以進(jìn)行ETL和批處理,效率很高。

最適合Lambda管道
對(duì)于簡(jiǎn)化同時(shí)需要流處理和批處理的體系結(jié)構(gòu)而言,這是一個(gè)絕佳的選擇。它可以從提取的數(shù)據(jù)中提取時(shí)間戳,以創(chuàng)建更準(zhǔn)確的時(shí)間估計(jì)和流數(shù)據(jù)分析的更好框架。它還具有機(jī)器學(xué)習(xí)的實(shí)現(xiàn)能力。
作為Hadoop生態(tài)系統(tǒng)的一部分, 它可以輕松集成到現(xiàn)有架構(gòu)中。它具有與MapReduce和Storm集成的傳統(tǒng),因此您可以在其.上運(yùn)行現(xiàn)有的應(yīng)用程序。它對(duì)大數(shù)據(jù)具有良好的可伸縮性。
Flink非常適合設(shè)計(jì)事件驅(qū)動(dòng)的應(yīng)用程序。您可以在其上設(shè)置檢查點(diǎn)以在處理過(guò)程中發(fā)生故障時(shí)保留進(jìn)度。Flink還與流行的數(shù)據(jù)可視化工具Zeppelin具有連接性。
阿里巴巴使用Flink觀察光棍節(jié)的消費(fèi)者行為和搜索排名。結(jié)果,銷售額增長(zhǎng)了30%。金融巨頭ING使用Flink構(gòu)建欺詐檢測(cè)和用戶通知應(yīng)用程序。此外,F(xiàn)link還具有機(jī)器學(xué)習(xí)算法。
Flink無(wú)疑是令人興奮的新大數(shù)據(jù)處理技術(shù)之一。但是,可能有理由不使用它。大多數(shù)科技巨頭尚未完全接受Flink,而是選擇投資自己的具有類似功能的大數(shù)據(jù)處理引擎。例如,Google的Data Flow + Beam和Twitter的Apache Heron。同時(shí),Spark和Storm繼續(xù)擁有 可觀的支持和支持。總而言之,F(xiàn)link是一 個(gè)框架,預(yù)計(jì)將在2020年增加其用戶基礎(chǔ)。
8.Heron,這個(gè)流處理器將成為下一個(gè)大問(wèn)題嗎?
Heron,這是較新的大數(shù)據(jù)處理引擎之一。 Twitter將其開 發(fā)為Storm的新一代替代產(chǎn)品。它旨在用于實(shí)時(shí)垃圾郵件檢測(cè),ETL任務(wù)和趨勢(shì)分析。
Apache Heron與Storm完全向后兼容,并且遷移過(guò)程簡(jiǎn)單。其設(shè)計(jì)目標(biāo)包括低延遲,良好且可預(yù)測(cè)的可伸縮性以及易于管理。開發(fā)人員非常重視進(jìn)程隔離,以便于調(diào)試和穩(wěn)定地使用資源。Twitter的基準(zhǔn) 顯示,與Storm相比有了顯著改善。

該框架仍處于開發(fā)階段,因此,如果您正在尋找早日采用的技術(shù),則可能適合您。通過(guò)與Storm的出色兼容性以及Twitter的強(qiáng)大支持,Heron可 能很快會(huì)成為下一個(gè)大問(wèn)題。
9. Kudu
Apache Kudu是令人興奮的新存儲(chǔ)組件。它旨在簡(jiǎn)化Hadoop生態(tài)系統(tǒng)中的一些復(fù)雜管道。它是一種類似于SQL的解決方案,旨在將隨機(jī)讀取和順序讀取和寫入結(jié)合在一起。
專門的隨機(jī)或順序訪問(wèn)存儲(chǔ)可以更有效地達(dá)到其目的。Hbase的隨機(jī)訪問(wèn)掃描速度是后者的兩倍,而具有Parquet的HDFS則可與批處理任務(wù)媲美。

沒(méi)有簡(jiǎn)單的方法來(lái)進(jìn)行具有適當(dāng)速度和效率的隨機(jī)和順序讀取。特別是對(duì)于需要快速不斷更新數(shù)據(jù)的環(huán)境。直到苦都。它旨在與Hadoop生態(tài)系統(tǒng)的大多數(shù)其他大數(shù)據(jù)框架集成,尤其是Kafka和lmpala。
在Kudu.上建立的項(xiàng)目
Kudu目前用于華爾街的市場(chǎng)數(shù)據(jù)欺詐檢測(cè)。事實(shí)證明,它特別適合處理具有頻繁更新的不同數(shù)據(jù)流。這對(duì)于實(shí)時(shí)廣告分析也非常有用,因?yàn)樗俣瓤烨姨峁┝顺錾臄?shù)據(jù)可用性。
中國(guó)手機(jī)巨頭小米選擇了Kudu來(lái)收集錯(cuò)誤報(bào)告。主要是因?yàn)樗哂泻?jiǎn)化和簡(jiǎn)化數(shù)據(jù)管道以提高查詢和分析速度的能力。

10. Presto,大數(shù)據(jù)查詢引擎,用于小數(shù)據(jù)查詢
對(duì)于較小的任務(wù),Presto是 Apache Hive的一種更快,更靈活的替代方案。Presto于2013年作為開放源代碼發(fā)布。它是一種自適應(yīng),靈活的查詢工具,適用于具有不同存儲(chǔ)類型的多租戶數(shù)據(jù)環(huán)境。

行業(yè)巨頭(例如Amazon或Netflix) 對(duì)其進(jìn)行開發(fā)或?qū)υ摯髷?shù)據(jù)框架做出貢獻(xiàn)。Presto具有 聯(lián)邦結(jié)構(gòu),各種各樣的連接器以及許多其他功能。
最初的設(shè)計(jì)要求之一是能夠分析較小的數(shù)據(jù)子集(在50gb 一 3tb范圍內(nèi))。對(duì)于該數(shù)據(jù)范圍的描述性分析非常方便。
如何選擇大數(shù)據(jù)技術(shù)?
一個(gè)棘手的問(wèn)題。綜上所述,可以肯定地說(shuō),數(shù)據(jù)處理框架中沒(méi)有最佳選擇。每個(gè)人都有其優(yōu)點(diǎn)和缺點(diǎn)。而且,某些解決方案提供的結(jié)果嚴(yán)格取決于許多因素。
根據(jù)我們的經(jīng)驗(yàn),使用不同工具的混合解決方案效果最佳。大數(shù)據(jù)框架市場(chǎng)上的各種報(bào)價(jià)使精通技術(shù)的公司可以選擇最合適的工具來(lái)完成任務(wù)。
您是否仍然想知道哪種框架最適合大數(shù)據(jù)?
雖然我們之前已經(jīng)以正確的方式回答了這個(gè)問(wèn)題。那些仍然感興趣的人,我們認(rèn)為什么是大數(shù)據(jù)框架最有用,我們將它們分為三類。
The Storm是最適合流媒體播放的內(nèi)容,比Heron慢, 但背后有更多發(fā)展。
Spark是批處理任務(wù)的最佳選擇,有用的功能可以執(zhí)行其他操作;
Flink是最好的混合動(dòng)力車。為此開發(fā)的,具有相關(guān)功能集。
但是,我們?cè)俅螐?qiáng)調(diào)這一點(diǎn)。最好的框架是適合當(dāng)前任務(wù)的框架。
盡管當(dāng)今有許多框架,但是在大多數(shù)開發(fā)人員中,只有少數(shù)非常受歡迎和需要。在本文中,我們考慮了10個(gè)頂級(jí)大數(shù)據(jù)框架和庫(kù),這些框架和庫(kù)必將在即將到來(lái)的2020年保持領(lǐng)先地位。
大數(shù)據(jù)軟件市場(chǎng)無(wú)疑是一個(gè)競(jìng)爭(zhēng)激烈且令人困惑的領(lǐng)域。不乏新穎有趣的產(chǎn)品以及創(chuàng)新功能。我們希望這個(gè)大數(shù)據(jù)框架列表可以幫助您進(jìn)行導(dǎo)航。



評(píng)論
評(píng)論
推薦評(píng)論
暫無(wú)評(píng)論哦,快來(lái)評(píng)論一下吧!
全部評(píng)論(0條)