0基礎學習大資料你需要了解的學習路線和方向

金羅老師發表於2019-01-27

現在大資料這麼火,各行各業想轉行大資料,那麼問題來了,該往哪方面發展,哪方面最適合自己?

首先從字面來了解一下大資料  大資料  (巨量資料集合(IT行業術語)) 大資料(big data), 指無法在一定時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程最佳化能力的海量、高增長率和多樣化的資訊資產。

大資料的5V特點 (IBM提出) :Volume (大量)、 Velocity (高速)、 Variety (多樣)、 Value (低價值密度)、 Veracity (真實性)。

接下來我們就看看大資料的學習方向

大資料世界有三大學習方向:資料開發師、資料運維師、資料架構師。


網際網路科技發展蓬勃興起,人工智慧時代來臨,抓住下一個風口。為幫助那些往想網際網路方向轉行想學習,卻因為時間不夠,資源不足而放棄的人。我自己整理的一份最新的大資料進階資料和高階開發教程,大資料學習群:868847735   歡迎進階中和進想深入大資料的小夥伴加入。


什麼是大資料開發師?

圍繞大資料系平臺系統級的研發人員, 熟練Hadoop、Spark、Storm等主流大資料平臺的核心框架。深入掌握如何編寫MapReduce的作業及作業流的管理完成對資料的計算,並能夠使用Hadoop提供的通用演算法, 熟練掌握Hadoop整個生態系統的元件如: Yarn,HBase、Hive、Pig等重要元件,能夠實現對平臺監控、輔助運維繫統的開發。

透過學習一系列面向開發者的Hadoop、Spark等大資料平臺開發技術,掌握設計開發大資料系統或平臺的工具和技能,能夠從事分散式計算框架如Hadoop、Spark群集環境的部署、開發和管理工作,如效能改進、功能擴充套件、故障分析等。

0基礎學習大資料你需要了解的學習路線和方向

什麼是大資料運維師?

瞭解Hadoop、Spark、Storm等主流大資料平臺的核心框架,熟悉Hadoop的核心元件:HDFS、MapReduce、Yarn;具備大資料叢集環境的資源配置,如網路要求、硬體配置、系統搭建。熟悉各種大資料平臺的部署方式,叢集搭建,故障診斷、日常維護、效能最佳化,同時負責平臺上的資料採集、資料清洗、資料儲存,資料維護及最佳化。熟練使用Flume、Sqoop等工具將外部資料載入進入大資料平臺,透過管理工具分配叢集資源實現多使用者協同使用叢集資源。透過靈活、易擴充套件的Hadoop平臺轉變了傳統的資料庫和資料倉儲系統架構,從Hadoop部署實施到執行全程的狀態監控,保證大資料業務應用的安全性、快速響應及擴充套件能力!

0基礎學習大資料你需要了解的學習路線和方向

什麼是大資料架構師?

圍繞大資料系平臺系統級的研發人員, 熟練Hadoop、Spark、Storm等主流大資料平臺的核心框架。深入掌握如何編寫MapReduce的作業及作業流的管理完成對資料的計算,並能夠使用Hadoop提供的通用演算法, 熟練掌握Hadoop整個生態系統的元件如: Yarn,HBase、Hive、Pig等重要元件,能夠實現對平臺監控、輔助運維繫統的開發。

透過學習一系列面向開發者的Hadoop、Spark等大資料平臺開發技術,掌握設計開發大資料系統或平臺的工具和技能,能夠從事分散式計算框架如Hadoop、Spark群集環境的部署、開發和管理工作,如效能改進、功能擴充套件、故障分析等。

0基礎學習大資料你需要了解的學習路線和方向

當然如果你想要做一個資料分析師或者資料探勘師,那麼,你首先要做的不是馬上去買很多的相關書籍,也不是馬上去報一個資料分析師培訓課程,我覺得你最先應該做的是弄明白大資料是什麼意思。瞭解了大資料的含義之後,不管是你自學也好,跟班學習也好,都是可以受益匪淺的。所以,我們先來回答一下大家可能比較關心的一些問題。

一、大資料是什麼?

大資料是一個龐大的體系,其中大致包括以下幾方面:

1.資料儲存階段(使用者資訊,行為資訊儲存進硬碟)。

2.資料探勘 清洗 篩選(根據產品需求篩選出符合企業用於盈利需求的資料)

3.資料分析(透過數學分析,商業分析,將挖掘出來的資料進行產品匹配盈利分析)

4.產品調整(根據分析進行產品的上下架,迭代開發,達到產品迎合更多使用者的選擇或者銷售出更多的產品。)

5.產品下一步的規劃(譬如新開一個產品線,可以根據資料來進行分析。)

二、我怎麼選擇我適合那個階段的職位

1.資料儲存階段(SQL,oracle,IBM等等都有相關的課程,根據公司的不同,學習好這些企業的開發工具,基本可以勝任此階段的職位)

2.資料探勘 清洗 篩選(大資料工程師,要學習JAVA,Linux,SQL,Hadoop,資料序列化系統Avro,資料倉儲Hive,分散式資料庫HBase,資料倉儲Hive,Flume分散式日誌框架,Kafka分散式佇列系統課程,Sqoop資料遷移,pig開發,Storm實時資料處理。學會以上基本可以入門大資料工程師,如果想有一個更好的起點,建議前期學習scala程式設計,Spark,R語言等基本現在企業裡面更專業的技能。)

3.資料分析(此階段本人涉獵不是很多,所以大致說明。需要有比較強悍的商業頭腦以及數字分析能力。好的資料分析師基本都是碩士起步,數學,經濟類專業。)

4.產品調整(經過分析後的資料交由老闆和PM經過協商後進行產品的更新,然後交由程式設計師進行修改(快消類進行商品的上下架調整))

想要找到適合自己的大資料發展方向,我們先要了解大資料的工作方向,主要分以下幾點:

01.大資料工程師

02.資料分析師

03.大資料科學家

04.其他(資料探勘本質算是機器學習,不過和資料相關,也可以理解為大資料的一個方向吧)

二、大資料工程師的技能要求

必須技能10條:

01.Java高階(虛擬機器、併發)

02.Linux 基本操作

03.Hadoop(此處為俠義概念單指HDFS+MapReduce+Yarn )

04.HBase(JavaAPI操作+Phoenix )

05.Hive(Hql基本操作和原理理解)

06.Kafka

07.Storm

08.Scala需要

09.Python

10.Spark (Core+sparksql+Spark streaming )

高階技能6條:

1.機器學習演算法以及mahout庫加MLlib

2.R語言

3.Lambda 架構

4.Kappa架構

5.Kylin

6.Aluxio

三、大資料的學習技術點

Hadoop核心

(1) 分散式儲存基石:HDFS

HDFS簡介 入門演示 構成及工作原理解析:資料塊,NameNode, DataNode、資料寫入與讀取過程、資料複製、HA方案、檔案型別、 HDFS常用設定 Java API程式碼演示

(2) 分散式計算基礎:MapReduce

MapReduce簡介、程式設計模型、Java API 介紹、程式設計案例介紹、MapReduce調優

(3) Hadoop叢集資源管家:YARN

YARN基本架構 資源排程過程 排程演算法 YARN上的計算框架

離線計算

(1) 離線日誌收集利器:Flume

Flume簡介 核心元件介紹 Flume例項:日誌收集、適宜場景、常見問題

(2) 離線批處理必備工具:Hive

Hive在大資料平臺裡的定位、總體架構、使用場景之Access Log分析 Hive DDL&DML介紹 檢視 函式(內建,視窗,自定義函式) 表的分割槽、分桶和抽樣 最佳化

(3) 速度更快的Hive:Impala

Impala在大資料架構中的角色 架構 資料處理過程 一般使用步驟:建立表,分割槽表,查詢等 常用查詢演示:統計,連線等、Impala與Hive的比較 常用配置與最佳使用建議(查錯,調優等)

(4) 更快更強更好用的MR:Spark

Scala&Spark簡介 基礎 Spark程式設計(計算模型RDD、運算元Transformation和Actions的使用、使用Spark製作倒排索引)Spark SQL和DataFrame 例項:使用Spark SQL統計頁面PV和UV

實時計算

(1) 流資料整合神器:Kafka

Kafka簡介 構成及工作原理解析 4組核心API 生態圈 程式碼演示:生產並消費行為日誌

(2) 實時計算引擎:Spark Streaming

Spark Streaming簡介 工作原理解剖 編寫Streaming程式的一般過程 如何部署Streaming程式? 如何監控Streaming程式? 效能調優

(3) 海量資料高速存取資料庫:HBase

HBase簡介 架構及基本元件 HBase Table設計 HBase基本操作 訪問HBase的幾種方式

大資料ETL

(1) ETL神器:Sqoop,Kettle

資料同步ETL介紹 Kettle常用元件介紹 、抽取Mysql資料到Hive實戰 Sqoop介紹、抽取Hive資料到Mysql實戰

(2) 任務排程雙星:Oozie,Azkaban

ETL與計算任務的統一管理和排程簡介 Crontab排程的方案 自研排程系統的方案 開源系統Oozie和Azkaban 方案總結與經驗分享

大資料應用與資料探勘

(1) 大資料全文檢索引擎:Elasticsearch

全文檢索基礎知識,ES安裝及初級介紹,ES深入理解,使用經驗介紹

(2) 資料倉儲搭建

為什麼要構建大資料平臺大資料平臺的的經典架構深入剖析“五橫一縱”的架構實踐 知名網際網路公司大資料平臺架構簡介

(3) 資料視覺化

什麼是資料視覺化,資料視覺化常用工具與必備技能介,Tableau和ECharts實操講解 ECharts介紹,知名互金公司視覺化經驗介紹

(4) 演算法介紹

介紹資料探勘,機器學習,深度學習的區別,R語言和python的介紹,邏輯迴歸演算法的介紹與應用,以及主要的推薦演算法介紹

四、學習資源推薦:

01.Apache 官網

02.Stackoverflow04.github

03.Cloudra官網

04.Databrick官網

05.(技術部落格)

06.CSDN,51CTO

那麼,有人就會問,學習大資料,Python和java哪個學習比較有優勢呢?

如果是大資料方向,python明顯是比java更有優勢,所以個人建議是從python入手。為什麼這麼說呢,我認為受以下幾個因素的影響。

大資料從目前來看,資料分析、資料探勘、機器學習、人工智慧等都歸屬於大資料的範疇,其實是大資料技術與資料科學的混合體

大資料目前來看是大資料技術與資料科學的混合體,大資料技術偏重工程實話,對計算機程式設計要求較高;資料科學偏重數學抽象,對數學與統計要求較高。大資料技術透過程式語言去解決業務問題,可以理解成我們生活中的碼農,而資料科學則更多的是利用統計工具或者指令碼語言對資料的處理分析,透過使用到的是Matlab、R、SAS、SPSS等工具。

python與java語言的本身的定位有關係

java是一種物件導向程式語言,不僅吸引了c++語言的優點,還摒棄了難以理解的多繼承、指標等概念。java具有功能強大、易於理解的特點。java主要用於商業邏輯強的領域,如商城、erp、oa、金融等領域。

python是一種物件導向的解釋型語言,python是純粹的自由軟體,原始碼與直譯器cpython遵循GPL協議。python主要用於資料分析、科學計算、金融分析、資料探勘、人工智慧等領域,具體快速開發特性的應用場景。

總的來說,想學習大資料對於Pythong來說更適合一些,Python在資料科學方面的應用會更有優勢較java語言,當然如果偏向於應用的開發方面-比如資料產品類的,則java會更有優勢

學習大資料以後,那麼就業方向怎麼樣呢?

總的來說:三大方向,十大職位。

大資料主要的三大就業方向:大資料系統研發類人才、大資料應用開發類人才和大資料分析類人才。

十大職位:1、ETL研發;2、Hadoop開發;3、視覺化(前端展現)工具開發;4、資訊架構開發;5、資料倉儲研究;6、OLAP開發;7、資料科學研究;8、資料預測(資料探勘)分析;9、企業資料管理;10、資料安全研究。

希望這些對大家有些用處,只要你肯努力,相信沒有做不好的事情,希望大家所有的努力都會得到更好的回報,天空這麼廣闊,總有一片天適合你飛翔!希望大家多多關注哦





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561003/viewspace-2564967/,如需轉載,請註明出處,否則將追究法律責任。

相關文章