現在大數據這么火镀脂,各行各業(yè)想轉行大數據帐姻,那么問題來了,該往哪方面發(fā)展悯恍,哪方面最適合自己库糠?
首先從字面來了解一下大數據?大數據?(巨量數據集合(IT行業(yè)術語)) 大數據(big data),指無法在一定時間范圍內用常規(guī)軟件工具進行捕捉坪稽、管理和處理的數據集合曼玩,是需要新處理模式才能具有更強的決策力鳞骤、洞察發(fā)現力和流程優(yōu)化能力的海量窒百、高增長率和多樣化的信息資產黍判。
大數據的5V特點(IBM提出):Volume(大量)、Velocity(高速)篙梢、Variety(多樣)顷帖、Value(低價值密度)、Veracity(真實性)渤滞。
接下來我們就看看大數據的學習方向
大數據世界有三大學習方向:數據開發(fā)師贬墩、數據運維師、數據架構師妄呕。
什么是大數據開發(fā)師陶舞?
圍繞大數據系平臺系統級的研發(fā)人員, 熟練Hadoop绪励、Spark肿孵、Storm等主流大數據平臺的核心框架。深入掌握如何編寫MapReduce的作業(yè)及作業(yè)流的管理完成對數據的計算疏魏,并能夠使用Hadoop提供的通用算法停做, 熟練掌握Hadoop整個生態(tài)系統的組件如: Yarn,HBase大莫、Hive蛉腌、Pig等重要組件,能夠實現對平臺監(jiān)控只厘、輔助運維系統的開發(fā)烙丛。
通過學習一系列面向開發(fā)者的Hadoop、Spark等大數據平臺開發(fā)技術羔味,掌握設計開發(fā)大數據系統或平臺的工具和技能蜀变,能夠從事分布式計算框架如Hadoop、Spark群集環(huán)境的部署介评、開發(fā)和管理工作库北,如性能改進、功能擴展们陆、故障分析等寒瓦。
什么是大數據運維師?
了解Hadoop坪仇、Spark杂腰、Storm等主流大數據平臺的核心框架,熟悉Hadoop的核心組件:HDFS椅文、MapReduce喂很、Yarn惜颇;具備大數據集群環(huán)境的資源配置,如網絡要求少辣、硬件配置凌摄、系統搭建。熟悉各種大數據平臺的部署方式漓帅,集群搭建锨亏,故障診斷、日常維護忙干、性能優(yōu)化器予,同時負責平臺上的數據采集、數據清洗捐迫、數據存儲乾翔,數據維護及優(yōu)化。熟練使用Flume施戴、Sqoop等工具將外部數據加載進入大數據平臺反浓,通過管理工具分配集群資源實現多用戶協同使用集群資源。通過靈活暇韧、易擴展的Hadoop平臺轉變了傳統的數據庫和數據倉庫系統架構勾习,從Hadoop部署實施到運行全程的狀態(tài)監(jiān)控,保證大數據業(yè)務應用的安全性懈玻、快速響應及擴展能力巧婶!
什么是大數據架構師?
圍繞大數據系平臺系統級的研發(fā)人員涂乌, 熟練Hadoop艺栈、Spark、Storm等主流大數據平臺的核心框架湾盒。深入掌握如何編寫MapReduce的作業(yè)及作業(yè)流的管理完成對數據的計算湿右,并能夠使用Hadoop提供的通用算法, 熟練掌握Hadoop整個生態(tài)系統的組件如: Yarn罚勾,HBase毅人、Hive、Pig等重要組件尖殃,能夠實現對平臺監(jiān)控丈莺、輔助運維系統的開發(fā)。
通過學習一系列面向開發(fā)者的Hadoop送丰、Spark等大數據平臺開發(fā)技術缔俄,掌握設計開發(fā)大數據系統或平臺的工具和技能,能夠從事分布式計算框架如Hadoop、Spark群集環(huán)境的部署俐载、開發(fā)和管理工作蟹略,如性能改進、功能擴展遏佣、故障分析等挖炬。
當然如果你想要做一個數據分析師或者數據挖掘師,那么贼急,你首先要做的不是馬上去買很多的相關書籍茅茂,也不是馬上去報一個數據分析師培訓課程捏萍,我覺得你最先應該做的是弄明白大數據是什么意思太抓。了解了大數據的含義之后,不管是你自學也好令杈,跟班學習也好走敌,都是可以受益匪淺的。所以逗噩,我們先來回答一下大家可能比較關心的一些問題掉丽。
一、大數據是什么异雁?
大數據是一個龐大的體系捶障,其中大致包括以下幾方面:
1.數據存儲階段(用戶信息,行為信息存儲進硬盤)纲刀。
2.數據挖掘 清洗 篩選(根據產品需求篩選出符合企業(yè)用于盈利需求的數據)
3.數據分析(通過數學分析项炼,商業(yè)分析,將挖掘出來的數據進行產品匹配盈利分析)
4.產品調整(根據分析進行產品的上下架示绊,迭代開發(fā)锭部,達到產品迎合更多用戶的選擇或者銷售出更多的產品。)
5.產品下一步的規(guī)劃(譬如新開一個產品線面褐,可以根據數據來進行分析拌禾。)
二、我怎么選擇我適合那個階段的職位
1.數據存儲階段(SQL展哭,oracle湃窍,IBM等等都有相關的課程,根據公司的不同匪傍,學習好這些企業(yè)的開發(fā)工具您市,基本可以勝任此階段的職位)
2.數據挖掘 清洗 篩選(大數據工程師,要學習JAVA析恢,Linux墨坚,SQL,Hadoop,數據序列化系統Avro泽篮,數據倉庫Hive盗尸,分布式數據庫HBase,數據倉庫Hive帽撑,Flume分布式日志框架泼各,Kafka分布式隊列系統課程,Sqoop數據遷移亏拉,pig開發(fā)扣蜻,Storm實時數據處理。學會以上基本可以入門大數據工程師及塘,如果想有一個更好的起點莽使,建議前期學習scala編程,Spark笙僚,R語言等基本現在企業(yè)里面更專業(yè)的技能芳肌。)
3.數據分析(此階段本人涉獵不是很多,所以大致說明肋层。需要有比較強悍的商業(yè)頭腦以及數字分析能力亿笤。好的數據分析師基本都是碩士起步,數學栋猖,經濟類專業(yè)净薛。)
4.產品調整(經過分析后的數據交由老板和PM經過協商后進行產品的更新,然后交由程序員進行修改(快消類進行商品的上下架調整))
想要找到適合自己的大數據發(fā)展方向蒲拉,我們先要了解大數據的工作方向肃拜,主要分以下幾點:
01.大數據工程師
02.數據分析師
03.大數據科學家
04.其他(數據挖掘本質算是機器學習,不過和數據相關全陨,也可以理解為大數據的一個方向吧)
二爆班、大數據工程師的技能要求
必須技能10條:
01.Java高級(虛擬機、并發(fā))
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調優(yōu)
(3) Hadoop集群資源管家:YARN
YARN基本架構 資源調度過程 調度算法 YARN上的計算框架
離線計算
(1) 離線日志收集利器:Flume
Flume簡介 核心組件介紹 Flume實例:日志收集、適宜場景、常見問題
(2) 離線批處理必備工具:Hive
Hive在大數據平臺里的定位蒂誉、總體架構教藻、使用場景之Access Log分析 Hive DDL&DML介紹 視圖 函數(內置,窗口右锨,自定義函數) 表的分區(qū)括堤、分桶和抽樣 優(yōu)化
(3) 速度更快的Hive:Impala
Impala在大數據架構中的角色 架構 數據處理過程 一般使用步驟:創(chuàng)建表,分區(qū)表绍移,查詢等 常用查詢演示:統計悄窃,連接等、Impala與Hive的比較 常用配置與最佳使用建議(查錯蹂窖,調優(yōu)等)
(4) 更快更強更好用的MR:Spark
Scala&Spark簡介 基礎 Spark編程(計算模型RDD轧抗、算子Transformation和Actions的使用、使用Spark制作倒排索引)Spark SQL和DataFrame 實例:使用Spark SQL統計頁面PV和UV
實時計算
(1) 流數據集成神器:Kafka
Kafka簡介 構成及工作原理解析 4組核心API 生態(tài)圈 代碼演示:生產并消費行為日志
(2) 實時計算引擎:Spark Streaming
Spark Streaming簡介 工作原理解剖 編寫Streaming程序的一般過程 如何部署Streaming程序恼策? 如何監(jiān)控Streaming程序鸦致? 性能調優(yōu)
(3) 海量數據高速存取數據庫:HBase
HBase簡介 架構及基本組件 HBase Table設計 HBase基本操作 訪問HBase的幾種方式
大數據ETL
(1) ETL神器:Sqoop潮剪,Kettle
數據同步ETL介紹 Kettle常用組件介紹 涣楷、抽取Mysql數據到Hive實戰(zhàn) Sqoop介紹、抽取Hive數據到Mysql實戰(zhàn)
(2) 任務調度雙星:Oozie抗碰,Azkaban
ETL與計算任務的統一管理和調度簡介 Crontab調度的方案 自研調度系統的方案 開源系統Oozie和Azkaban 方案總結與經驗分享
大數據應用與數據挖掘
(1) 大數據全文檢索引擎:Elasticsearch
全文檢索基礎知識狮斗,ES安裝及初級介紹,ES深入理解弧蝇,使用經驗介紹
(2) 數據倉庫搭建
為什么要構建大數據平臺大數據平臺的的經典架構深入剖析“五橫一縱”的架構實踐 知名互聯網公司大數據平臺架構簡介
(3) 數據可視化
什么是數據可視化碳褒,數據可視化常用工具與必備技能介,Tableau和ECharts實操講解 ECharts介紹看疗,知名互金公司可視化經驗介紹
(4) 算法介紹
介紹數據挖掘沙峻,機器學習,深度學習的區(qū)別两芳,R語言和python的介紹摔寨,邏輯回歸算法的介紹與應用,以及主要的推薦算法介紹
四怖辆、學習資源推薦:
01.Apache 官網
02.Stackoverflow04.github
03.Cloudra官網
04.Databrick官網
05.過往的記憶(技術博客)
06.CSDN是复,51CTO
那么,有人就會問竖螃,學習大數據淑廊,Python和java哪個學習比較有優(yōu)勢呢?
如果是大數據方向特咆,python明顯是比java更有優(yōu)勢季惩,所以個人建議是從python入手。為什么這么說呢,我認為受以下幾個因素的影響画拾。
大數據從目前來看关摇,數據分析、數據挖掘碾阁、機器學習输虱、人工智能等都歸屬于大數據的范疇,其實是大數據技術與數據科學的混合體
大數據目前來看是大數據技術與數據科學的混合體脂凶,大數據技術偏重工程實話宪睹,對計算機編程要求較高;數據科學偏重數學抽象蚕钦,對數學與統計要求較高亭病。大數據技術通過編程語言去解決業(yè)務問題,可以理解成我們生活中的碼農嘶居,而數據科學則更多的是利用統計工具或者腳本語言對數據的處理分析罪帖,通過使用到的是Matlab、R邮屁、SAS整袁、SPSS等工具。
python與java語言的本身的定位有關系
java是一種面向對象編程語言佑吝,不僅吸引了c++語言的優(yōu)點坐昙,還摒棄了難以理解的多繼承、指針等概念芋忿。java具有功能強大炸客、易于理解的特點。java主要用于商業(yè)邏輯強的領域戈钢,如商城痹仙、erp、oa殉了、金融等領域开仰。
python是一種面向對象的解釋型語言,python是純粹的自由軟件宣渗,源代碼與解釋器cpython遵循GPL協議抖所。python主要用于數據分析、科學計算痕囱、金融分析田轧、數據挖掘、人工智能等領域鞍恢,具體快速開發(fā)特性的應用場景傻粘。
總的來說每窖,想學習大數據對于Pythong來說更適合一些,Python在數據科學方面的應用會更有優(yōu)勢較java語言弦悉,當然如果偏向于應用的開發(fā)方面-比如數據產品類的窒典,則java會更有優(yōu)勢
學習大數據以后,那么就業(yè)方向怎么樣呢稽莉?
總的來說:三大方向瀑志,十大職位。
大數據主要的三大就業(yè)方向:大數據系統研發(fā)類人才污秆、大數據應用開發(fā)類人才和大數據分析類人才劈猪。
十大職位:1、ETL研發(fā)良拼;2战得、Hadoop開發(fā);3庸推、可視化(前端展現)工具開發(fā)常侦;4、信息架構開發(fā)贬媒;5聋亡、數據倉庫研究;6掖蛤、OLAP開發(fā)杀捻;7、數據科學研究蚓庭;8、數據預測(數據挖掘)分析仅仆;9器赞、企業(yè)數據管理;10墓拜、數據安全研究港柜。
希望這些對大家有些用處,只要你肯努力咳榜,相信沒有做不好的事情夏醉,希望大家所有的努力都會得到更好的回報,天空這么廣闊涌韩,總有一片天適合你飛翔畔柔!希望大家多多關注哦