前言,學大數據要先換電腦:
保證電腦4核8G內存64位操作系統(tǒng),盡量有ssd做系統(tǒng)盤,否則卡到你喪失信心。硬盤越大越好。
1,語言要求
java剛入門的時候要求javase。
scala是學習spark要用的基本使用即可。
后期深入要求:
java NIO,netty,多線程,ClassLoader,jvm底層及調優(yōu)等,rpc。
2,操作系統(tǒng)要求
linux 基本的shell腳本的使用。
crontab的使用,最多。
cpu,內存,網絡,磁盤等瓶頸分析及狀態(tài)查看的工具。
scp,ssh,hosts的配置使用。
telnet,ping等網絡排查命令的使用
3,sql基本使用
sql是基礎,hive,sparksql等都需要用到,況且大部分企業(yè)也還是以數據倉庫為中心,少不了sql。
sql統(tǒng)計,排序,join,group等,然后就是sql語句調優(yōu),表設計等。
4,大數據基本了解
Zookeeper,hadoop,hbase,hive,sqoop,flume,kafka,spark,storm等這些框架的作用及基本環(huán)境的搭建,要熟練,要會運維,瓶頸分析。
5,mapreduce及相關框架hive,sqoop
深入了解mapreduce的核心思想。尤其是shuffle,join,文件輸入格式,map數目,reduce數目,調優(yōu)等。
6,hive和hbase等倉庫
hive和hbase基本是大數據倉庫的標配。要回用,懂調優(yōu),故障排查。
hbase看浪尖hbase系列文章。hive后期更新。
7,消息隊列的使用
kafka基本概念,使用,瓶頸分析??蠢思鈑afka系列文章。
8,實時處理系統(tǒng)
storm和spark Streaming
9,spark core和sparksql
spark用于離線分析的兩個重要功能。
10,最終方向決策
a),運維。(精通整套系統(tǒng)及故障排查,會寫運維腳本啥的。)
b),數據分析。(算法精通)
c),平臺開發(fā)。(源碼精通)
自學還是培訓?
無基礎的同學,培訓之前先搞到視頻通學一遍,防止盲目培訓跟不上講師節(jié)奏,浪費時間,精力,金錢。
有基礎的盡量搞點視頻學基礎,然后跟群里大牛交流,前提是人家愿意,
想辦法跟大牛做朋友才是王道。
學科知識:從數據分析涉及到的專業(yè)知識點上看,主要是這些:
(1)統(tǒng)計學:參數檢驗、非參檢驗、回歸分析等
(2)數學:線性代數、微積分等
(3)社會學:主要是一些社會學量化統(tǒng)計的知識,如問卷調查與統(tǒng)計分析;還有就是一些社會學的知識,這些對于從事營銷類的數據分析人員比較有幫助
(4)經濟金融:如果是從事這個行業(yè)的數據分析人員,經濟金融知識是必須的,這里就不多說了
(5)計算機:從事數據分析工作的人必須了解你使用的數據是怎么處理出來的,要了解數據庫的結構和基本原理,同時如果條件充足的話,你還能有足夠的能力從數據庫里提取你需要的數據,這種提取數據分析原材料的能力是每個數據從業(yè)者必備的。
大數據學習入門都需要學習和具備的基礎知識:
1. 數學知識:數學知識是數據分析師的基礎知識。
①對于初級數據分析師,了解一些描述統(tǒng)計相關的基礎內容,有一定的公式計算能力即可,了解常用統(tǒng)計模型算法則是加分。
②對于高級數據分析師,統(tǒng)計模型相關知識是必備能力,線性代數(主要是矩陣計算相關知識)最好也有一定的了解。
③而對于數據挖掘工程師,除了統(tǒng)計學以外,各類算法也需要熟練使用,對數學的要求是最高的。
2. 分析工具
①對于初級數據分析師,玩轉Excel是必須的,數據透視表和公式使用必須熟練,VBA是加分。另外,還要學會一個統(tǒng)計分析工具,SPSS作為入門是比較好的。
②對于高級數據分析師,使用分析工具是核心能力,VBA基本必備,SPSS/SAS/R至少要熟練使用其中之一,其他分析工具(如Matlab)視情況而定。
③對于數據挖掘工程師……嗯,會用用Excel就行了,主要工作要靠寫代碼來解決呢。
3. 編程語言
①對于初級數據分析師,會寫SQL查詢,有需要的話寫寫Hadoop和Hive查詢,基本就OK了。
②對于高級數據分析師,除了SQL以外,學習Python是很有必要的,用來獲取和處理數據都是事半功倍。當然其他編程語言也是可以的。
③對于數據挖掘工程師,Hadoop得熟悉,Python/Java/C++至少得熟悉一門,Shell得會用……總之編程語言絕對是數據挖掘工程師的最核心能力了。
4. 業(yè)務理解
業(yè)務理解說是數據分析師所有工作的基礎也不為過,數據的獲取方案、指標的選取、乃至最終結論的洞察,都依賴于數據分析師對業(yè)務本身的理解。
①對于初級數據分析師,主要工作是提取數據和做一些簡單圖表,以及少量的洞察結論,擁有對業(yè)務的基本了解就可以。
②對于高級數據分析師,需要對業(yè)務有較為深入的了解,能夠基于數據,提煉出有效觀點,對實際業(yè)務能有所幫助。
③對于數據挖掘工程師,對業(yè)務有基本了解就可以,重點還是需要放在發(fā)揮自己的技術能力上。
5. 邏輯思維
①對于初級數據分析師,邏輯思維主要體現在數據分析過程中每一步都有目的性,知道自己需要用什么樣的手段,達到什么樣的目標。
②對于高級數據分析師,邏輯思維主要體現在搭建完整有效的分析框架,了解分析對象之間的關聯關系,清楚每一個指標變化的前因后果,會給業(yè)務帶來的影響。
③對于數據挖掘工程師,邏輯思維除了體現在和業(yè)務相關的分析工作上,還包括算法邏輯,程序邏輯等,所以對邏輯思維的要求也是最高的。
6. 數據可視化
數據可視化說起來很高大上,其實包括的范圍很廣,做個PPT里邊放上數據圖表也可以算是數據可視化,所以我認為這是一項普遍需要的能力。
①對于初級數據分析師,能用Excel和PPT做出基本的圖表和報告,能清楚的展示數據,就達到目標了。
②對于高級數據分析師,需要探尋更好的數據可視化方法,使用更有效的數據可視化工具,根據實際需求做出或簡單或復雜,但適合受眾觀看的數據可視化內容。
③對于數據挖掘工程師,了解一些數據可視化工具是有必要的,也要根據需求做一些復雜的可視化圖表,但通常不需要考慮太多美化的問題。
7. 協(xié)調溝通
①對于初級數據分析師,了解業(yè)務、尋找數據、講解報告,都需要和不同部門的人打交道,因此溝通能力很重要。
②對于高級數據分析師,需要開始獨立帶項目,或者和產品做一些合作,因此除了溝通能力以外,還需要一些項目協(xié)調能力。
③對于數據挖掘工程師,和人溝通技術方面內容偏多,業(yè)務方面相對少一些,對溝通協(xié)調的要求也相對低一些。
8. 快速學習
無論做數據分析的哪個方向,初級還是高級,都需要有快速學習的能力,學業(yè)務邏輯、學行業(yè)知識、學技術工具、學分析框架……數據分析領域中有學不完的內容,需要大家有一顆時刻不忘學習的心。
說到大數據,肯定少不了分析軟件,這應該是大數據工作的根基,但市面上很多各種分析軟件,如果不是過來人,真的很難找到適合自己或符合企業(yè)要求的。
小編通過各大企業(yè)對大數據相關行業(yè)的崗位要求,總結了以下幾點:(1)SQL數據庫的基本操作,會基本的數據管理(2)會用Excel/SQL做基本的數據分析和展示(3)會用腳本語言進行數據分析,Python or R(4)有獲取外部數據的能力,如爬蟲(5)會基本的數據可視化技能,能撰寫數據報告(6)熟悉常用的數據挖掘算法:回歸分析、決策樹、隨機森林、支持向量機等對于學習大數據,總體來說,先學基礎,再學理論,最后是工具?;旧?,每一門語言的學習都是要按照這個順序來的。
1、學習數據分析基礎知識,包括概率論、數理統(tǒng)計?;A這種東西還是要掌握好的啊,基礎都還沒扎實,知識大廈是很容易倒的哈。
2、你的目標行業(yè)的相關理論知識。比如金融類的,要學習證券、銀行、財務等各種知識,不然到了公司就一臉懵逼啦。
3、學習數據分析工具,軟件結合案列的實際應用,關于數據分析主流軟件有(從上手度從易到難):Excel,SPSS,stata,R,Python,SAS等。4、學會怎樣操作這些軟件,然后是利用軟件從數據的清洗開始一步步進行處理,分析,最后輸出結果,檢驗及解讀數據。
當然,學習數學與應用數學、統(tǒng)計學、計算機科學與技術等理工科專業(yè)的人確實比文科生有著客觀的優(yōu)勢,但能力大于專業(yè),興趣才會決定你走得有多遠。畢竟數據分析不像編程那樣,需要你天天敲代碼,要學習好多的編程語言,數據分析更注重的是你的實操和業(yè)務能力。
如今的軟件學習都是非常簡單便捷的,我們真正需要提升的是自己的邏輯思維能力,以及敏銳的洞察能力,還得有良好的溝通表述能力。這些都是和自身的努力有關,而不是單純憑借理工科背景就可以啃得下來的。
相反這些能力更加傾向于文科生,畢竟好奇心、創(chuàng)造力也是一個人不可或缺的。
學習大數據要有一定的編程基礎,這是大數據大部分崗位都需要的。
目前從事大數據方向的程序員比較普遍使用的語言有四種,分別是Python、Java、Scala和R,這四種語言都有一定的應用場景,不同崗位的程序員使用的語言也稍有不同。Python目前主要是應用在數據分析、數據挖掘和算法實現上,可以說大數據領域Python的應用是比較普遍的。
Java目前在大數據領域的應用還是跟平臺有直接關系,通常在需要高性能的數據處理部分采用Java開發(fā)。Scala和R主要是基于場景的應用多一些,Scala構建在Java基礎之上,代碼結構要比Java簡潔一些,同時Scala是Spark的實現語言,在與Spark相關的開發(fā)中使用Scala是比較方面的選擇。
R語言本身的特點就是統(tǒng)計分析,語法簡單且功能強大,是做大數據統(tǒng)計分析的一把利器。
大數據已經成為時代發(fā)展的趨勢,很多人紛紛選擇學習大數據,想要進入大數據行業(yè)。大數據技術體系龐大,包括的知識較多,系統(tǒng)的學習大數據可以讓你全面掌握大數據技能。學習大數據需要掌握哪些知識?
1、學習大數據首先要學習Java基礎
怎樣進行大數據學習的快速入門?學大數據課程之前要先學習一種計算機編程語言。Java是大數據學習需要的編程語言基礎,因為大數據的開發(fā)基于常用的高級語言。而且不論是學習hadoop,還是數據挖掘,都需要有編程語言作為基礎。因此,如果想學習大數據開發(fā),掌握Java基礎是必不可少的。
2、學習大數據必須學習大數據核心知識
Hadoop生態(tài)系統(tǒng);HDFS技術;HBASE技術;Sqoop使用流程;數據倉庫工具HIVE;大數據離線分析Spark、Python語言;數據實時分析Storm;消息訂閱分發(fā)系統(tǒng)Kafka等。
如果把大數據比作容器,那么這個容器的容量無限大,什么都能往里裝,大數據離不開物聯網,移動互聯網,大數據還和人工智能、云計算和機器學習有著千絲萬縷的關系,大數據海量數據存儲要高擴展就離不開云計算,大數據計算分析采用傳統(tǒng)的機器學習、數據挖掘技術會比較慢,需要做并行計算和分布式計算擴展。
3、學習大數據需要具備的能力
數學知識,數學知識是數據分析師的基礎知識。對于數據分析師,了解一些描述統(tǒng)計相關的內容,需要有一定公式計算能力,了解常用統(tǒng)計模型算法。而對于數據挖掘工程師來說,各類算法也需要熟練使用,對數學的要求是最高的。
編程語言,對于想學大數據的同學,至少需要具備一門編程語言,比如SQL、hadoop、hive查詢、Python等均可。
4、學習大數據可以應用的領域
大數據技術可以應用在各個領域,比如公安大數據、交通大數據、醫(yī)療大數據、就業(yè)大數據、環(huán)境大數據、圖像大數據、視頻大數據等等,應用范圍非常廣泛,大數據技術已經像空氣一樣滲透在生活的方方面面。大數據技術的出現將社會帶入了一個高速發(fā)展的時代,這不僅是信息技術的終極目標,也是人類社會發(fā)展管理智能化的核心技術驅動力。
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.181秒