共享經(jīng)濟下,作為一個優(yōu)秀的“碼農(nóng)”,有9個大數(shù)據(jù)處理編程語言你不得不知道。當(dāng)需要對巨大的數(shù)據(jù)集中進行篩選時,碼農(nóng)們都知道*的工具是什么。以下達(dá)內(nèi)java培訓(xùn)(java.tedu.cn)專家推薦9個碼農(nóng)必備的 大數(shù)據(jù)處理編程語言。
1.R語言
在語言名單中,如果R語言排第二,那就沒其他能排*。自1997年以來,作為昂貴的統(tǒng)計軟件,如Matlab和SAS的免費替代品,它漸漸風(fēng)靡全球。
在過去的幾年時間中,R語言已經(jīng)成為了數(shù)據(jù)科學(xué)的寵兒——數(shù)據(jù)科學(xué)現(xiàn)在不僅僅在統(tǒng)計學(xué)家中人盡皆知,而且也為華爾街交易員、生物學(xué)家、硅谷開發(fā)者所家喻戶曉。各行各業(yè),如Google,F(xiàn)acebook,美國銀行,以及紐約時報都使用R語言,R語言正在商業(yè)用途上持續(xù)蔓延和擴散。
話說回來,早在2010年,PaulButler就以R語言打造了全球的Facebook地圖而著名,這證明了該語言豐富的可視化功能。盡管他現(xiàn)在已經(jīng)不像以前那樣頻繁地使用R語言了。“R正在一點點地過時,因為它的緩慢和處理大型數(shù)據(jù)集的笨重?!盉utler說。那么,他使用什么代替呢?
2.Python
如果說R語言是一個神經(jīng)質(zhì)又可愛的高手,那么Python是它隨和又靈活的表兄弟。作為一種結(jié)合了R語言快速對復(fù)雜數(shù)據(jù)進行挖掘并構(gòu)建產(chǎn)品的更實用語言,Python迅速得到了主流的吸引力。Python是直觀的,并且比R語言更易于學(xué)習(xí),以及它的生態(tài)系統(tǒng)近年來急劇增長,使得它更能夠用于先前為R語言保留的統(tǒng)計分析?!斑@是這個行業(yè)的進步。在過去的兩年時間中,從R語言到Python已經(jīng)發(fā)生了非常明顯的轉(zhuǎn)變?!盉utler說。
在數(shù)據(jù)處理中,在規(guī)模和復(fù)雜性之間往往會有一個權(quán)衡,于是Python成為了一種折中方案。IPythonnotebook和NumPy可以用作輕便工作的一種暫存器,而Python可以作為中等規(guī)模數(shù)據(jù)處理的強大工具。豐富的數(shù)據(jù)社區(qū),也是Python的優(yōu)勢,因為可以提供了大量的工具包和功能。美國銀行使用Python在銀行的基礎(chǔ)架構(gòu)中構(gòu)建新的產(chǎn)品和接口,同時也用Python處理財務(wù)數(shù)據(jù)?!癙ython廣泛而靈活,因此人們趨之若鶩。”O(jiān)’Donnell說。不過,它并非*性能的語言,只能偶爾用于大規(guī)模的核心基礎(chǔ)設(shè)施。
3.Julia
雖然當(dāng)前的數(shù)據(jù)科學(xué)絕大多數(shù)是通過R語言、Python、Java、MatLab和SAS執(zhí)行的,但依然有其他的語言存活于夾縫中,Julia就是其中的后起之秀。
業(yè)界普遍認(rèn)為Julia過于晦澀難懂,但在談到它取代R和Python的潛力時會不由得眉飛色舞。Julia是一種高層次的、極度快速的表達(dá)性語言。它比R語言快,比Python更可擴展,且相當(dāng)簡單易學(xué)。
“它正在一步步成長。最終,使用Julia,你就能夠辦到任何用R和Python可以做到的事情。”Butler說。但是至今為止,年輕人對Julia依然猶豫不前。Julia數(shù)據(jù)社區(qū)還處于早期階段,想要和R語言和Python競爭,它還需要添加更多的軟件包和工具。“它還很年輕,但它正在掀起浪潮并且非常有前途。”Driscoll說。
4.Java
Java,以及基于Java的框架,被發(fā)現(xiàn)儼然成為了硅谷*的那些高科技公司的骨骼支架。“如果你去看Twitter、LinkedIn和Facebook,那么你會發(fā)現(xiàn),Java是它們所有數(shù)據(jù)工程基礎(chǔ)設(shè)施的基礎(chǔ)語言?!盌riscoll說。
雖然,Java不能提供R和Python同樣質(zhì)量的可視化,并且它并非統(tǒng)計建模的*選擇,但是,如果你移動到過去的原型制作并需要建立大型系統(tǒng),那么Java往往是你的*選擇。
5.Hadoop
一群基于Java的工具被開發(fā)出來以滿足數(shù)據(jù)處理的巨大需求。Hadoop作為*的基于Java的框架用于批處理數(shù)據(jù)已經(jīng)點燃了大家的熱情。Hadoop比其他一些處理工具慢,但它出奇地準(zhǔn)確,因此被廣泛用于后端分析。
6.Hive
Hive,一個基于查詢并且運行在頂部的框架,可以和Hadoop很好地結(jié)對工作。
7.Scala
Scala是另一種基于Java的語言,并且和Java相同的是,它正日益成為大規(guī)模機器學(xué)習(xí)或構(gòu)建高層次算法的工具。它富有表現(xiàn)力,并且還能夠構(gòu)建健壯的系統(tǒng)?!癑ava就像是建造時的鋼鐵,而Scala則像黏土,因為你可以將之放入窯內(nèi)轉(zhuǎn)變成鋼鐵?!盌riscoll說。
8.Kafka
那么,當(dāng)你需要快速實時地分析時又該怎么辦呢?Kafka會成為你的好朋友。它大概5年前就已經(jīng)出現(xiàn)了,但是直到最近才成為流處理的流行框架。
Kafka,誕生于LinkedIn內(nèi)部,是一個超快速的查詢消息系統(tǒng)。如果你問Kafka的缺點?好吧,它太快了,在實時操作時會導(dǎo)致自身出錯,并且偶爾地會遺漏東西?!霸诰群退俣戎g有一個權(quán)衡,”Driscoll說,“因此,硅谷所有的大型高科技公司都會使用兩條管道:Kafka或Storm用于實時處理,然后Hadoop用于批處理系統(tǒng),此時雖然是緩慢的,但超級準(zhǔn)確?!?
9.Storm
Storm是用Scala編寫的另一個框架,它在硅谷中因為流處理而受到了大量的青睞。它被Twitter納入其中,勿庸置疑的,這樣一來,Twitter就能在快速事件處理中得到巨大的裨益。
以上就是為大家介紹的大數(shù)據(jù)處理語言的優(yōu)缺點和受歡迎度。大數(shù)據(jù)人才的需求量不言而喻。達(dá)內(nèi)java培訓(xùn)(java.tedu.cn)專家希望大家學(xué)好大數(shù)據(jù)語言,為自己的職場晉升做好準(zhǔn)備。