全部課程
大數(shù)據(jù)語(yǔ)言有哪些
發(fā)布時(shí)間: 2021-05-26
大數(shù)據(jù)語(yǔ)言有哪些?在巨大的數(shù)據(jù)集中進(jìn)行篩選的最好工具是什么?以下是總結(jié)的十大合適大數(shù)據(jù)處理的編程語(yǔ)言。
1. R語(yǔ)言,R語(yǔ)言是數(shù)據(jù)科學(xué)的寵兒,R語(yǔ)言有著簡(jiǎn)單而明顯的吸引力,使用R語(yǔ)言,只需要短短的幾行代碼,你就可以在復(fù)雜的數(shù)據(jù)集中篩選,通過先進(jìn)的建模函數(shù)處理數(shù)據(jù),以及創(chuàng)建平整的圖形來代表數(shù)字,它被比喻為是Excel的一個(gè)極度活躍版本。
2. Python,如果說R語(yǔ)言是一個(gè)神經(jīng)質(zhì)又可愛的高手,那么Python是它隨和又靈活的表兄弟,作為一種結(jié)合了R語(yǔ)言快速對(duì)復(fù)雜數(shù)據(jù)進(jìn)行挖掘的能力并構(gòu)建產(chǎn)品的更實(shí)用語(yǔ)言,Python迅速得到了主流的吸引力。
3. Julia,雖然當(dāng)前的數(shù)據(jù)科學(xué)絕大多數(shù)是通過R語(yǔ)言,Python,Java,MatLab和SAS執(zhí)行的。但依然有其他的語(yǔ)言存活于夾縫中,Julia就是值得一看的后起之秀。
4. JAVA,Java不能提供R和Python同樣質(zhì)量的可視化,并且它并非統(tǒng)計(jì)建模的最佳選擇。但是,如果你移動(dòng)到過去的原型制作并需要建立大型系統(tǒng),那么Java往往是你的最佳選擇。
5. Hadoop 和 Hive,Hadoop作為首選的基于Java的框架用于批處理數(shù)據(jù)已經(jīng)點(diǎn)燃了大家的熱情。Hadoop比其他一些處理工具慢,但它出奇的準(zhǔn)確,因此被廣泛用于后端分析。
6. Scala,Scala是另一種基于Java的語(yǔ)言,并且和Java相同的是,它正日益成為大規(guī)模機(jī)器學(xué)習(xí),或構(gòu)建高層次算法的工具。它富有表現(xiàn)力,并且還能夠構(gòu)建健壯的系統(tǒng)。
7. Kafka和Storm,Kafka,誕生于LinkedIn內(nèi)部,是一個(gè)超快速的查詢消息系統(tǒng),Storm是用Scala編寫的另一個(gè)框架,它在硅谷中因?yàn)榱魈幚矶艿搅舜罅康那嗖A。
8. MatLab,MatLab一直以來長(zhǎng)盛不衰,盡管它要價(jià)不菲,但它仍然被廣泛使用在一些非常特殊的領(lǐng)域:研究密集型機(jī)器學(xué)習(xí),信號(hào)處理,圖像識(shí)別等。
9. Octave,Octave和MatLab非常相似,但它是免費(fèi)的。不過,它在學(xué)術(shù)性信號(hào)處理圈子之外很少見到。
10. GO,GO是另一個(gè)正在掀起浪潮的后起之秀。它由Google開發(fā),從C語(yǔ)言松散地派生,并在構(gòu)建健壯基礎(chǔ)設(shè)施上,正在贏得競(jìng)爭(zhēng)對(duì)手。
大數(shù)據(jù)怎么學(xué)?
從局部到整體。說得通俗一點(diǎn)就是要腳踏實(shí)地,不要老是飄在天上,因?yàn)樵谔焐峡吹降氖且徽麄€(gè)生態(tài),你當(dāng)然會(huì)看到有很多很多東西,但是如果你不走近看的話你是不會(huì)知道,其實(shí)有很多東西都是類似的,經(jīng)典的理論就那么幾個(gè),大家的系統(tǒng)很多都是照著這些理論去實(shí)現(xiàn)的,只是實(shí)現(xiàn)的方式會(huì)有些不一樣,所以同類型的產(chǎn)品可能場(chǎng)景會(huì)稍有不同,但是架構(gòu)是非常類似的,熟悉了之后你會(huì)發(fā)現(xiàn),分布式系統(tǒng)萬(wàn)變不離其宗。
簡(jiǎn)單地說,從一個(gè)入手,比如存儲(chǔ),舉個(gè)例子可以從HBase入手,因?yàn)樗闶且粋€(gè)比較經(jīng)典的分布式存儲(chǔ)引擎,《Big Table》也是非常經(jīng)典的一篇paper,HBase里面存在的LSM-Tree,Bloom Filter,壓縮,分區(qū)等等原理和概念在很多分布式存儲(chǔ)中也是適用的。
再比如,計(jì)算,mr很經(jīng)典,但是我還是建議直接從Spark入手,它的很多設(shè)計(jì)是基于mr又超過了mr的,而且spark生態(tài)系統(tǒng)非常的全能,能干的事情非常多,先學(xué)Spark Core,搞懂編程模型,了解大概原理,接著學(xué)SparkSQL,了解catalyst等,再接著就是SparkStreaming,以及后面的StructedStreaming,學(xué)到到這里,如果學(xué)得足夠有深度,F(xiàn)link也是可以輕松拿下的了,二者都大量借鑒了《DataFlow》這篇paper的理論,還是那句話,萬(wàn)變不離其宗。
還有很多的其他的例子,比如調(diào)度系統(tǒng)AirFlow,Azkaban以及最近挺火的DolphinScheduler,本質(zhì)上的實(shí)現(xiàn)都是類似的,只是在各自都增加了不同的功能來滿足用戶的需求。
還有數(shù)據(jù)可視化等等很多的例子就部一一列舉了。
說這么多目的只有一個(gè),腳踏實(shí)地一步一步走,程序猿這個(gè)工種還是很依賴經(jīng)驗(yàn)的,孰能生巧是沒有錯(cuò)的。
大數(shù)據(jù)的特性都有哪些
一、體量(Volume)
大數(shù)據(jù)由大量數(shù)據(jù)組成,從幾個(gè)TB到幾個(gè)ZB。這些數(shù)據(jù)可能會(huì)分布在許多地方,通常是在一些連入因特網(wǎng)的計(jì)算網(wǎng)絡(luò)中。一般來說,凡是滿足大數(shù)據(jù)的幾個(gè)V的條件的數(shù)據(jù)都會(huì)因?yàn)樘蠖鵁o(wú)法被單獨(dú)的計(jì)算機(jī)處理。單單這一個(gè)問題就需要一種不同的數(shù)據(jù)處理思路,這也使得并行計(jì)算技術(shù)(例如MapReduce)得以迅速崛起。
二、高速(Velocity)
大數(shù)據(jù)是在運(yùn)動(dòng)著的,通常處于很高的傳輸速度之下。它經(jīng)常被認(rèn)為是數(shù)據(jù)流,而數(shù)據(jù)流通常是很難被歸檔的(考慮到有限的網(wǎng)絡(luò)存儲(chǔ)空間,單單是高速就已經(jīng)是一個(gè)巨大的問題)。這就是為什么只能收集到數(shù)據(jù)其中的某些部分。如果我們有能力收集數(shù)據(jù)的全部,長(zhǎng)時(shí)間存儲(chǔ)大量數(shù)據(jù)也會(huì)顯得非常昂貴,所以周期性的收集數(shù)據(jù)遺棄一部分?jǐn)?shù)據(jù)以節(jié)省空間,僅保留數(shù)據(jù)摘要(如平均值和方差)。這個(gè)問題在未來會(huì)顯得更為嚴(yán)重,因?yàn)樵絹碓蕉嗟臄?shù)據(jù)正以越來越快的速度所產(chǎn)生。
三、多樣(Variety)
在過去,數(shù)據(jù)或多或少是同構(gòu)的,這種特點(diǎn)也使得它更易于管理。這種情況并不出現(xiàn)在大數(shù)據(jù)中,由于數(shù)據(jù)的來源各異,因此形式各異。這體現(xiàn)為各種不同的數(shù)據(jù)結(jié)構(gòu)類型,半結(jié)構(gòu)化以及完全非結(jié)構(gòu)化的數(shù)據(jù)類型。結(jié)構(gòu)化數(shù)據(jù)多被發(fā)現(xiàn)在傳統(tǒng)數(shù)據(jù)庫(kù)中,數(shù)據(jù)的類型被預(yù)定義在定長(zhǎng)的列字段中。半結(jié)構(gòu)化數(shù)據(jù)有一些結(jié)構(gòu)特征,但不總是保持一致(舉例來說,看一看JSON文件),使得這種類型難以處理。更富于挑戰(zhàn)的是非結(jié)構(gòu)化數(shù)據(jù)(例如純文本文件)毫無(wú)結(jié)構(gòu)特征可言。在大數(shù)據(jù)中,更常見的是半結(jié)構(gòu)化數(shù)據(jù),而且這些數(shù)據(jù)源的數(shù)據(jù)格式還各不相同。
在過去的幾年里,半結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)成為了大數(shù)據(jù)的主體數(shù)據(jù)類型。
四、準(zhǔn)確(Veracity)
這是一個(gè)在討論大數(shù)據(jù)時(shí)時(shí)常被忽略的一個(gè)屬性,部分原因是這個(gè)屬性相對(duì)來說比較新,盡管它與其他的屬性同樣重要。這是一個(gè)與數(shù)據(jù)是否可靠相關(guān)的屬性,也就是那些在數(shù)據(jù)科學(xué)流程中會(huì)被用于決策的數(shù)據(jù)。
五、精確性與信噪比(signal-to-noiseratio)
在大數(shù)據(jù)中發(fā)現(xiàn)哪些數(shù)據(jù)對(duì)商業(yè)是真正有效的,這在信息理論中是個(gè)十分重要的概念。由于并不是所有的數(shù)據(jù)源都具有相等的可靠性,在這個(gè)過程中,大數(shù)據(jù)的精確性會(huì)趨于變化。如何增加可用數(shù)據(jù)的精確性是大數(shù)據(jù)的主要挑戰(zhàn)。注意,即使有些數(shù)據(jù)擁有這4種屬性中的一種或多種,也不能被歸類為大數(shù)據(jù)。大數(shù)據(jù)擁有以上全部4種特性。大數(shù)據(jù)是一個(gè)重要課題,因?yàn)樗⒉蝗菀滋幚?,即使是?duì)于一臺(tái)超級(jí)計(jì)算機(jī),也很難獨(dú)自有效地展開分析。
上一篇: 思科和華為認(rèn)證哪個(gè)難考