• <menu id="w2i4a"></menu>
  • logo 大數(shù)據(jù)干貨(二)

    文檔首頁>>大數(shù)據(jù)干貨(二)>>【干貨分享】6個(gè)Java開發(fā)人員最受歡迎的大數(shù)據(jù)工具,Hadoop竟被稱為“圣經(jīng)”

    【干貨分享】6個(gè)Java開發(fā)人員最受歡迎的大數(shù)據(jù)工具,Hadoop竟被稱為“圣經(jīng)”


    Java已經(jīng)在技術(shù)領(lǐng)域工作了20多年,成為最“熱愛仇恨”的技術(shù)。如果仔細(xì)觀察各種編程語言,操作系統(tǒng)和數(shù)據(jù)庫,過去幾年幾乎沒有什么變化。隨著具有大數(shù)據(jù)和物聯(lián)網(wǎng)的新技術(shù)空間的發(fā)展,我們可以看到很多進(jìn)步。

    java

    但是,Java仍然是Java開發(fā)人員許多大數(shù)據(jù)工具的支柱。實(shí)際上,它非常適合大數(shù)據(jù),因?yàn)镴ava開發(fā)人員的大數(shù)據(jù)工具的一些核心模塊是用Java編寫的。更有趣的是,Java開發(fā)人員的大多數(shù)這些大數(shù)據(jù)工具都是開源的。因此,它們很容易訪問。

    在本文中,慧都網(wǎng)將分享Java對大數(shù)據(jù)工具及其未來的有用性。此外,我們將專注于主要基于Java API的大數(shù)據(jù)工具。

    Java在大數(shù)據(jù)中的未來是什么?

    雖然Java有很多理由不喜歡它,但仍然會有程序員慢慢去使用它,因?yàn)樗麄儼l(fā)現(xiàn)很多理由去學(xué)習(xí)它。讓我們回顧一下人們想要使用它的一些原因:

    • 簡單性:作為面向?qū)ο蟮恼Z言,Java為開發(fā)人員和最終用戶提供了非常簡單的用戶體驗(yàn)。與其他類似的面向?qū)ο缶幊陶Z言相比,Java的內(nèi)置設(shè)計(jì)是其最顯著的優(yōu)勢。與C ++不同,它已經(jīng)刪除了指針和接口的使用;
    • 可移植性:Java運(yùn)行時(shí)可以隨時(shí)隨地運(yùn)行。因此,您可以在任何硬件和軟件平臺上運(yùn)行Java;
    • 分配:Java具有堆棧配置功能,有助于快速重建。此外,Java具有垃圾收集和自動內(nèi)存分發(fā)的潛力;
    • 分發(fā):Java是高度網(wǎng)絡(luò)化的。通常,Java會非正式地接收和發(fā)送文件;
    • 非常安全:Java通過安全編程強(qiáng)制執(zhí)行強(qiáng)大的安全標(biāo)準(zhǔn)。

    現(xiàn)在,讓我們看看Java在哪些方面適合于現(xiàn)實(shí)中的大數(shù)據(jù)。

    如今,每天產(chǎn)生的數(shù)據(jù)量呈指數(shù)增長。此外,分析如此大量的數(shù)據(jù)也將在此期間繼續(xù)增加。批處理數(shù)據(jù)處理是分析如此龐大數(shù)據(jù)的現(xiàn)實(shí)方法,這主要是使用Hadoop和Spark等開源工具完成的。

    有趣的是,大多數(shù)開源大數(shù)據(jù)工具都是基于Java的。其背后的一個(gè)關(guān)鍵原因是Java的根源在開源社區(qū)中根深蒂固。因此,大量的Java代碼是公開可用的,并且利用像Apache這樣容易獲得的代碼基礎(chǔ),Google在制作開源大數(shù)據(jù)工具方面做出了巨大貢獻(xiàn)。

    對于最著名的大數(shù)據(jù)工具Hadoop,Java就是這種語言。因此,Java開發(fā)人員很容易學(xué)習(xí)Hadoop。事實(shí)上,學(xué)習(xí)一些大數(shù)據(jù)工具幾乎與為Java開發(fā)人員學(xué)習(xí)新的API類似。

    不僅是Hadoop,而且Pig也是Java開發(fā)人員的另一個(gè)大數(shù)據(jù)工具,他們可以輕松學(xué)習(xí),因?yàn)镻ig Latin使用JavaScript。

    面向市場的Java開發(fā)人員最佳開源大數(shù)據(jù)工具

    毫無疑問,大數(shù)據(jù)的未來是Java。市場上有許多面向Java開發(fā)人員的大數(shù)據(jù)工具,其中大部分都是Apache開源的。在這里,我們整理了一些主要用于Java開發(fā)人員的大數(shù)據(jù)工具。

    1. Apache Hadoop

    Apache Hadoop

    Hadoop是一個(gè)Java子項(xiàng)目,主要用于大數(shù)據(jù)工具。它是一個(gè)Apache Software Foundation工具,后來由Yahoo!捐贈。它是一個(gè)免費(fèi)的,基于Java的編程框架,可在分布式計(jì)算環(huán)境中處理大型數(shù)據(jù)集。除此之外,您還可以輕松地將其安裝在標(biāo)準(zhǔn)機(jī)器群集上。Hadoop在將大量數(shù)據(jù)存儲在一個(gè)系統(tǒng)中并對這些數(shù)據(jù)進(jìn)行分析的公司中已經(jīng)非常成功。Hadoop以主/從架構(gòu)運(yùn)行。主控制器控制整個(gè)分布式計(jì)算堆棧的運(yùn)行。

    Hadoop擁有圍繞它構(gòu)建的整個(gè)軟件生態(tài)系統(tǒng)。

    2. Apache Spark

    Apache Spark

    Apache Spark的工作方式類似于Hadoop MapReduce框架,并且比大數(shù)據(jù)處理的MapReduce更受歡迎。Spark是一個(gè)集群計(jì)算框架,可以在數(shù)千臺機(jī)器上運(yùn)行。此外,它可以在這些計(jì)算機(jī)上的海量數(shù)據(jù)集上的分布式計(jì)算機(jī)集群上運(yùn)行,并將結(jié)果組合在一起。Spark站在RDD(彈性分布式數(shù)據(jù)集)的概念上。

    Spark用于大型ETL(提取,轉(zhuǎn)換和加載)操作,預(yù)測分析和報(bào)告應(yīng)用程序。Spark程序?qū)?zhí)行以下操作:

    1. 它將一些數(shù)據(jù)加載到RDD中。
    2. 對數(shù)據(jù)執(zhí)行轉(zhuǎn)換以使其與處理操作兼容 。
    3. 跨會話緩存可重用數(shù)據(jù)(使用persist)。
    4. 對數(shù)據(jù)執(zhí)行一些現(xiàn)成或自定義操作。

    用于Spark的底層語言是Scala,它本質(zhì)上是用Java編寫的。因此,Java是Apache Spark堆棧的構(gòu)建塊,并且所有產(chǎn)品都完全支持它。Apache Spark堆棧具有廣泛的Java API。因此,Apache Spark是Java開發(fā)人員易于采用的大數(shù)據(jù)工具之一,因?yàn)樗麄兛梢暂p松地獲取它。

    以下是Java開發(fā)人員可以輕松用于大數(shù)據(jù)目的的一些Spark API:

    • 核心RDD框架及其功能
    • Spark SQL代碼
    • Spark Streaming代碼
    • Spark MLlib算法
    • Spark GraphX庫

    有趣的是,Apache Spark已經(jīng)成為一個(gè)完整的生態(tài)系統(tǒng),包含許多子項(xiàng)目,如下所述:

    3. Apache Mahout

    Apache Mahout

    Apache Mahout是開源大數(shù)據(jù)工具和流行的Java ML庫。它由可擴(kuò)展的機(jī)器學(xué)習(xí)算法組成,其中一些算法用于:

    • 建議
    • 聚類
    • 分類

    Mahout的一些重要特征如下:

    • 它的算法在Hadoop上運(yùn)行。因此,它們在分布式環(huán)境中運(yùn)行良好
    • 它內(nèi)置了幾種ML算法的MapReduce實(shí)現(xiàn)

    4. Java JFreechart

    數(shù)據(jù)可視化是大數(shù)據(jù)分析中的一項(xiàng)重要任務(wù)。大數(shù)據(jù)處理大量數(shù)據(jù); 因此,通過查看原始數(shù)據(jù)來找出趨勢是具有挑戰(zhàn)性的。但是,當(dāng)在圖表上繪制相同的數(shù)據(jù)時(shí),它變得更易于理解并且易于識別數(shù)據(jù)中的模式和關(guān)系。

    JFreechart是Java開發(fā)人員的流行開源大數(shù)據(jù)工具之一,它使用Java內(nèi)置的庫來幫助制作圖表。

    我們可以在這個(gè)庫的幫助下構(gòu)建不同的圖表來可視化數(shù)據(jù),例如:

    • 餅狀圖
    • 條形圖
    • 單個(gè)和多個(gè)時(shí)間序列圖表
    • 折線圖
    • 散點(diǎn)圖
    • 方塊圖
    • 直方圖

    JFreechart不僅可以在圖表中構(gòu)建軸和圖例,還可以使用鼠標(biāo)在圖表中自動縮放功能。但是,它對于簡單的圖表可視化很有用。

    5. Deeplearning4j

    Deeplearning4j

    Deeplearning4j是一個(gè)Java庫,用于構(gòu)建不同類型的神經(jīng)網(wǎng)絡(luò)。此外,我們可以將它與Apache Spark集成在大數(shù)據(jù)堆棧上,甚至可以在GPU上運(yùn)行。這是Java開發(fā)人員唯一的開源大數(shù)據(jù)工具,它們擁有主要的Java庫,并且有許多專注于深度學(xué)習(xí)的內(nèi)置算法。此外,它有一個(gè)非常好的在線社區(qū),有良好的文檔。

    特征:

    • 分布式GPU和CPU
    • Java,Python和Python API
    • 支持微服務(wù)架構(gòu)
    • 可在Hadoop上擴(kuò)展
    • GPU支持在AWS上擴(kuò)展

    6. Apache Storm

    Apache Storm

    這是Java流應(yīng)用程序和Java開發(fā)人員流行的大數(shù)據(jù)工具的理想選擇。

    Apache Storm有許多優(yōu)點(diǎn),其一些主要功能是:

    • 方便使用的
    • 免費(fèi)和開源
    • 適用于小規(guī)模和大規(guī)模實(shí)施
    • 高度容錯(cuò)
    • 可靠
    • 非常快
    • 執(zhí)行實(shí)時(shí)處理
    • 可擴(kuò)展
    • 使用運(yùn)營智能執(zhí)行動態(tài)負(fù)載平衡和優(yōu)化

    Apache Storm架構(gòu)有兩個(gè)主要組件:

    • 主節(jié)點(diǎn)(Nimbus)
    • 工人節(jié)點(diǎn)(主管)

    單個(gè)工作節(jié)點(diǎn)運(yùn)行一個(gè)名為“Supervisor”的守護(hù)進(jìn)程.Nimbus控制工作節(jié)點(diǎn),并且監(jiān)督節(jié)點(diǎn)監(jiān)聽分配的工作并相應(yīng)地啟動和停止工作進(jìn)程。 每個(gè)工作進(jìn)程都與拓?fù)涞淖蛹嚓P(guān)聯(lián),該拓?fù)溆稍S多工作進(jìn)程組成。Nimbus和Supervisors之間的整個(gè)協(xié)調(diào)是使用Zookeeper集群執(zhí)行的。

    總結(jié)

    隨著大數(shù)據(jù)每天都在不斷發(fā)展,新的工具正在嶄露頭角。毫無疑問,在Java開發(fā)人員的大數(shù)據(jù)工具中,Hadoop是最好的,相當(dāng)于大數(shù)據(jù)的“圣經(jīng)”。因此,在您學(xué)習(xí)任何其他大數(shù)據(jù)工具之前,了解Hadoop是必須的。

    與此同時(shí)可以撥打慧都熱線023-68661681或咨詢慧都在線客服,我們將幫您轉(zhuǎn)接大數(shù)據(jù)專家團(tuán)隊(duì),并發(fā)送相關(guān)資料給您!

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();