發(fā)布于:2021-01-07 10:28:28
0
396
0
在Java中使用BDA依賴于許多工具。這些大多數(shù)都是開源的,當(dāng)一起使用時(shí),它們形成了BDA堆棧,可提供強(qiáng)大的功能級(jí)別。本文研究了一些頂級(jí)工具。
如果您認(rèn)為大數(shù)據(jù)分析(BDA)是流行語,請(qǐng)?jiān)倏紤]一遍。從醫(yī)療保健提供商到金融機(jī)構(gòu),幾乎每個(gè)行業(yè)現(xiàn)在都在使用大數(shù)據(jù)。大數(shù)據(jù)現(xiàn)在對(duì)移動(dòng)應(yīng)用程序開發(fā)產(chǎn)生巨大影響,該領(lǐng)域的領(lǐng)導(dǎo)者正在探索如何使用AI進(jìn)行大數(shù)據(jù)分析。
綜上所述,在Java中使用BDA的工作已被忽略。這很奇怪,因?yàn)槭褂肂DA的開發(fā)人員使用的許多工具都是用Java本機(jī)編寫的。簡(jiǎn)而言之,在我們的大數(shù)據(jù)指南中,我們研究了一些BDA的高級(jí)工具,但是在本文中,我們將采用一種更基本的方法,并為您提供一些直接從Java處理大數(shù)據(jù)的工具。
Java大數(shù)據(jù)分析
許多使用BDA的開發(fā)人員不會(huì)接觸Java。真可惜,因?yàn)镴ava在使用大數(shù)據(jù)方面具有許多優(yōu)勢(shì)。其中最重要的是Java運(yùn)行時(shí)具有固有的可移植性,因此可以在任何位置,任何硬件或軟件平臺(tái)上運(yùn)行。Java提供的堆棧配置,特別是其垃圾回收和自動(dòng)內(nèi)存分配,也使其成為使用BDA的自然選擇。
Java可用于(幾乎)任何復(fù)雜的數(shù)據(jù)采集系統(tǒng)進(jìn)行BDA,但是最常見的應(yīng)用是分析電子商務(wù)商店中的數(shù)據(jù)。與高性能Web托管提供商結(jié)合使用,開發(fā)人員可以以無與倫比的粒度細(xì)分和分析訪問和銷售。然后,這些數(shù)據(jù)可用于支持高度針對(duì)性的營(yíng)銷策略,并對(duì)未來的銷售做出預(yù)測(cè)。
除了這種類型的部署,許多開發(fā)人員還發(fā)現(xiàn)將Java用于BDA可以用來提高其系統(tǒng)的安全性。從過去幾年中引人注目的數(shù)據(jù)泄露中可以汲取的主要教訓(xùn)之一是,普通開發(fā)人員現(xiàn)在可以訪問并負(fù)責(zé)的大量數(shù)據(jù)意味著難以對(duì)其進(jìn)行監(jiān)督。
在縮放過程中尤其如此。許多企業(yè)在達(dá)到通過當(dāng)前數(shù)據(jù)基礎(chǔ)架構(gòu)和電子商務(wù)商店所能達(dá)到的極限后,將遷移到一組相互獨(dú)立的系統(tǒng),這些系統(tǒng)分別處理電子商務(wù),網(wǎng)站分析和市場(chǎng)營(yíng)銷統(tǒng)計(jì)數(shù)據(jù)。
對(duì)于大多數(shù)企業(yè)而言,鑒于WordPress的流行,這種情況的第一個(gè)實(shí)例將是他們遷移WordPress網(wǎng)站時(shí)的情況,但是這種類型的任何遷移過程都可能導(dǎo)致大量數(shù)據(jù)供開發(fā)人員處理。通過Java在更大的基礎(chǔ)上使用大數(shù)據(jù),可以更輕松地控制對(duì)采集系統(tǒng)生成的數(shù)據(jù)的控制。
Java大數(shù)據(jù)工具
在Java中使用BDA依賴于許多工具。這些大多數(shù)都是開源的,當(dāng)一起使用時(shí),它們形成了BDA堆棧,可提供強(qiáng)大的功能級(jí)別。這是最常用的工具。
Hadoop
大多數(shù)希望用Java實(shí)現(xiàn)BDA的開發(fā)人員將從Hadoop開始。該工具由Apache Software Foundation構(gòu)建(并免費(fèi)提供),并提供了一個(gè)基于Java的編程框架,可在分布式計(jì)算環(huán)境中使用Big Data。
因此,該工具對(duì)于希望在一個(gè)系統(tǒng)上存儲(chǔ)大量數(shù)據(jù)并在另一個(gè)系統(tǒng)上執(zhí)行分析的組織非常受歡迎。此外,Hadoop提供了一個(gè)完整的工具生態(tài)系統(tǒng),可通過Java使用大數(shù)據(jù):從機(jī)器學(xué)習(xí)系統(tǒng)到高級(jí)搜索功能的所有內(nèi)容:
Apache Spark
Apache Spark與Hadoop中的MapReduce組件相似,但是由于性能和彈性的提高,它比競(jìng)爭(zhēng)對(duì)手更受歡迎。Spark利用RDD(彈性分布式數(shù)據(jù)集),不僅使處理大數(shù)據(jù)更加高效,而且還可以提高網(wǎng)絡(luò)安全性。
支持Spark的語言是Scala,它本身是基于Java的。因此,Spark提供了廣泛的Java API,并且易于Java開發(fā)人員使用。與Hadoop一樣,近年來Spark進(jìn)行了擴(kuò)展,以提供用于處理大數(shù)據(jù)的完整工具生態(tài)系統(tǒng)。
阿帕奇·馬豪(Apache Mahout)
Apache Mahout是用于處理大數(shù)據(jù)的更狹focused的工具。它提供了可用于建議,聚類和分類的機(jī)器學(xué)習(xí)框架。它運(yùn)行在Hadoop上,因此可以輕松集成到分布式環(huán)境中。
Java Jfreechart
Jfreechart專注于BDA工作流程的不同部分。它提供了用Java原生編寫的數(shù)據(jù)可視化工具,可用于從數(shù)據(jù)中生成各種圖表和繪圖。與Hadoop和Apache Spark等數(shù)據(jù)分析工具結(jié)合使用時(shí),可以將Jfreechart配置為自動(dòng)執(zhí)行可視化過程并生成儀表板,以快速向您顯示數(shù)據(jù)的關(guān)鍵趨勢(shì)。
深度學(xué)習(xí)4j
Deeplearning4j是一個(gè)Java庫(kù),用于設(shè)計(jì)BDA中使用的神經(jīng)網(wǎng)絡(luò)。它可以與Apache Spark或Hadoop集成,并且可以輕松擴(kuò)展。它可以在分布式網(wǎng)絡(luò)上運(yùn)行,甚至可以配置為在GPU上運(yùn)行,從而充分利用普通組織中可用的計(jì)算資源。
阿帕奇風(fēng)暴
Apache Storm是Apache Spark的替代產(chǎn)品。乍一看,兩個(gè)系統(tǒng)的功能似乎相似。但是,Storm致力于通過Java提供真正的流功能。盡管Spark似乎提供了此功能,但實(shí)際上,Spark充當(dāng)了批處理過程的包裝器。因?yàn)樗谡鎸?shí)的流模型,所以Storm已成為需要快速分析數(shù)據(jù)的在線系統(tǒng)的流行工具。
更進(jìn)一步
作為Java開發(fā)人員,在BDA中工作時(shí)使用您的技能很有意義。與使用高級(jí)工具相比,在大數(shù)據(jù)系統(tǒng)中使用Java API可以使您更好地控制它們,這對(duì)于系統(tǒng)彈性和網(wǎng)絡(luò)安全都至關(guān)重要。我們上面顯示的工具都是基于Java的,因此任何具有該語言經(jīng)驗(yàn)的人都可以快速使用。
但是,如果您想走得更遠(yuǎn),則應(yīng)該閱讀有關(guān)利用大數(shù)據(jù)的指南,我們?cè)谄渲薪忉屃丝梢詮腂DA系統(tǒng)中獲得多少收益。
作者介紹
熱門博客推薦