首頁>Club>
7
回覆列表
  • 1 # IT人劉俊明

    作為我的主要研究方向之一,我來回答一下這個問題。

    大資料是一個統稱,就像電子商務一樣,大資料本身涵蓋了很多內容,同時大資料也提供了很多崗位,不同崗位扮演著不同的角色及不同的任務。

    大資料涵蓋了從資料的採集、整理、傳輸、儲存、分析到呈現的一系列內容,所以對於不同基礎的人可以根據自己的實際情況來選擇從事哪個方向。

    同時大資料與物聯網、雲計算關係密切,通常大資料的採集端要涉及到與物聯網相關的內容,資料的傳輸、儲存又涉及到與雲計算相關的內容,所以學習大資料的過程也會涉及到很多關於物聯網和雲計算的內容。可以說大資料本身就是一個交叉學科,涉及到諸多不同學科的內容,這其中比較重要的有數學、計算機、網路、統計等等,下面逐一分析一下。

    學習大資料要有一定的程式設計基礎,這是大資料大部分崗位都需要的。目前從事大資料方向的程式設計師比較普遍使用的語言有四種,分別是Python、Java、Scala和R,這四種語言都有一定的應用場景,不同崗位的程式設計師使用的語言也稍有不同。

    Python目前主要是應用在資料分析、資料探勘和演算法實現上,可以說大資料領域Python的應用是比較普遍的,未來Python語言在大資料應用領域的發展也是非常值得期待的。

    Java是老牌程式開發語言了,目前Java在大資料領域的應用還是跟平臺有直接關係,通常在需要高效能的資料處理部分採用Java開發,但是由於Java開發過於麻煩,目前很多大資料程式設計師使用Java都比較謹慎。

    Scala和R主要是基於場景的應用多一些,Scala構建在Java基礎之上,程式碼結構要比Java簡潔一些,同時Scala是Spark的實現語言,在與Spark相關的開發中使用Scala是比較方面的選擇。R語言本身的特點就是統計分析,語法簡單且功能強大,是做大資料統計分析的一把利器。

    數學基礎是做大資料研發崗位(並不是所有大資料崗位都需要數學)的重要基礎,大資料應用的一個核心就是透過演算法來對資料進行整理分析,從雜亂無章的資料中尋找規律,所以需要一定的數學基礎。這其中需要了解線性代數、機率、離散數學、微積分等,還有一個很重要的課程叫演算法導論,這些都需要重點學習和掌握的。

    當然,學習大資料一定離不開與各種資料庫打交道,無論是傳統的資料庫,還是NoSql資料庫,在大資料應用中都要涉及到相關知識。

    未來每個公司都需要有專門的崗位來做大資料相關工作,所以學習並掌握大資料的一些知識對未來的職場發展還是非常有幫助的。

  • 中秋節和大豐收的關聯?
  • 為什麼鴕鳥會把頭扎進土裡?