大数据技术有哪些 应该重点学哪些知识
想學習大數據技術,是不是首先要知道大數據技術有哪些呢?這樣也好知道自己未來應該往哪個方向發展,應該重點學習哪些知識?
抽象而言,各種大數據技術無外乎分布式存儲???并行計算。具體體現為各種分布式文件系統和建立在其上的并行運算框架。這些軟件程序都部署在多個相互連通、統一管理的物理或虛擬運算節點之上,形成集群(cluster)。因此不妨說,云計算是大數據的基礎。
在這里還是要推薦下我自己建的大數據學習交流群:199427210,群里都是學大數據開發的,如果你正在學習大數據 ,小編歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有大數據軟件開發相關的),包括我自己整理的一份2018最新的大數據進階資料和高級開發教程,歡迎進階中和進想深入大數據的小伙伴加入。
小編介紹幾種當前比較流行的大數據技術:
1.Hadoop
Hadoop無疑是當前很知名的大數據技術了。
2003年到2004年間,Google發布了關于GFS、MapReduce和BigTable三篇技術論文(這幾篇論文成為了后來云計算、大數據領域發展的重要基石)。
當時一位因公司倒閉賦閑在家的程序員Doug Cutting根據前兩篇論文,開發出了一個簡化的山寨版GFS?–?HDFS,以及基于其的MapReduce計算框架,這就是Hadoop當初的版本。
后來Cutting被Yahoo雇傭,得以依賴Yahoo的資源改進Hadoop,并將其貢獻給了Apache開源社區。
簡單描述Hadoop原理:數據分布式存儲,運算程序被發派到各個數據節點進行分別運算(Map),再將各個節點的運算結果進行合并歸一(Reduce),生成結果。
相對于動輒TB級別的數據,計算程序一般在KB?–?MB量級,這種移動計算不移動數據的設計節約了大量網絡帶寬和時間,并使得運算過程可充分并行化。
在其誕生后的近10年里,Hadoop憑借其簡單、易用、高效、免費、社區支持豐富等特征成為眾多企業云計算、大數據實施的首選。
2.Storm
Hadoop雖好,卻有其“死穴”.其一:它的運算模式是批處理。這對于許多有實時性要求的業務就無法做到很好的支持。
因此,Twitter推出了他們自己的基于流的運算框架——Storm。不同于Hadoop一次性處理所有數據并得出統一結果的作業(job),Storm對源源導入的數據流進行持續不斷的處理,隨時得出增量結果。
Hadoop的另一個致命弱點是:它的所有中間結果都需要進行硬盤存儲,I/O消耗巨大,這就使得它很不適合多次迭代的運算。而大多數機器學習算法,恰恰要求大量迭代運算。
3.Spark
2010年開始,UC Berkeley AMP Lab開始研發分布式運算的中間過程全部內存存儲的Spark框架,由此在迭代計算上大大提高了效率。也因此成為了Hadoop的強有力競爭者。
4.NoSQL?數據庫
NoSQL數據庫可以泛指非關系型數據庫,不過一般用來指稱那些建立在分布式文件系統(例如HDFS)之上,基于key-value對的數據管理系統。
相對于傳統的關系型數據庫,NoSQL數據庫中存儲的數據無需主鍵和嚴格定義的schema。于是,大量半結構化、非結構化數據可以在未經清洗的情況下直接進行存儲。這一點滿足了處理大量、高速、多樣的大數據的需求。當前比較流行的NoSQL數據庫有MongoDB,Redis,Cassandra,HBase等。
NoSQL并不是沒有SQL,而是不僅僅有(not only)SQL的意思。為了兼容之前許多運行在關系型數據庫上的業務邏輯,有很多在NoSQL數據庫上運行SQL的工具涌現出來,典型的例如Hive和Pig,它們將用戶的SQL語句轉化成MapReduce作業,在Hadoop上運行。
大數據產業已進入發展的“快車道”,急需大量優秀的大數據人才作為后盾。能夠在大數據行業崛起的初期進入到這個行業當中來,才有機會成為時代的弄潮兒
總結
以上是生活随笔為你收集整理的大数据技术有哪些 应该重点学哪些知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无线回程mesh组网从入门到精通【伸手党
- 下一篇: (艾迪茉莉转圈圈~~找最小环)Circu