做大數(shù)據(jù)工程師,語言選Java還是Python?



學(xué)大數(shù)據(jù)還要學(xué)Python嗎?java大數(shù)據(jù)與python大數(shù)據(jù)如何選擇?今天我們來看看一位大神的回答。

目前Java和Python是做大數(shù)據(jù)平臺(tái)開發(fā)最常見的兩種編程語言,當(dāng)然還有Scala和R,下面簡(jiǎn)單的分析一下Java與Python在做大數(shù)據(jù)開發(fā)時(shí)的優(yōu)缺點(diǎn),具體選擇哪個(gè)可以根據(jù)實(shí)際情況來判斷。

Java大數(shù)據(jù)


首先說一下Java語言,Java語言應(yīng)用廣泛,可以應(yīng)用的領(lǐng)域也非常多,有完整的生態(tài)體系,另外Java語言的性能也非常不錯(cuò)。Java與大數(shù)據(jù)的關(guān)系非常密切,一方面目前做大數(shù)據(jù)開發(fā)的程序員很多都是從Java程序員轉(zhuǎn)過去的,另一方面Hadoop平臺(tái)本身就是基于Java開發(fā)的,所以目前Java在大數(shù)據(jù)開發(fā)中的使用還是非常普遍的。

但是Java語言自身的復(fù)雜性讓很多程序員感覺它有點(diǎn)“重”,格式化的東西有點(diǎn)多,所以在Spark平臺(tái)下,很多程序員更愿意使用Scala語言,而Scala就是基于Java語言構(gòu)建的,所以有Java基礎(chǔ)再學(xué)習(xí)Scala還是比較輕松的。

單學(xué)Java以后的就業(yè)方向單一,薪資就是java程序員的基本水平;而java大數(shù)據(jù)工程師,以后的就業(yè)可以從事java方面的工作,也可以涉獵大數(shù)據(jù)方面的工作,因?yàn)閷?duì)大數(shù)據(jù)技術(shù)知識(shí)有所涉獵,所以談薪資的資本會(huì)高一些:

Java大數(shù)據(jù)薪資:

 

Python大數(shù)據(jù)


再說一下Python語言,Python語言目前在大數(shù)據(jù)和人工智能領(lǐng)域有廣泛的應(yīng)用,原因就是Python語言簡(jiǎn)單、直接、方便。Python語言是腳本式語言,所以學(xué)習(xí)起來比較簡(jiǎn)單,腳本語言的天然屬性就是直接,所以Python在語法結(jié)構(gòu)上比Java要“輕”很多。

 

另外,由于Python有豐富的庫(kù)支持,所以Python做軟件開發(fā)也非常“直接”,程序員的作用有點(diǎn)像做“集成”的感覺。目前Python在Hadoop和Spark平臺(tái)下的使用都非常普遍,而且越來越多的Java程序員轉(zhuǎn)向使用Python,因?yàn)闆]人愿意復(fù)雜。

 

但是Python缺點(diǎn)也比較明顯,那就是Python的性能遠(yuǎn)不及Java,另外與大數(shù)據(jù)平臺(tái)的耦合度也不如Java好。但是如果你使用Python做算法實(shí)現(xiàn)、數(shù)據(jù)分析、數(shù)據(jù)呈現(xiàn)等應(yīng)用是完全沒有問題的,效率也比較高。

 

總之,如果做大數(shù)據(jù)開發(fā),Java和Python最好都學(xué)習(xí)一下(主學(xué)Java),語言本身就是工具,學(xué)習(xí)起來并不是十分困難。

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章