學大數(shù)據(jù)都可以就業(yè)哪些崗位?因為大數(shù)據(jù)涉及到的知識相對比較廣泛,全部學精難度太大,所以現(xiàn)在企業(yè)在招聘的時候會細分大數(shù)據(jù)崗位,專注于某個方向招聘,所以先解下大數(shù)據(jù)的都有哪些就業(yè)方向,然后你在后續(xù)的學習過程中對哪部分比較感興趣就重點關注那部分。

數(shù)倉工程師 (全稱:數(shù)據(jù)倉庫工程師)
數(shù)倉工程師日常工作一般是不寫代碼的,主要以寫 SQL 為主!
數(shù)倉工程師是大數(shù)據(jù)領域公司招聘較多的崗位,薪資也較高,需要重點關注!
數(shù)據(jù)倉庫分為離線數(shù)倉和實時數(shù)倉,但是企業(yè)在招聘時大多要求兩者都會,進入公司之后可能會專注于離線或實時其中之一。
就目前來說,大多數(shù)的企業(yè)還是以離線數(shù)倉為主,不過未來趨勢肯定是實時數(shù)倉為主,所以學習時,為了現(xiàn)在能找到工作,需要學習離線數(shù)倉,為了以后的發(fā)展,需要學習實時數(shù)倉。所以,離線和實時都是我們重點掌握的!
需要掌握的技能:
不管離線還是實時,重中之重就是:SQL
SQL 語法及調優(yōu)一定要掌握,這里說的 SQL 包括 mysql 中的 sql,hive中的 hive sql,spark 中的 spark sql,flink 中 的 flink sql。
在企業(yè)招聘的筆記及面試中,一般問的關于 sql 的問題主要是以 hive sql 為主,所以請重點關注!
除 sql 外,還需要重點掌握以下技能,分為離線和實時
離線數(shù)倉需要重點掌握的技能:
Hadoop(HDFS,MapReduce,YARN)
Hive(重點,包括hive底層原理,hive SQL及調優(yōu))
Spark(Spark 會用及了解底層原理)
Oozie(調度工具,會用即可)
離線數(shù)倉建設(搭建數(shù)倉,數(shù)倉建模規(guī)范)
維度建模(建模方式常用的有范式建模和維度建模,重點關注維度建模)
實時數(shù)倉需要重點掌握的技能:
Hadoop(這是大數(shù)據(jù)基礎,不管離線和實時都必須掌握)
Kafka(重點,大數(shù)據(jù)領域中算是唯一的消息隊列)
Flink(重中之重,這個不用說了,實時計算框架中絕對王者)
HBase(會使用,了解底層原理)
Druid(會用,了解底層原理)
實時數(shù)倉架構(兩種數(shù)倉架構:Lambda架構和Kappa架構)
大數(shù)據(jù)開發(fā)工程師
數(shù)據(jù)開發(fā)工程師一般是以寫代碼為主,以 Java 和 Scala 為主。
大數(shù)據(jù)開發(fā)分兩類,一類是編寫Hadoop、Spark、Flink 的應用程序,第二類是對大數(shù)據(jù)處理系統(tǒng)本身進行開發(fā),如對開源框架的擴展開發(fā),數(shù)據(jù)中臺的開發(fā)等!
需要重點掌握的技能:
語言:Java 和 Scala(語言以這兩種為主,需要重點掌握)
Linux(需要對Linux有一定的理解)
Hadoop(需理解底層,能看懂源碼)
Hive(會使用,能進行二次開發(fā))
Spark(能進行開發(fā)。對源碼有了解)
Kafka(會使用,理解底層原理)
Flink(能進行開發(fā)。對源碼有了解)
HBase(理解底層原理)
通過以上技能,我們也能看出,數(shù)據(jù)開發(fā)和數(shù)倉開發(fā)的技能重復率較高,所以很多公司招聘時 大數(shù)據(jù)開發(fā) 和 數(shù)倉建設 分的沒有這么細,數(shù)據(jù)開發(fā)包含了數(shù)倉的工作!
ETL工程師
ETL是三個單詞的首字母,中文意思是抽取、轉換、加載
從開始的圖中也能看出,ETL工程師是對接業(yè)務和數(shù)據(jù)的交接點,所以需要處理上下游的關系
好程序員大數(shù)據(jù)培訓分享:學大數(shù)據(jù)都做哪些崗位?對于上游,需要經(jīng)常跟業(yè)務系統(tǒng)的人打交道,所以要對業(yè)務系統(tǒng)比較熟悉。比如它們存在各種接口,不管是API級別還是數(shù)據(jù)庫接口,這都需要ETL工程師非常了解。 其次是其下游,這意味著你要跟許多數(shù)據(jù)開發(fā)工程師師、數(shù)據(jù)科學家打交道。比如將準備好的數(shù)據(jù)(數(shù)據(jù)的清洗、整理、融合),交給下游的數(shù)據(jù)開發(fā)和數(shù)據(jù)科學家。
需要重點掌握的技能
語言:Java/Python(會基礎)
Shell腳本(需要對shell較為熟悉)
Linux(會用基本命令)
Kettle(需要掌握)
Sqoop(會用)
Flume(會用)
MySQL(熟悉)
Hive(熟悉)
HDFS(熟悉)
Oozie(任務調度框架會用其中一個即可,其他如 azkaban,airflow)
數(shù)據(jù)分析工程師
在數(shù)據(jù)工程師準備好數(shù)據(jù)維護好數(shù)倉后,數(shù)據(jù)分析師就上場了。
分析師們會根據(jù)數(shù)據(jù)和業(yè)務情況,分析得出結論、制定業(yè)務策略或者建立模型,創(chuàng)造新的業(yè)務價值并支持業(yè)務高效運轉。
好程序員大數(shù)據(jù)培訓分享:學大數(shù)據(jù)都做哪些崗位?同時數(shù)據(jù)分析師在后期還有數(shù)據(jù)爬蟲、數(shù)據(jù)挖掘和算法工程師三個分支。
需要重點掌握的技能:
數(shù)學知識(數(shù)學知識是數(shù)據(jù)分析師的基礎知識,需要掌握統(tǒng)計學、線性代數(shù)等課程)
編程語言(需要掌握Python、R語言)
分析工具(Excel是必須的,還需要掌握 Tableau 等可視化工具)
數(shù)據(jù)敏感性(對數(shù)據(jù)要有一定的敏感性,看見數(shù)據(jù)就能想到它的用處,能帶來哪些價值)