眼角落下的淚
大數(shù)據開發(fā)工程師要學習的課程很多,需要知識面很廣?;A包括:第一:JavaSE,大數(shù)據的基礎之一,不會點Java去搞大數(shù)據就是去澡堂不搓背。第二:Python,SQL(主要是查,查詢一定要精),Scala(會基礎語法就行)第三:Linux+shell,也可以了解一些網絡基礎知識第四:數(shù)據分析+統(tǒng)計學(用Python去做做簡單的數(shù)據分析,看看自己有沒有對數(shù)據的敏感度。同時掌握一些這方面的知識對以后也有好處。)軟件類:第一梯隊:Hadoop,spark,flink,kafka,zookeeper第二梯隊:hbase,hive,Phoenix,kylin,ClickHouse第三梯隊:數(shù)據遷移工具,文本搜索引擎,數(shù)倉建模,數(shù)據湖
愛吃烤鴨的小貓
1.大數(shù)據工程師工作中會做什么?集群運維:安裝、測試、運維各種大數(shù)據組件數(shù)據開發(fā):細分一點的話會有ETL工程師、數(shù)據倉庫工程師等數(shù)據系統(tǒng)開發(fā):偏重Web系統(tǒng)開發(fā),比如報表系統(tǒng)、推薦系統(tǒng)等這里面有很多內容其實是十分重合的,下面大致聊一下每一塊內容大致需要學什么,以及側重點。2.集群運維數(shù)據工程師,基本上是離不開集群搭建,比如hadoop、Spark、Kafka,不要指望有專門的運維幫你搞定,新組件的引入一般都要自己來動手的。因此這就要求數(shù)據工程師了解各種大數(shù)據的組件。由于要自己的安裝各種開源的組件,就要求數(shù)據工程師要具備的能力: Linux 。要對Linux比較熟悉,能各種自己折騰著玩。由于現(xiàn)在的大數(shù)據生態(tài)系統(tǒng)基本上是 JVM系的,因此在語言上,就不要猶豫了,JVM系的Java和Scala基本上跑不掉,Java基本上要學的很深,Scala就看情況了。3. ETLETL在大數(shù)據領域主要體現(xiàn)在各種數(shù)據流的處理。這一塊一方面體現(xiàn)在對一些組件的了解上,比如Sqoop、Flume、Kafka、Spark、MapReduce;另一方面就是編程語言的需要,Java、Shell和Sql是基本功。4.系統(tǒng)開發(fā)我們大部分的價值最后都會由系統(tǒng)來體現(xiàn),比如報表系統(tǒng)和推薦系統(tǒng)。因此就要求有一定的系統(tǒng)開發(fā)能力,最常用的就是 Java Web這一套了,當然Python也是挺方便的。需要注意的是,一般數(shù)據開發(fā)跑不掉的就是各種提數(shù)據的需求,很多是臨時和定制的需求,這種情況下, Sql就跑不掉了,老老實實學一下Sql很必要。如何入門?前面提到了一些數(shù)據工程師會用到的技能樹,下面給一個入門的建議,完全個人意見。1.了解行業(yè)情況剛開始一定要了解清楚自己和行業(yè)的情況,很多人根本就分不清招聘信息中的大數(shù)據和數(shù)據挖掘的區(qū)別就說自己要轉行,其實是很不負責的。不要總是趕熱點,反正我就是經常被鄙視做什么大數(shù)據開發(fā)太Low,做數(shù)據就要做數(shù)據挖掘,不然永遠都是水貨。2.選擇學習途徑如果真是清楚自己明確地想轉數(shù)據開發(fā)了,要考慮一下自己的時間和精力,能拿出來多少時間,而且在學習的時候最好有人能多指點下,不然太容易走彎路了。在選擇具體的學習途徑時,要慎重一點,有幾個選擇:自學報班找人指點別的不說了,報班是可以考慮的,不要全指望報個輔導班就能帶你上天,但是可以靠他幫你梳理思路。如果有專業(yè)從事這一行的人多幫幫的話,是最好的。不一定是技術好,主要是可溝通性強。3.學習路線學習路線,下面是一個大致的建議:第一階段先具備一定的Linux和Java的基礎,不一定要特別深,先能玩起來,Linux的話能自己執(zhí)行各種操作,Java能寫點小程序。這些事為搭建Hadoop環(huán)境做準備。學習Hadoop,學會搭建單機版的Hadoop,然后是分布式的Hadoop,寫一些MR的程序。接著學學Hadoop生態(tài)系統(tǒng)的其它大數(shù)據組件,比如Spark、Hive、Hbase,嘗試去搭建然后跑一些官網的Demo。Linux、Java、各種組件都有一些基礎后,要有一些項目方面的實踐,這時候找一些成功案例,比如搜搜各種視頻教程中如何搞一個推薦系統(tǒng),把自己學到的用起來。第二階段到這里是一個基本的階段了,大致對數(shù)據開發(fā)有一些了解了。接著要有一些有意思內容可以選學。數(shù)據倉庫體系:如何搞數(shù)據分層,數(shù)據倉庫體系該如何建設,可以有一些大致的了解。用戶畫像和特征工程:這一部分越早了解越好。一些系統(tǒng)的實現(xiàn)思路:比如調度系統(tǒng)、元數(shù)據系統(tǒng)、推薦系統(tǒng)這些系統(tǒng)如何實現(xiàn)。第三階段下面要有一些細分的領域需要深入進行,看工作和興趣來選擇一些來深入進行分布式理論:比如Gossip、DHT、Paxo這些構成了各種分布式系統(tǒng)的底層協(xié)議和算法,還是要學一下的。數(shù)據挖掘算法:算法是要學的,但是不一定純理論,在分布式環(huán)境中實現(xiàn)算法,本身就是一個大的挑戰(zhàn)。各種系統(tǒng)的源碼學習:比如Hadoop、Spark、Kafka的源碼,想深入搞大數(shù)據,源碼跑不掉。
貪吃的懶妞
大數(shù)據工程師要學什么課程?沒接觸過大數(shù)據的人也許不知道大數(shù)據工程師是什么,更別說知道大數(shù)據工程師要學什么課程了。我們先來說下大數(shù)據工程師是做什么的吧。是負責公司互聯(lián)網數(shù)據分析的一個職位,對數(shù)據庫進行開發(fā)和(或)維護,需要具備超強的邏輯思維,精通各種語言,需要有相當好的毅力和耐心。光環(huán)大數(shù)據的大數(shù)據培訓課程分為如下幾個階段:第一階段:java核心學習學習內容:Java核心內容學習目標:掌握數(shù)據類型與運算符,數(shù)組、類與對象;掌握IO流與反射、多線程、JDBC。完成目標:Java多線程模擬多窗口售票,Java集合框架管理。第二階段: JavaEE課程大綱學習內容:JavaEE核心內容學習目標:Mysql數(shù)據基礎知識,Jdbc 基礎概念和操作掌握HTML和CSS語法、Java核心語法完成目標:京東電商網站項目、2048小游戲。第三階段:Linux精講學習內容:Linux命令、文件、配置,Shell、Awk、Sed學習目標:搭建負載均衡、高可靠的服務器集群,可大網站并發(fā)訪問量,保證服務不間斷完成目標:Linux環(huán)境搭建、shell腳本小游戲 貪吃蛇。第四階段:Hadoop生態(tài)體系學習內容:HDFS、MapReduce、Hive、Sqoop、Oozie學習目標:掌握HDFS原理、操作和應用開發(fā),掌握分布式運算、Hive數(shù)據倉庫原理及應用。完成目標:微博數(shù)據大數(shù)據分析、汽車銷售大數(shù)據分析第五階段:Storm實時開發(fā)學習內容:Zookeeper、HBase、Storm實時數(shù)據學習目標:掌握Storm程序的開發(fā)及底層原理,具備開發(fā)基于Storm的實時計算程序的能力。完成目標:實時處理新數(shù)據和更新數(shù)據庫,處理密集查詢并行搜索處理大集合的數(shù)據。
優(yōu)質工程師考試問答知識庫