大數據開發技能更進一步

 

學習大數據開發前須要掌握哪些技能?算法

  1. 數學知識sql

  數學知識是數據分析師的基礎知識。shell

  對於初級數據分析師,瞭解一些描述統計相關的基礎內容,有必定的公式計算能力便可,瞭解經常使用統計模型算法則是加分。數據庫

  對於高級數據分析師,統計模型相關知識是必備能力,線性代數(主要是矩陣計算相關知識)也有必定的瞭解。編程

  而對於數據挖掘工程師,除了統計學之外,各種算法也須要熟練使用,對數學的要求是高的。緩存

 

  2. 分析工具服務器

  對於初級數據分析師,玩轉Excel是必須的,數據透視表和公式使用必須熟練,VBA是加分。另外,還要學會一個統計分析工具,SPSS做爲入門是比較好的。網絡

  對於高級數據分析師,使用分析工具是核心能力,VBA基本必備,SPSS/SAS/R至少要熟練使用其中之一,其餘分析工具(如Matlab)視狀況而定。架構

  對於數據挖掘工程師……嗯,會用用Excel就好了,主要工做要靠寫代碼來解決呢。框架

 

  3. 編程語言

  對於初級數據分析師,會寫SQL查詢,有須要的話寫寫Hadoop和Hive查詢,基本就OK了。

  對於高級數據分析師,除了SQL之外,學習Python是頗有必要的,用來獲取和處理數據都是事半功倍。固然其餘編程語言也是能夠的。

  對於數據挖掘工程師,Hadoop得熟悉,Python/Java/C++至少得熟悉一門,Shell得會用……總之編程語言也是數據挖掘工程師的核心能力了。

 

  4. 業務理解

  業務理解說是數據分析師全部工做的基礎也不爲過,數據的獲取方案、指標的選取、乃至結論的洞察,都依賴於數據分析師對業務自己的理解。

  對於初級數據分析師,主要工做是提取數據和作一些簡單圖表,以及少許的洞察結論,擁有對業務的基本瞭解就能夠。

  對於高級數據分析師,須要對業務有較爲深刻的瞭解,可以基於數據,提煉出有效觀點,對實際業務能有所幫助。

  對於數據挖掘工程師,對業務有基本瞭解就能夠,重點仍是須要放在發揮本身的技術能力上。

 

  5. 邏輯思惟

  這項能力在我以前的文章中提的比較少,此次單獨拿出來講一下。

  對於初級數據分析師,邏輯思惟主要體如今數據分析過程當中每一步都有目的性,知道本身須要用什麼樣的手段,達到什麼樣的目標。

  對於高級數據分析師,邏輯思惟主要體如今搭建完整有效的分析框架,瞭解分析對象之間的關聯關係,清楚每個指標變化的來龍去脈,會給業務帶來的影響。

  對於數據挖掘工程師,邏輯思惟除了體如今和業務相關的分析工做上,還包括算法邏輯,程序邏輯等,因此對邏輯思惟的要求也是高的。

 

  6. 數據可視化

  數據可視化提及來很高大上,其實包括的範圍很廣,作個PPT裏邊放上數據圖表也能夠算是數據可視化,因此我認爲這是一項廣泛須要的能力。

  對於初級數據分析師,能用Excel和PPT作出基本的圖表和報告,能清楚的展現數據,就達到目標了。

  對於高級數據分析師,須要探尋更好的數據可視化方法,使用更有效的數據可視化工具,根據實際需求作出或簡單或複雜,但適合受衆觀看的數據可視化內容。

  對於數據挖掘工程師,瞭解一些數據可視化工具是有必要的,也要根據需求作一些複雜的可視化圖表,但一般不須要考慮太多美化的問題。

 

  7. 協調溝通

  對於初級數據分析師,瞭解業務、尋找數據、講解報告,都須要和不一樣部門的人打交道,所以溝通能力很重要。

  對於高級數據分析師,須要開始獨立帶項目,或者和產品作一些合做,所以除了溝通能力之外,還須要一些項目協調能力。

  對於數據挖掘工程師,和人溝通技術方面內容偏多,業務方面相對少一些,對溝通協調的要求也相對低一些。

 

 


想要在大數據這個領域汲取營養,讓本身壯大成長。分享方向,行動之前先分享下一個大數據交流分享資源羣870097548,歡迎想學習,想轉行的,進階中你加入學習。

 

大數據領域三個大的技術方向:

一、Hadoop大數據開發方向

二、數據挖掘、數據分析&機器學習方向

三、大數據運維&雲計算方向

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

語法簡捷而清晰,對底層作了很好的封裝,是一種很容易上手的高級語言。

大數據和數據科學領域,任何集羣架構軟件都支持Python,Python也有很豐富的數據科學庫,因此Python不得不學。


Linux:更好的理解hadoop、hive、hbase、spark等大數據軟件的運行環境和網絡環境配置,學會shell就能看懂腳本這樣能更容易理解和配置大數據集羣。

Hadoop:Hadoop裏面包括幾個組件HDFS、MapReduce和YARN,HDFS是存儲數據的地方就像咱們電腦的硬盤同樣文件都存儲在這個上面,MapReduce是對數據進行處理計算的,YARN是體現Hadoop平臺概念的重要組件有了它大數據生態體系的其它軟件就能在hadoop上運行了,這樣就能更好的利用HDFS大存儲的優點和節省更多的資源好比咱們就不用再單獨建一個spark的集羣了,讓它直接跑在現有的hadoop yarn上面就能夠了。

Zookeeper:ZooKeeper是一種爲分佈式應用所設計的高可用、高性能且一致的開源協調服務,它提供了一項基本服務:分佈式鎖服務。因爲ZooKeeper的開源特性,後來咱們的開發者在分佈式鎖的基礎上,摸索了出了其餘的使用方法:配置維護、組服務、分佈式消息隊列、分佈式通知/協調等。

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


Hive:對於會SQL語法的來講就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapReduce程序。


Hbase:這是Hadoop生態體系中的NOSQL數據庫,他的數據是按照key和value的形式存儲的而且key是惟一的,因此它能用來作數據的排重,它與MYSQL相比能存儲的數據量大不少。因此他常被用於大數據處理完成以後的存儲目的地。


Kafka:Kafka的總體架構很是簡單,是顯式分佈式架構,producer、broker(kafka)和consumer均可以有多個。Producer,consumer實現Kafka註冊的接口,數據從producer發送到broker,broker承擔一箇中間緩存和分發的做用。broker分發註冊到系統中的consumer。broker的做用相似於緩存,即活躍的數據和離線處理系統之間的緩存。客戶端和服務器端的通訊,是基於簡單,高性能,且與編程語言無關的TCP協議。幾個基本概念。


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


機器學習(Machine Learning, ML):是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。它是人工智能的核心,是使計算機具備智能的根本途徑,其應用遍佈人工智能的各個領域,它主要使用概括、綜合而不是演繹。機器學習的算法基本比較固定了,學習起來相對容易。

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