如何進行大數據的入門級學習?

QQ圖片20190118204938.png不知道你是計算機專業應屆生還是已經從業者。總之,有java基礎的學生學習大數據會輕鬆很多,零基礎的小白都需要從java和linux學起。

如果你是一個學習能力特別強,而且自律性也很強的人的話可以通過自學。

對於能夠學的會的人來講(學不會就不用自學了)自學的最大缺點就是無法找到真正的大數據實訓項目。

網絡上共享的一些憑空想象的項目根本無法達到企業的要求。所以這個是需要你自己考慮的。當然,如果你是邊上班邊學習,企業後續可以給你大數據的崗位就沒有什麼問題了。

下面我講一下大數據目前比較熱門的就業方向:

1、大數據研發

2、大數據分析與挖掘

3、深度學習

4、人工智能

分享之前我還是要推薦下我自己創建的大數據學習資料分享羣 199427210,這是全國最大的大數據學習交流的地方,2000人聚集,不管你是小白還是大牛,小編我都挺歡迎,今天的已經資訊上傳到羣文件,不定期分享乾貨,包括我自己整理的一份最新的適合2019年學習的大數據教程,歡迎初學和進階中的小夥伴。

Java:

只需要學習Java的標準版JavaSE就可以了。

Linux:

主要掌握Linux操作系統的理論基礎和服務器配置實踐知識,同時通過大量實驗,着重培養動手能力。使學生了解Linux操作系統在行業中的重要地位和廣泛的使用範圍。在學習Linux的基礎上,加深對服務器操作系統的認識和實踐配置能力。加深對計算機網絡基礎知識的理解,並在實踐中加以應用。

掌握Linux操作系統的安裝、命令行操作、用戶管理、磁盤管理、文件系統管理、軟件包管理、進程管理、系統監測和系統故障排除。掌握Linux操作系統的網絡配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服務的配置與管理。爲更深一步學習其它網絡操作系統和軟件系統開發奠定堅實的基礎。與此同時,如果大家有時間把javaweb及框架學習一番,會讓你的大數據學習更自由一些。

好說完基礎了,再說說還需要學習哪些大數據技術,可以按我寫的順序學下去。

Hadoop:

Hadoop解決了什麼問題,Hadoop就是解決了大數據(大到一臺計算機無法進行存儲,一臺計算機無法在要求的時間內進行處理)的可靠存儲和處理。

記住學到這裏可以作爲你學大數據的一個節點。

Zookeeper:

ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。

他的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。

ZooKeeper代碼版本中,提供了分佈式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.3src ecipes。其中分佈鎖和隊列有Java和C兩個版本,選舉只有Java版本。

Mysql:

MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件。

MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

MySQL所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了雙授權政策,分爲社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作爲網站數據庫。

Sqoop:

這個是用於把Mysql裏的數據導入到Hadoop裏的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。

Hive:

這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapReduce程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。

Oozie:

既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapReduce、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關係。我相信你一定會喜歡上它的,不然你看着那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。

Hbase:

這是Hadoop生態體系中的NOSQL數據庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。

Kafka:

這是個比較好用的隊列工具,隊列是幹嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你幹嗎給我這麼多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因爲他不是搞大數據的,你可以跟他講我把數據放在隊列裏你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因爲處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。

Spark:

它是用來彌補基於MapReduce處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬盤。特別適合做迭代運算,所以算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因爲它們都是用JVM的。

往後的文章我將會對以上知識點進行梳理、細解。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章