JAVA
在硅谷最大的科技公司里,Java 和基于 Java 的框架構(gòu)成了其底層的技術(shù)骨架。Driscoll 說(shuō):“如果深入觀察Twitter,Linkedin 或者 Facebook,你會(huì)發(fā)現(xiàn) Java 是他們公司數(shù)據(jù)引擎架構(gòu)的基礎(chǔ)語(yǔ)言”。
Java 并沒(méi)有 R 和 Python 那樣的數(shù)據(jù)可視化的能力, 同時(shí)也不是最好的用于統(tǒng)計(jì)模型的語(yǔ)言。但是如果需要進(jìn)行原型的基礎(chǔ)開(kāi)發(fā)和構(gòu)建大規(guī)模系統(tǒng), Java 往往是最好的選擇。
HADOOP 和 HIVE
為了滿足數(shù)據(jù)處理的巨大需求,基于 Java 的工具群涌而現(xiàn)。 作為基于 Java 的框架,Hadoop 在批處理領(lǐng)域成為熱點(diǎn)。Hadoop 比其他處理工具速度要慢,但是它非常精確且被廣泛的應(yīng)用于后臺(tái)分析,它很好的融合了 Hive, 一個(gè)運(yùn)行在 Hadoop 上的基于查詢的框架。
SCALA
Scala 是另一個(gè)基于 Java的語(yǔ)言,和 Java 很相似,它正在逐漸成長(zhǎng)為大規(guī)模機(jī)器學(xué)習(xí)或高級(jí)算法的工具。它是函數(shù)式語(yǔ)言,也能夠構(gòu)建健壯的系統(tǒng)。
Driscoll 說(shuō):“Java 就像是直接用鋼筋進(jìn)行搭建, Scala 則像是在處理黏土原材料,可以將其放進(jìn)窖中燒制成鋼筋”。
KAFKA 和 STORM
當(dāng)需要快速、實(shí)時(shí)分析時(shí)怎么辦?Kafka 可以幫助你。它已經(jīng)發(fā)展了大概五年時(shí)間,但最近才成為一個(gè)流處理的流行框架。
Kafka 誕生于 Linkedin 公司的內(nèi)部項(xiàng)目,是一個(gè)快速查詢系統(tǒng)。至于 Kafka 的缺點(diǎn)呢? 它太快了,實(shí)時(shí)的操作也導(dǎo)致了自身的錯(cuò)誤,且偶爾還會(huì)遺失信息。
Driscoll 說(shuō):“在精度和速度之間總需要做權(quán)衡,所以硅谷所有的大公司一般都雙管齊下: 用 kafka 和 Storm 進(jìn)行實(shí)時(shí)處理,用 Hadoop 做批處理系統(tǒng),雖然會(huì)慢一點(diǎn)但卻十分精確”。
Storm 是另一個(gè)用 Scala 寫(xiě)的框架,且它在硅谷以擅長(zhǎng)流處理而受到極大的關(guān)注。毫無(wú)疑問(wèn), Twitter, 一個(gè)對(duì)快速消息處理有著巨大興趣的公司會(huì)收購(gòu)了 Storm。
榮幸的提到:
MATLAB
MATLAB 已經(jīng)存在很長(zhǎng)時(shí)間了,盡管價(jià)格昂貴,但它仍在某些特定領(lǐng)域被廣泛使用: 機(jī)器學(xué)習(xí)研究、信號(hào)處理、圖像識(shí)別等領(lǐng)域。
OCTAVE
Octave 與 Matlab 非常相似,只不過(guò)它是免費(fèi)的。然而除了信號(hào)處理的學(xué)術(shù)圈之外很少見(jiàn)到使用。
GO
GO 是另外一個(gè)獲得關(guān)注的新手。它由 Google 開(kāi)發(fā),與 C 有一定淵源,且在構(gòu)建穩(wěn)定系統(tǒng)方面與 Java 和 Python 展開(kāi)了競(jìng)爭(zhēng)。