學習大資料從哪兒下手?

學習hadoop,從哪兒開始學首先要根據你的基本情況而定。
如果你就一小白,沒有任何開發基礎,也沒有學過任何開發語言,那就必須先從第一階段基礎java開始學起(大資料支援很多開發語言,但企業用的最多的還是JAVA),需要學習的內容如下:
第一階段(加**的需重點熟練掌握,其他掌握):
1、Java基礎**
1) 資料型別
2) 運算子、迴圈
3) 順序結構程式設計
4) 程式結構
5) 陣列及多維陣列
2、面向物件**
構造方法、控制符、封裝
3、繼承**
4、多型**
5、抽象類、介面**
常用類
6、集合Collection、list**
HashSet、TreeSet、Collection
7、集合類Map**
1) 異常
2) File
8、檔案/流**
1) 資料流和物件流
2) 執行緒(理解即可)
3) 網路通訊(理解即可)
很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:458345782,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系。

如果如果你已經是脫離小白生涯,你理大資料不遠了,需要學習一些額外的小知識(資料結構、關係型資料庫、linux系統操作)第二階段以夯實基礎,之後就可以進入大資料學習了;
第二階段(必備技能):
1. 資料結構
2. 關係型資料庫
3. Linux系統操作
4. Linux作業系統概述
5. 安裝Linux作業系統
6. 圖形介面操作基礎
7. Linux字元介面基礎
8. 字元介面操作進階
9. 使用者、組群和許可權管理
10. 檔案系統管理
11. 軟體包管理與系統備份
12. Linux網路配置
主要掌握Linux作業系統的理論基礎和伺服器配置實踐知識,同時通過大量實驗,著重培養學生的動手能力。使學生了解Linux作業系統在行業中的重要地位和廣泛的使用範圍。在學習Linux的基礎上,加深對伺服器作業系統的認識和實踐配置能力。加深對計算機網路基礎知識的理解,並在實踐中加以應用。掌握Linux作業系統的安裝、命令列操作、使用者管理、磁碟管理、檔案系統管理、軟體包管理、程序管理、系統監測和系統故障排除。掌握Linux作業系統的網路配置、DNS、DHCP、HTTP、FTP、SMTP和POP3服務的配置與管理。為更深一步學習其它網路作業系統和軟體系統開發奠定堅實的基礎。與此同時,如果大家有時間把javaweb及框架學習一番,會讓你的大資料學習更自由一些。
重點掌握:
1) 常見演算法
2) 資料庫表設計
3) SQL語句
4) Linux常見命令
如果你已經是小牛,只不過不瞭解大資料而已,那麼恭喜你,我們可以給你介紹大資料相關平臺了。例如:hadoop離線分析、Storm實時計算、spark記憶體計算三種計算平臺,學習體系可以按照如下:
3
第三階段(大資料平臺技術):
1. Hadoop離線批處理平臺
HDFS、MapReduce、Hive、Hbase、Sqoop、Pig等
2. Storm實時資料處理平臺
3. Spark平臺
提示:若之前沒有專案經驗或JAVA基礎,掌握了第一階段進入企業,不足以立即上手做大資料專案,企業需再花時間與成本培養;
第二階段掌握紮實以後,進入企業就可以跟著做大資料專案了,跟著一大幫人做專案倒也不用太擔心自己能不能應付的來,當然薪資不能有太高的要求;
前兩個階段都服務於第三階段的學習,除了熟練掌握這些知識以外,重點需要找些相應的專案去做,不管專案大小做過與沒有相差很多的哦!掌握紮實後可直接面對企業就業,薪資待遇妥妥的了!
技術更新迭代速度很快,我們必須時刻保持危機感!一步跟不上,步步跟不上!
大資料是當時時代下一門炙熱的IT學科,行情十分火爆,不論是阿里巴巴、百度這樣的大公司,還是中小企業都很重視,甚至是第一個納入國家戰略的技術,政府扶持力度大,支援甚多!
面對這樣的大環境下,大資料相關崗位薪水高,就業前景好。因此也吸引了一大批有志之士,想學習並從事大資料相關工作。
大資料前景分析
隨著國家重視大資料,政府扶持大資料,大資料在企業中生根發芽,開花結果。未來三至五年, 中國需要180萬資料人才,但目前只有約30萬人。

人才緊缺帶來最直觀現象就是薪酬的提升。
目前,一個大資料工程師的月薪輕鬆過萬,一個有幾年工作經驗的資料工程師薪酬在40萬~80萬元之間不等,而更頂尖的 大資料技術人才則是年薪輕鬆超百萬 。
有的時候成功就是這樣,方向和平臺選擇對了,只要付出足夠的汗水,選擇大於努力。
大資料開發就業6大熱門方向
大資料技術專業可以從事的工作有哪些?常見的食品製造、零售電商、醫療製造、交通檢測等等。
人才主要分成三大類:大資料系統研發類、大資料應用開發類、大資料分析類。
熱門崗位有:
1.大資料系統架構師
2.大資料系統分析師
3.大資料開發工程師
4.資料分析師
5.資料探勘工程師
6.大資料視覺化工程師
大資料開發這塊年齡影響比較小,在大資料行業內生存的時間越久,其經驗也會越得到肯定。面對如此光明而誘人的前景,有遠見的人,早已給自己安排了後路。
轉行大資料需要學習的知識點
1、Java程式設計技術
Java程式設計技術是大資料學習的基礎,Java是一種強型別語言,擁有極高的跨平臺能力,可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式等,是大資料工程師最喜歡的程式設計工具,因此,想學好大資料,掌握Java基礎是必不可少的。
2、Linux命令
對於大資料開發通常是在Linux環境下進行的,相比Linux作業系統,Windows作業系統是封閉的作業系統,開源的大資料軟體很受限制,因此,想從事大資料開發相關工作,還需掌握Linux基礎操作命令。
3、Hadoop
Hadoop是大資料開發的重要框架,其核心是HDFS和MapReduce,HDFS為海量的資料提供了儲存,MapReduce為海量的資料提供了計算,因此,需要重點掌握,除此之外,還需要掌握Hadoop叢集、Hadoop叢集管理、YARN以及Hadoop高階管理等相關技術與操作!
4、Avro與Protobuf
Avro與Protobuf均是資料序列化系統,可以提供豐富的資料結構型別,十分適合做資料儲存,還可進行不同語言之間相互通訊的資料交換格式,學習大資料,需掌握其具體用法。
5、Hive
Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行,十分適合資料倉庫的統計分析。對於Hive需掌握其安裝、應用及高階操作等。
6、HBase
HBase是一個分散式的、面向列的開源資料庫,它不同於一般的關係資料庫,更適合於非結構化資料儲存的資料庫,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,大資料開發需掌握HBase基礎知識、應用、架構以及高階用法等。
7、Redis
Redis是一個key-value儲存系統,其出現很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關係資料庫起到很好的補充作用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便,大資料開發需掌握Redis的安裝、配置及相關使用方法。
8、ZooKeeper
ZooKeeper是Hadoop和Hbase的重要元件,是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、元件服務等,在大資料開發中要掌握ZooKeeper的常用命令及功能的實現方法。
9、Flume
Flume是一款高可用、高可靠、分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。大資料開發需掌握其安裝、配置以及相關使用方法。
10、Azkaban
Azkaban是一個批量工作流任務排程器,可用於在一個工作流內以一個特定的順序執行一組工作和流程,可以利用Azkaban來完成大資料的任務排程,大資料開發需掌握Azkaban的相關配置及語法規則。
11、SSM
SSM框架是由Spring、SpringMVC、MyBatis三個開源框架整合而成,常作為資料來源較簡單的web專案的框架。大資料開發需分別掌握Spring、SpringMVC、MyBatis三種框架的同時,再使用SSM進行整合操作。
12、Kafka
Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,其在大資料開發應用上的目的是通過Hadoop的並行載入機制來統一線上和離線的訊息處理,也是為了通過叢集來提供實時的訊息。大資料開發需掌握Kafka架構原理及各元件的作用和使用方法及相關功能的實現。
13、Python與資料分析
Python是面向物件的程式語言,擁有豐富的庫,使用簡單,應用廣泛,在大資料領域也有所應用,主要可用於資料採集、資料分析以及資料視覺化等,因此,大資料開發需學習一定的Python知識。
14、phoenix
phoenix是用Java編寫的基於JDBC API操作HBase的開源SQL引擎,其具有動態列、雜湊載入、查詢伺服器、追蹤、事務、使用者自定義函式、二級索引、名稱空間對映、資料收集、行時間戳列、分頁查詢、跳躍查詢、檢視以及多租戶的特性,大資料開發需掌握其原理和使用方法。
15、Scala
Scala是一門多正規化的程式語言,大資料開發重要框架Spark是採用Scala語言設計的,想要學好Spark框架,擁有Scala基礎是必不可少的,因此,大資料開發需掌握Scala程式設計基礎知識!
16、Spark
Spark是專為大規模資料處理而設計的快速通用的計算引擎,其提供了一個全面、統一的框架用於管理各種不同性質的資料集和資料來源的大資料處理的需求,大資料開發需掌握Spark基礎、SparkJob、Spark RDD、spark job部署與資源分配、Spark shuffle、Spark記憶體管理、Spark廣播變數、Spark SQL、Spark Streaming以及Spark ML等相關知識。
很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:458345782,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系。