大數據和Java語言有啥區別?

仲小九929


想要了解大數據和Java語言區別是什麼?我們先來簡單瞭解一下他們定義的範疇:

大數據:簡而言之,就是海量的數據,數據種類繁多,數據結構多變,數據存儲方式不同,需要通過工具去收集這些數據,然後存儲在存儲介質的集群上。

java:java是一門計算機的編程語言,可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序。


從定義可以大概瞭解到大數據和java語言區別應該是java語言只是大數據中的一門開發工具語言,具體是怎麼樣?我們一起來看看大數據架構和java語言在大數據中應用。


大數據架構

一、數據源

首先從最底層的數據源來講,大數據包含的數據是各方各面的,所有在數據的來源上也是多種多樣的。從種類上來講大體上可以分為以下幾類:

  • 日誌數據:應用系統的運行日誌,用戶訪問的行為日誌等

  • DB數據:企業內部業務系統的數據,例如客戶管理系統的客戶數據,訂單系統的訂單數據,物流系統的物流數據等

  • 流式數據:簡單的理解就是實時採集的數據,源源不斷像流水一樣產生的數據,例如淘寶上用戶的訪問記錄

  • 互聯網數據:互聯網數據有兩種,一種是自己去採集的數據,一種是跟外部企業合作的數據,例如可以開發爬蟲程序去爬取網站上公開的信息,和淘寶京東合作利用客戶購買行為數據等

  • 其他數據:還有一些其他方面的數據,例如硬件設備產生的數據,特別是現在IOT物聯網的火熱,就是將所有硬件設備的數據收集起來進行分析


二、數據接入

數據源的多種多樣,所以在數據接入技術和工具上也是多種多樣的,常用技術和工具有以下幾種:

  • Sqoop:一款用來在Hadoop(Hive)和關係型數據庫之間傳輸數據的工具,可以將一個關係型數據庫中的數據導入到HDFS(Hive)中,也可以將HDFS中的數據導入到關係型數據庫中,主要是針對於DB數據源的數據接入。

  • Flume:一個分佈式的、高可靠的、高可用的將大批量的不同數據源的日誌數據收集、聚合、移動到數據中心(HDFS)進行存儲的系統,主要針對於日誌數據的收集和推送到數據倉庫,類似的還有ELK體系的Logstash組件。

  • Kafka:一個分佈式流處理平臺,用於構造實時流數據管道,它可以在系統或應用之間可靠地獲取數據,具有高性能、持久化、多副本備份、橫向擴展能力,主要針對於流式數據的接入


三、數據存儲


說到數據存儲,大數據的發展歷史離不開一個叫Hadoop的家族產品,可以很直接的這麼說,沒有Hadoop就沒有大數據,國內很多大數據公司一開始建立的數據存儲數倉都是基於Hadoop體系建立的,那麼Hadoop到底是什麼呢?

Hadoop是一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。簡單的理解就是,可以利用大量便宜低端硬件配置的服務器,組建成一個跨服務器的存儲集群,數據可以保存在多個服務器上,實現大數據量的存儲和降低硬件成本。

Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,而MapReduce則為海量的數據提供了計算。


說到數據存儲,不得不說一下數據倉庫的架構,不同於傳統的業務系統使用的關係型數據庫,Hadoop一個分佈式文件系統,存儲方式是按照文件的存儲方式,所以就有了數據倉庫架構的說法。數據倉庫的架構主要有星型和雪花型兩種方式:

星型:一種使用關係數據庫實現多維分析空間的模式,稱為星型模式。星型模式的基本形式必須實現多維空間(常常被稱為方塊),以使用關係數據庫的基本功能。

雪花型:當星型模式的維度需要進行規範化時,星型模式就演進為雪花模式。


大數據的數據倉庫架構主要採用雪花型架構,因為數據源的多樣化,導致數據結構也是多樣化的。不同於關係型數據庫,都是基於二維表的形式,而大數據的數據有文本數據,日誌數據,設備數據,爬蟲數據,業務數據等,所以從接入數據到數倉還需要經過ETL(抽取-extract、轉換-transform、加載-load)清洗的過程才能落地到數據倉庫。一般數據倉庫架構可以分為五層:



  • ODS層:ODS層主要是保存和來源數據一致的格式

  • DIM層:DIM層主要用來存儲一些基礎的維度表,很少會改動
  • MID層:MID層主要是用來處理根據業務邏輯和指標口徑篩選出來的數據

  • DW層:DW層根據主題分類,將數據按照不同的主題建立數據表存儲和進行維度化
  • DM層:DM層主要是面向應用層的建模,例如一張分析報表需要展示不同維度和指標的分析,那麼根據這些維度和指標從DW層的不同主題分類中的數據關聯出來,形成一張數據表給報表使用。


四、數據應用

在數據清洗完落地數據倉庫之後,就是怎麼去利用這些數據去變現業務價值。不同行業有不同行業的用法,在這裡小編以自身經歷說一下,小編所在的大數據部門主要是針對金融行業進行數據分析的,那麼大概的應用場景有以下幾種:

數據分析報表:基於業務需求開發的固定維度和指標的分析報表

移動端數據可視化:基於手機端App展示的數據圖形可視化應用


數據分析週報,月報:按周或著按月進行數據彙總分析和預測,常用於郵件推送,公眾號推送

大屏可視化駕駛艙:基於大屏端數據圖形可視化,數據高度彙總,大而全


機器學習風控模型:基於機器學習算法訓練出統一規則的模型,用於貸前,貸中或者貸後風控評審關卡。


java語言




在這裡就不在過多的描述java的作用了,我們來聊聊java語言在大數據中可以做什麼?


從上文大數據架構來看,java語言主要可以應用於開發數據應用和大數據工具,例如java web開發數據分析報表,移動可視化分析,大屏可視化駕駛艙等,也可以用於開發一些數據處理過程中用於自動化和便捷開發的工具,例如調度系統:用於數據清洗作業的自動化依賴調度;補錄系統:用於數據缺失值的可視化補錄表,便於數據治理的自動化;發佈平臺:用於調度作業一鍵從不同環境之間部署和數據同步審批等。



【我是蠟筆小添,專注IT前沿技術和科技資訊分享,歡迎關注我@蠟筆小添,我們一起學習交流探討】

蠟筆小添


大數據指無法在一定時間範圍內用常規軟件工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。JAVA是一種編程語言。大數據可以用JAVA實現。下面是具體介紹。

大數據是一個概念包含幾個方面的內涵

1. 數據量大,TB,PB,乃至EB等數據量的數據需要分析處理。

2. 要求快速響應,市場變化快,要求能及時快速的響應變化,那對數據的分析也要快速,在性能上有更高要求,所以數據量顯得對速度要求有些“大”。

3. 數據多樣性:不同的數據源,非結構化數據越來越多,需要進行清洗,整理,篩選等操作,變為結構數據。

4. 價值密度低,由於數據採集的不及時,數據樣本不全面,數據可能不連續等等,數據可能會失真,但當數據量達到一定規模,可以通過更多的數據達到更真實全面的反饋。

Java是面向網絡的程序設計語言,用來讓程序員創建應用程序,這些應用程序可以通過網絡下載,而且可在任何計算平臺上安全地運行。如果再加上萬維網和公司內部網體系,你將會擁有一個標準的網絡計算環境,Java作為一個分佈式的,面向對象的程序設計語言,可以讓位於任何地方的任何計算機應用網絡上的應用程序


俺村的影城


本人10年開發培訓經驗,期間經歷了Java Web,Android,H5,大數據,PHP等多個不同的方向的開發,也做過軟件培訓公司的金牌講師,很有興趣回答你這個問題。

對於大數據和Java語言的區別,我覺得還是很大的,有多大呢?可能就跟“建築工人與樓房的區別”一樣,當然這個比喻可能也不是很恰當,大約就是這樣吧。

為啥這樣說呢?

大數據:

大數據確切的說,它並不能算一門具體的技術,而是一種概念,一種大的技術範疇。大數據主要是用來處理,分析,存儲海量數據,對這些大量的數據進行加工處理等操作。大數據領域裡面涉及到Hadoop,hive,flink,hbase,java等各種具體的技術,看清楚,在這裡Java也可以為大數據的實現提供服務哦。所以可以說,Java可以幫助我們實現大數據的開發,Java就像是一個“建築工人",它可以把各種數據原料整合在一起,構建出大數據這麼一個環境。

Java:

Java就是一門面向對象的高級編程語言,可以用Java實現Android,Web,Swing等各中軟件的開發,是一門具體的技術。


我從事互聯網開發10年,主要的研究方向集中在Java web微服務架構領域,Android移動端研發,HTML5前端方向,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信你一定會有所收穫。

如果有Java,Android,H5等開發方面的問題,或者是開發求職方面的問題,都可以在評論區留言,或者私信我。


一一哥Sun


請高興能回答你的問題!

首先要明確一點,大數據是一個行業方向,而Java是一門開發語言

大數據是什麼

大數據是近幾年的一個專業名詞,以海量數據為核心,產生數據分析結果的技術處理過程和處理方式。大數據本身不在於原始數據的多少,而在於通過大數據分析數據產生之後的應用數據的價值是什麼。

大數據最開始用的技術大家都認為是Hadoop,但實際上大數據處理的方式多種多樣,處理的技術語言可選性也很多,Java是其中一種,但並不是唯一的一種。 像C、GO、Python都可以處理大數據。

當然基於大數據的數據存儲和計算的要求,雲計算和大數據也算是共生共存的。


Java是什麼?

Java是一種跨平臺的開發語言,應用的場景很多, WEB,SERVICE,API,APP等等,算是目前各開發語言當中綜合能力最強的一種。目前來看市場中Java開發的就業機會還是最高的。


說到這裡,我想你應該能足夠解答你的問題了。


如果我的回答對你有幫助,請記得點贊收藏!


明哥讀世界


大數據指無法在一定時間範圍內用常規軟件工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。JAVA是一種編程語言。大數據可以用JAVA實現。下面是具體介紹。

大數據是一個概念包含幾個方面的內涵

1. 數據量大,TB,PB,乃至EB等數據量的數據需要分析處理。

2. 要求快速響應,市場變化快,要求能及時快速的響應變化,那對數據的分析也要快速,在性能上有更高要求,所以數據量顯得對速度要求有些“大”。

3. 數據多樣性:不同的數據源,非結構化數據越來越多,需要進行清洗,整理,篩選等操作,變為結構數據。

4. 價值密度低,由於數據採集的不及時,數據樣本不全面,數據可能不連續等等,數據可能會失真,但當數據量達到一定規模,可以通過更多的數據達到更真實全面的反饋。

Java是面向網絡的程序設計語言,用來讓程序員創建應用程序,這些應用程序可以通過網絡下載,而且可在任何計算平臺上安全地運行。如果再加上萬維網和公司內部網體系,你將會擁有一個標準的網絡計算環境,Java作為一個分佈式的,面向對象的程序設計語言,可以讓位於任何地方的任何計算機應用網絡上的應用程序

--------------河南新華


慎談奧秘


大數據開發需要編程語言基礎,Java是世界上應用最廣泛的計算機編程語言,具有功能強大和簡單易用兩個特徵,同時還具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。

Java具有的眾多特性,特別適合作為大數據應用的開發語言,當下Hadoop以及其他大數據處理技術很多都是用Java,Java是大數據技術的主要支持言語,當下學大數據技術之前都會先學Java語言。

主流大數據框架hadoop、spark、HBase等離不開Java平臺


遷與遷尋


大數據學名為BigData,是前幾年新興起的一個IT名詞,偏算法和實現,又分為工程類和應用類。Java是一門開發語言,兩者本質上並無直接可比較的地方。但大數據本身也有非常多的開發語言來支持,所以如果就開發語言和能力來比較又會產生非常多的方向性。下面給您詳細描述下各自的行業描述和對應的細節。

大數據技術的戰略意義不在於掌握龐大的數據信息,而在於對這些含有意義的數據進行專業化處理。換而言之,如果把大數據比作一種產業,那麼這種產業實現盈利的關鍵,在於提高對數據的“加工能力”,通過“加工”實現數據的“增值”。從技術上看,大數據與雲計算的關係就像一枚硬幣的正反面一樣密不可分。大數據必然無法用單臺的計算機進行處理,必須採用分佈式架構。它的特色在於對海量數據進行分佈式數據挖掘。但它必須依託雲計算的分佈式處理、分佈式數據庫和雲存儲、虛擬化技術。 隨著雲時代的來臨,大數據(Big data)也吸引了越來越多的關注。分析師團隊認為,大數據(Big data)通常用來形容一個公司創造的大量非結構化數據和半結構化數據,這些數據在下載到關係型數據庫用於分析時會花費過多時間和金錢。大數據分析常和雲計算聯繫到一起,因為實時的大型數據集分析需要像MapReduce一樣的框架來向數十、數百或甚至數千的電腦分配工作。大數據需要特殊的技術,以有效地處理大量的容忍經過時間內的數據。適用於大數據的技術,包括大規模並行處理(MPP)數據庫、數據挖掘、分佈式文件系統、分佈式數據庫、雲計算平臺、互聯網和可擴展的存儲系統。

大數據目前可以使用的平臺很多,而且廠商也很多,如Cloudera、華為的版本、Hadoop等。

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。Java具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

Java面向對象實現便捷、快訊的開發方式,很受學生、工程師歡迎,目前很多高校、職業院校開展Java課程學習,同事隨著互聯網、移動互聯網的發展,web、手機的開發更偏向輕便的Java語言。


立軍胡


一:兩者關係

java是計算機的一門編程語言;可以用來做很多工作,大數據開發屬於其中一種;

大數據屬於互聯網方向,就像現在建立在大數據基礎上的AI方向一樣,

他兩不是一個同類,但是屬於包含和被包含的關係;

java可以用來做大數據工作,大數據開發或者應用不必要用java,可以Python,Scala,go語言等。

二:發展:

java屬於語言,編程語言的發展未來說不準,至少現在java變成還是不錯的前景,大數據大部分框架都有java的支持或者底層是java寫的;

大數據的發展,概念可以理解為社會進步數據的巨量增加帶來的價值性利用,成為大數據的一個方向。就像AI建立在大數據的數據量的基礎上,未來會一直往技術前進的方向發展。

三:總結:

java目前算是主流,可以多學幾門語言,技多不壓身,百利而無一害對於開發;

大數據的這個方向,不會消失,只會隨著技術的發展更加智慧性。


IT從業者陳斌


大數據只是一個稱呼,表示可以對大量數據處理,分析出來一些趨勢,比如股票價格,豬肉價格等,而java語言是一種高級編程語言,可以開發軟件,也可以去作為大數據開發項目使用的語言,比如Hadoop,hive,flink,hbase。Java語言開發的軟件程序可以無需用戶去關心內存的分配。


Java學習愛好者


因為現在是大數據時代,Hadoop,flink等等技術都比較吃香,大數據主要是做數據的處理,需要一定的算法基礎,而做大數據至少需要一門開發語言作為支撐,很多人從事大數據選擇的都是Java語言,而單純的Java語言只是做開發的


分享到:


相關文章: