做大數(shù)據(jù)工程師,語(yǔ)言選Java還是Python?
學(xué)大數(shù)據(jù)還要學(xué)Python嗎?java大數(shù)據(jù)與python大數(shù)據(jù)如何選擇?今天我們來(lái)看看一位大神的回答。目前Java和Python是做大數(shù)據(jù)平臺(tái)開發(fā)最常見(jiàn)的兩種編程語(yǔ)言,當(dāng)然還有Scala和R,下面我們簡(jiǎn)單的分析一下Java與Python在做大數(shù)據(jù)開發(fā)時(shí)的優(yōu)缺點(diǎn),具體選擇哪個(gè)可以根據(jù)實(shí)際情況來(lái)判斷。Java大數(shù)據(jù)首先說(shuō)一下Java語(yǔ)言,Java語(yǔ)言應(yīng)用廣泛,可以應(yīng)用的領(lǐng)域也非常多,有完整的生態(tài)體系,另外Java語(yǔ)言的性能也非常不錯(cuò)。Java與大數(shù)據(jù)的關(guān)系非常密切,一方面目前做大數(shù)據(jù)開發(fā)的程序員很多都是從Java程序員轉(zhuǎn)過(guò)去的,另一方面Hadoop平臺(tái)本身就是基于Java開發(fā)的,所以目前Java在大數(shù)據(jù)開發(fā)中的使用還是非常普遍的。但是Java語(yǔ)言自身的復(fù)雜性讓很多程序員感覺(jué)它有點(diǎn)“重”,格式化的東西有點(diǎn)多,所以在Spark平臺(tái)下,很多程序員更愿意使用Scala語(yǔ)言,而Scala就是基于Java語(yǔ)言構(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ù)薪資:由于大數(shù)據(jù)產(chǎn)業(yè)的火爆,相關(guān)職位的待遇也是水漲船高。可以看到,大數(shù)據(jù)相關(guān)職位的平均薪資已經(jīng)超過(guò)月薪20K。Python大數(shù)據(jù)再說(shuō)一下Python語(yǔ)言,Python語(yǔ)言目前在大數(shù)據(jù)和人工智能領(lǐng)域有廣泛的應(yīng)用,原因就是Python語(yǔ)言簡(jiǎn)單、直接、方便。Python語(yǔ)言是腳本式語(yǔ)言,所以學(xué)習(xí)起來(lái)比較簡(jiǎn)單,腳本語(yǔ)言的天然屬性就是直接,所以Python在語(yǔ)法結(jié)構(gòu)上比Java要“輕”很多。另外,由于Python有豐富的庫(kù)支持,所以Python做軟件開發(fā)也非!爸苯印,程序員的作用有點(diǎn)像做“集成”的感覺(jué)。目前Python在Hadoop和Spark平臺(tái)下的使用都非常普遍,而且越來(lái)越多的Java程序員轉(zhuǎn)向使用Python,因?yàn)闆](méi)人愿意復(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)用是完全沒(méi)有問(wèn)題的,效率也比較高。總之,如果做大數(shù)據(jù)開發(fā),Java和Python最好都學(xué)習(xí)一下(主學(xué)Java),語(yǔ)言本身就是工具,學(xué)習(xí)起來(lái)并不是十分困難。