1. 程式人生 > >0基礎學習大數據你需要了解的學習路線和方向

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

大數據 0基礎

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

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

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

接下來我們就看看大數據的學習方向

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

什麽是大數據開發師?

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

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

什麽是大數據運維師?

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

什麽是大數據架構師?

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

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

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

一、大數據是什麽?

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

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、數據安全研究。

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

加微信 zhanglindashuju 可以免費領取大數據資料哦

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