標籤:elastics 編寫 volume hbase arc 方式 0基礎 方案 響應
現在大資料這麼火,各行各業想轉行大資料,那麼問題來了,該往哪方面發展,哪方面最適合自己?
首先從字面來瞭解一下大資料 大資料 (巨量資料集合(IT行業術語)) 大資料(big data),指無法在一定時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程最佳化能力的海量、高增長率和多樣化的資訊資產。大資料學習 群119599574
大資料的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) 流Data Integration神器: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會更有優勢。
大資料學習群119599574
學習大資料以後,那麼就業方向怎麼樣呢?
總的來說:三大方向,十大職位。
大資料主要的三大就業方向:大資料系統研發類人才、大資料應用開發類人才和大資料分析類人才。
十大職位:1、ETL研發;2、Hadoop開發;3、可視化(前端展現)工具開發;4、資訊架構開發;5、資料倉儲研究;6、OLAP開發;7、資料科學研究;8、資料預測(資料採礦)分析;9、企業資料管理;10、資料安全研究。
希望這些對大家有些用處,只要你肯努力,相信沒有做不好的事情,希望大家所有的努力都會得到更好的回報,天空這麼廣闊,總有一片天適合你飛翔!
0基礎學習大資料你需要瞭解的學習路線和方向