1. 程式人生 > >大資料處理技術如何學習?

大資料處理技術如何學習?

首先我們要學習Python語言和Linux作業系統,這兩個是學習大資料的基礎,學習的順序不分前後。

Python:Python 的排名從去年開始就藉助人工智慧持續上升,現在它已經成為了語言排行第一名。

從學習難易度來看,作為一個為“優雅”而生的語言,Python語法簡捷而清晰,對底層做了很好的封裝,是一種很容易上手的高階語言。在一些習慣於底層程式開發的“硬核”程式設計師眼裡,Python簡直就是一種“虛擬碼”。

在大資料和資料科學領域,Python幾乎是萬能的,任何叢集架構軟體都支援Python,Python也有很豐富的資料科學庫,所以Python不得不學。

Linux:因為大資料相關軟體都是在Linux上執行的,所以Linux要學習的紮實一些,學好Linux對你快速掌握大資料相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大資料軟體的執行環境和網路環境配置,能少踩很多坑,學會shell就能看懂指令碼這樣能更容易理解和配置大資料叢集。還能讓你對以後新出的大資料技術學習起來更快。

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

Hadoop:這是現在流行的大資料處理平臺幾乎已經成為大資料的代名詞,所以這個是必學的。

Hadoop裡面包括幾個元件HDFS、MapReduce和YARN,HDFS是儲存資料的地方就像我們電腦的硬碟一樣檔案都儲存在這個上面,MapReduce是對資料進行處理計算的,它有個特點就是不管多大的資料只要給它時間它就能把資料跑完,但是時間可能不是很快所以它叫資料的批處理。

YARN是體現Hadoop平臺概念的重要元件有了它大資料生態體系的其它軟體就能在hadoop上運行了,這樣就能更好的利用HDFS大儲存的優勢和節省更多的資源比如我們就不用再單獨建一個spark的叢集了,讓它直接跑在現有的hadoop yarn上面就可以了。

其實把Hadoop的這些元件學明白你就能做大資料的處理了,只不過你現在還可能對”大資料”到底有多大還沒有個太清楚的概念,聽我的別糾結這個。

等以後你工作了就會有很多場景遇到幾十T/幾百T大規模的資料,到時候你就不會覺得資料大真好,越大越有你頭疼的。

當然別怕處理這麼大規模的資料,因為這是你的價值所在,讓那些個搞Javaee的php的html5的和DBA的羨慕去吧。

第一階段學習結束,掌握上述知識,就可以從事大資料方面的工作了。

ps:大家需要相關學習資料的大資料,java高階,java面試,Python的學習資料可以加我扣扣3300863615免費領取。

Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。

它一般用來存放一些相互協作的資訊,這些資訊比較小一般不會超過1M,都是使用它的軟體對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。

Mysql:我們學習完大資料的處理了,接下來學習學習小資料的處理工具mysql資料庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?

你能在Linux上把它安裝好,執行起來,會配置簡單的許可權,修改root的密碼,建立資料庫。

這裡主要的是學習SQL的語法,因為hive的語法和這個非常相似。

Sqoop:這個是用於把Mysql裡的資料匯入到Hadoop裡的。

當然你也可以不用這個,直接把Mysql資料表匯出成檔案再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。

Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大資料變的很簡單,不會再費勁的編寫MapReduce程式。

有的人說Pig那?它和Pig差不多掌握一個就可以了。

Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapReduce、Spark指令碼,還能檢查你的程式是否執行正確,出錯了給你發報警並能幫你重試程式,最重要的是還能幫你配置任務的依賴關係。

我相信你一定會喜歡上它的,不然你看著那一大堆指令碼,和密密麻麻的crond是不是有種想屎的感覺。

第二階段學習結束,如果能全部掌握,你就是專業的大資料開發工程師了。

後續提高:大資料結合人工智慧達到真正的資料科學家,打通了資料科學的任督二脈,在公司是技術專家級別,這時候月薪再次翻倍且成為公司核心骨幹。

機器學習(Machine Learning, ML):是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。它是人工智慧的核心,是使計算機具有智慧的根本途徑,其應用遍及人工智慧的各個領域,它主要使用歸納、綜合而不是演繹。機器學習的演算法基本比較固定了,學習起來相對容易。(ps:大家需要相關學習資料的大資料,java高階,java面試,Python的學習資料可以加我扣扣3300863615免費領取。)

深度學習(Deep Learning, DL):深度學習的概念源於人工神經網路的研究,最近幾年發展迅猛。深度學習應用的例項有AlphaGo、人臉識別、影象檢測等。是國內外稀缺人才,但是深度學習相對比較難,演算法更新也比較快,需要跟隨有經驗的老師學習。

第三階段是理想狀態,算是終極目標吧。畢竟技術一直在進步,誰也無法預測大資料以後的發展。

希望大家多關注,更多精彩的文章後續帶給大家,祝大家有個愉快的週末!需要更多學習資料的可以加我QQ{:3300863615免費領取