大數(shù)據(jù)的的開(kāi)發(fā)會(huì)運(yùn)用到很多語(yǔ)言,那么下面我們來(lái)看一下這幾種語(yǔ)言的具體運(yùn)用
Python:
十多年來(lái),Python在學(xué)術(shù)界當(dāng)中一直很流行,尤其是在自然語(yǔ)言處理(NLP)等領(lǐng)域。因而,如果你有一個(gè)需要NLP處理的項(xiàng)目,就會(huì)面臨數(shù)量多得讓人眼花繚亂的選擇,包括經(jīng)典的NTLK、使用GenSim的主題建模,或者超快、準(zhǔn)確的spaCy。同樣,說(shuō)到神經(jīng)網(wǎng)絡(luò),Python同樣游刃有余,有Theano和Tensorflow;隨后還有面向機(jī)器學(xué)習(xí)的scikit-learn,以及面向數(shù)據(jù)分析的NumPy和Pandas。
還有Juypter/iPython――這種基于Web的筆記本服務(wù)器框架讓你可以使用一種可共享的日志格式,將代碼、圖形以及幾乎任何對(duì)象混合起來(lái)。這一直是Python的殺手級(jí)功能之一,不過(guò)這年頭,這個(gè)概念證明大有用途,以至于出現(xiàn)在了奉行讀取-讀取-輸出-循環(huán)(REPL)概念的幾乎所有語(yǔ)言上,包括Scala。
Python是一種傳統(tǒng)的面向?qū)ο笳Z(yǔ)言,所以大多數(shù)開(kāi)發(fā)人員用起來(lái)會(huì)相當(dāng)?shù)眯膽?yīng)手,而初次接觸R或Scala會(huì)讓人心生畏懼。一個(gè)小問(wèn)題就是你的代碼中需要留出正確的空白處。這將人員分成兩大陣營(yíng),一派覺(jué)得“這非常有助于確??勺x性”,另一派則認(rèn)為,我們應(yīng)該不需要就因?yàn)橐恍写a有個(gè)字符不在適當(dāng)?shù)奈恢茫鸵仁菇忉屍髯尦绦蜻\(yùn)行起來(lái)。
JAVA:
Java,以及基于Java的框架,被發(fā)現(xiàn)儼然成為了硅谷最大的那些高科技公司的骨骼支架。“如果你去看Twitter,LinkedIn和Facebook,那么你會(huì)發(fā)現(xiàn),Java是它們所有數(shù)據(jù)工程基礎(chǔ)設(shè)施的基礎(chǔ)語(yǔ)言,”Driscoll說(shuō)。
Java不能提供Python同樣質(zhì)量的可視化,并且它并非統(tǒng)計(jì)建模的最佳選擇。但是,如果你移動(dòng)到過(guò)去的原型制作并需要建立大型系統(tǒng),那么Java往往是你的最佳選擇。
Hadoop和Hive:
一群基于Java的工具被開(kāi)發(fā)出來(lái)以滿足數(shù)據(jù)處理的巨大需求。Hadoop作為首選的基于Java的框架用于批處理數(shù)據(jù)已經(jīng)點(diǎn)燃了大家的熱情。Hadoop比其他一些處理工具慢,但它出奇的準(zhǔn)確,因此被廣泛用于后端分析。它和Hive一個(gè)基于查詢并且運(yùn)行在頂部的框架可以很好地結(jié)對(duì)工作。