夢(mèng)中的紙馬
第一階段為JAVASE+MYSQL+JDBC,主要學(xué)習(xí)一些Java語(yǔ)言的概念,如字符、流程控制、面向?qū)ο?、進(jìn)程線(xiàn)程、枚舉反射等,學(xué)習(xí)MySQL數(shù)據(jù)庫(kù)的安裝卸載及相關(guān)操作,學(xué)習(xí)JDBC的實(shí)現(xiàn)原理以及Linux基礎(chǔ)知識(shí),是大數(shù)據(jù)剛?cè)腴T(mén)階段。第二階段為分布式理論簡(jiǎn)介,主要講解CAP理論、數(shù)據(jù)分布方式、一致性、2PC和3PC、大數(shù)據(jù)集成架構(gòu)。涉及的知識(shí)點(diǎn)有Consistency一致性、Availability可用性、Partition tolerance分區(qū)容忍性、數(shù)據(jù)量分布、2PC流程、3PC流程、哈希方式、一致性哈希等。第三階段為數(shù)據(jù)存儲(chǔ)與計(jì)算(離線(xiàn)場(chǎng)景),主要講解協(xié)調(diào)服務(wù)ZK(1T)、數(shù)據(jù)存儲(chǔ)hdfs(2T)、數(shù)據(jù)存儲(chǔ)alluxio(1T)、數(shù)據(jù)采集flume、數(shù)據(jù)采集logstash、數(shù)據(jù)同步Sqoop()、數(shù)據(jù)同步datax()、數(shù)據(jù)同步mysql-binlog(1T)、計(jì)算模型MR與DAG(1T)、hive(5T)、Impala(1T)、任務(wù)調(diào)度Azkaban、任務(wù)調(diào)度airflow等。第四部分為數(shù)倉(cāng)建設(shè),主要講解數(shù)倉(cāng)倉(cāng)庫(kù)的歷史背景、離線(xiàn)數(shù)倉(cāng)項(xiàng)目-伴我汽車(chē)(5T)架構(gòu)技術(shù)解析、多維數(shù)據(jù)模型處理kylin()部署安裝、離線(xiàn)數(shù)倉(cāng)項(xiàng)目-伴我汽車(chē)升級(jí)后加入kylin進(jìn)行多維分析等;第五階段為分布式計(jì)算引擎。主要講解計(jì)算引擎、scala語(yǔ)言、spark、數(shù)據(jù)存儲(chǔ)hbase、redis、kudu,并通過(guò)某p2p平臺(tái)項(xiàng)目實(shí)現(xiàn)spark多數(shù)據(jù)源讀寫(xiě)。第六階段為數(shù)據(jù)存儲(chǔ)與計(jì)算(實(shí)時(shí)場(chǎng)景),主要講解數(shù)據(jù)通道Kafka、實(shí)時(shí)數(shù)倉(cāng)druid、流式數(shù)據(jù)處理flink、SparkStreaming,并通過(guò)講解某交通大數(shù)讓你可以將知識(shí)點(diǎn)融會(huì)貫通。第七階段為數(shù)據(jù)搜索,主要講解elasticsearch,包括全文搜索技術(shù)、ES安裝操作、index、創(chuàng)建索引、增刪改查、索引、映射、過(guò)濾等。第八階段為數(shù)據(jù)治理,主要講解數(shù)據(jù)標(biāo)準(zhǔn)、數(shù)據(jù)分類(lèi)、數(shù)據(jù)建模、圖存儲(chǔ)與查詢(xún)、元數(shù)據(jù)、血緣與數(shù)據(jù)質(zhì)量、Hive Hook、Spark Listener等。第九階段為BI系統(tǒng),主要講解Superset、Graphna兩大技術(shù),包括基本簡(jiǎn)介、安裝、數(shù)據(jù)源創(chuàng)建、表操作以及數(shù)據(jù)探索分析。第十節(jié)段為數(shù)據(jù)挖掘,主要講解機(jī)器學(xué)習(xí)中的數(shù)學(xué)體系、Spark Mlib機(jī)器學(xué)習(xí)算法庫(kù)、Python scikit-learn機(jī)器學(xué)習(xí)算法庫(kù)、機(jī)器學(xué)習(xí)結(jié)合大數(shù)據(jù)項(xiàng)目。
游客小孩兒
1.大數(shù)據(jù)工程師工作中會(huì)做什么?集群運(yùn)維:安裝、測(cè)試、運(yùn)維各種大數(shù)據(jù)組件數(shù)據(jù)開(kāi)發(fā):細(xì)分一點(diǎn)的話(huà)會(huì)有ETL工程師、數(shù)據(jù)倉(cāng)庫(kù)工程師等數(shù)據(jù)系統(tǒng)開(kāi)發(fā):偏重Web系統(tǒng)開(kāi)發(fā),比如報(bào)表系統(tǒng)、推薦系統(tǒng)等這里面有很多內(nèi)容其實(shí)是十分重合的,下面大致聊一下每一塊內(nèi)容大致需要學(xué)什么,以及側(cè)重點(diǎn)。2.集群運(yùn)維數(shù)據(jù)工程師,基本上是離不開(kāi)集群搭建,比如hadoop、Spark、Kafka,不要指望有專(zhuān)門(mén)的運(yùn)維幫你搞定,新組件的引入一般都要自己來(lái)動(dòng)手的。因此這就要求數(shù)據(jù)工程師了解各種大數(shù)據(jù)的組件。由于要自己的安裝各種開(kāi)源的組件,就要求數(shù)據(jù)工程師要具備的能力: Linux 。要對(duì)Linux比較熟悉,能各種自己折騰著玩。由于現(xiàn)在的大數(shù)據(jù)生態(tài)系統(tǒng)基本上是 JVM系的,因此在語(yǔ)言上,就不要猶豫了,JVM系的Java和Scala基本上跑不掉,Java基本上要學(xué)的很深,Scala就看情況了。3. ETLETL在大數(shù)據(jù)領(lǐng)域主要體現(xiàn)在各種數(shù)據(jù)流的處理。這一塊一方面體現(xiàn)在對(duì)一些組件的了解上,比如Sqoop、Flume、Kafka、Spark、MapReduce;另一方面就是編程語(yǔ)言的需要,Java、Shell和Sql是基本功。4.系統(tǒng)開(kāi)發(fā)我們大部分的價(jià)值最后都會(huì)由系統(tǒng)來(lái)體現(xiàn),比如報(bào)表系統(tǒng)和推薦系統(tǒng)。因此就要求有一定的系統(tǒng)開(kāi)發(fā)能力,最常用的就是 Java Web這一套了,當(dāng)然Python也是挺方便的。需要注意的是,一般數(shù)據(jù)開(kāi)發(fā)跑不掉的就是各種提數(shù)據(jù)的需求,很多是臨時(shí)和定制的需求,這種情況下, Sql就跑不掉了,老老實(shí)實(shí)學(xué)一下Sql很必要。如何入門(mén)?前面提到了一些數(shù)據(jù)工程師會(huì)用到的技能樹(shù),下面給一個(gè)入門(mén)的建議,完全個(gè)人意見(jiàn)。1.了解行業(yè)情況剛開(kāi)始一定要了解清楚自己和行業(yè)的情況,很多人根本就分不清招聘信息中的大數(shù)據(jù)和數(shù)據(jù)挖掘的區(qū)別就說(shuō)自己要轉(zhuǎn)行,其實(shí)是很不負(fù)責(zé)的。不要總是趕熱點(diǎn),反正我就是經(jīng)常被鄙視做什么大數(shù)據(jù)開(kāi)發(fā)太Low,做數(shù)據(jù)就要做數(shù)據(jù)挖掘,不然永遠(yuǎn)都是水貨。2.選擇學(xué)習(xí)途徑如果真是清楚自己明確地想轉(zhuǎn)數(shù)據(jù)開(kāi)發(fā)了,要考慮一下自己的時(shí)間和精力,能拿出來(lái)多少時(shí)間,而且在學(xué)習(xí)的時(shí)候最好有人能多指點(diǎn)下,不然太容易走彎路了。在選擇具體的學(xué)習(xí)途徑時(shí),要慎重一點(diǎn),有幾個(gè)選擇:自學(xué)報(bào)班找人指點(diǎn)別的不說(shuō)了,報(bào)班是可以考慮的,不要全指望報(bào)個(gè)輔導(dǎo)班就能帶你上天,但是可以靠他幫你梳理思路。如果有專(zhuān)業(yè)從事這一行的人多幫幫的話(huà),是最好的。不一定是技術(shù)好,主要是可溝通性強(qiáng)。3.學(xué)習(xí)路線(xiàn)學(xué)習(xí)路線(xiàn),下面是一個(gè)大致的建議:第一階段先具備一定的Linux和Java的基礎(chǔ),不一定要特別深,先能玩起來(lái),Linux的話(huà)能自己執(zhí)行各種操作,Java能寫(xiě)點(diǎn)小程序。這些事為搭建Hadoop環(huán)境做準(zhǔn)備。學(xué)習(xí)Hadoop,學(xué)會(huì)搭建單機(jī)版的Hadoop,然后是分布式的Hadoop,寫(xiě)一些MR的程序。接著學(xué)學(xué)Hadoop生態(tài)系統(tǒng)的其它大數(shù)據(jù)組件,比如Spark、Hive、Hbase,嘗試去搭建然后跑一些官網(wǎng)的Demo。Linux、Java、各種組件都有一些基礎(chǔ)后,要有一些項(xiàng)目方面的實(shí)踐,這時(shí)候找一些成功案例,比如搜搜各種視頻教程中如何搞一個(gè)推薦系統(tǒng),把自己學(xué)到的用起來(lái)。第二階段到這里是一個(gè)基本的階段了,大致對(duì)數(shù)據(jù)開(kāi)發(fā)有一些了解了。接著要有一些有意思內(nèi)容可以選學(xué)。數(shù)據(jù)倉(cāng)庫(kù)體系:如何搞數(shù)據(jù)分層,數(shù)據(jù)倉(cāng)庫(kù)體系該如何建設(shè),可以有一些大致的了解。用戶(hù)畫(huà)像和特征工程:這一部分越早了解越好。一些系統(tǒng)的實(shí)現(xiàn)思路:比如調(diào)度系統(tǒng)、元數(shù)據(jù)系統(tǒng)、推薦系統(tǒng)這些系統(tǒng)如何實(shí)現(xiàn)。第三階段下面要有一些細(xì)分的領(lǐng)域需要深入進(jìn)行,看工作和興趣來(lái)選擇一些來(lái)深入進(jìn)行分布式理論:比如Gossip、DHT、Paxo這些構(gòu)成了各種分布式系統(tǒng)的底層協(xié)議和算法,還是要學(xué)一下的。數(shù)據(jù)挖掘算法:算法是要學(xué)的,但是不一定純理論,在分布式環(huán)境中實(shí)現(xiàn)算法,本身就是一個(gè)大的挑戰(zhàn)。各種系統(tǒng)的源碼學(xué)習(xí):比如Hadoop、Spark、Kafka的源碼,想深入搞大數(shù)據(jù),源碼跑不掉。
廖小可可
編程沒(méi)有捷徑可言,或許天賦有點(diǎn)作用,但是不堅(jiān)持長(zhǎng)期練習(xí),開(kāi)發(fā)大腦,是不可能成為高手的。其次,程序語(yǔ)言基本上五花八門(mén),多達(dá)上百種,到圖書(shū)館看看便知,而且很多軟件自帶就有一種開(kāi)發(fā)語(yǔ)言,所以一定不可貪多。然后,主流的當(dāng)然是C系語(yǔ)言,從C到C++到C#或者Java,這是一條基本路線(xiàn),至于匯編語(yǔ)言除了計(jì)算機(jī)專(zhuān)業(yè)的人,一般不會(huì)去接觸的。接下來(lái)講講應(yīng)用范圍:C語(yǔ)言適用于系統(tǒng)開(kāi)發(fā),比如操作系統(tǒng),嵌入式編程,單片機(jī)編程等,比較底層;C++適用于大型桌面軟件開(kāi)發(fā),幾乎所有的大型桌面軟件都是用C++開(kāi)發(fā)出來(lái)的,由此可見(jiàn),C++是一個(gè)非常強(qiáng)大的語(yǔ)言。C#適用于非計(jì)算機(jī)專(zhuān)業(yè),以行業(yè)應(yīng)用為主的人,因?yàn)椴恍枰莆仗嗟募记?,上手快,很受廣大非計(jì)算機(jī)專(zhuān)業(yè)的人的歡迎,可以這么說(shuō),C#的出現(xiàn)改變了人們對(duì)于程序的恐懼,老少皆宜。Java就不用說(shuō)了,如今風(fēng)靡全球,適用于網(wǎng)絡(luò)開(kāi)發(fā),手機(jī)開(kāi)發(fā),Java是應(yīng)網(wǎng)絡(luò)時(shí)代而生,所以學(xué)Java就是學(xué)Web開(kāi)發(fā),桌面軟件還是C++的江上。,建議學(xué)習(xí)C++或者Java。
qianshuijun
主要學(xué)習(xí)一些Java語(yǔ)言的概念,如字符、bai流程控制、面向?qū)ο?、進(jìn)程線(xiàn)程、枚舉反射等,學(xué)習(xí)MySQL數(shù)據(jù)庫(kù)的安裝卸載及相關(guān)操作,學(xué)習(xí)JDBC的實(shí)現(xiàn)原理以及Linux基礎(chǔ)知識(shí),是大數(shù)據(jù)剛?cè)腴T(mén)階段。
主要講解CAP理論、數(shù)據(jù)分布方式、一致性、2PC和3PC、大數(shù)據(jù)集成架構(gòu)。涉及的知識(shí)點(diǎn)有Consistency一致性、Availability可用性、Partitiontolerance分區(qū)容忍性、數(shù)據(jù)量分布、2PC流程、3PC流程、哈希方式、一致性哈希等。
主要講解協(xié)調(diào)服務(wù)ZK(1T)、數(shù)據(jù)存儲(chǔ)hdfs(2T)、數(shù)據(jù)存儲(chǔ)alluxio(1T)、數(shù)據(jù)采集flume、數(shù)據(jù)采集logstash、數(shù)據(jù)同步Sqoop()、數(shù)據(jù)同步datax()、數(shù)據(jù)同步mysql-binlog(1T)、計(jì)算模型MR與DAG(1T)、hive(5T)、Impala(1T)、任務(wù)調(diào)度Azkaban、任務(wù)調(diào)度airflow等。
主要講解數(shù)倉(cāng)倉(cāng)庫(kù)的歷史背景、離線(xiàn)數(shù)倉(cāng)項(xiàng)目-伴我汽車(chē)(5T)架構(gòu)技術(shù)解析、多維數(shù)據(jù)模型處理kylin()部署安裝、離線(xiàn)數(shù)倉(cāng)項(xiàng)目-伴我汽車(chē)升級(jí)后加入kylin進(jìn)行多維分析等;
主要講解計(jì)算引擎、scala語(yǔ)言、spark、數(shù)據(jù)存儲(chǔ)hbase、redis、kudu,并通過(guò)某p2p平臺(tái)項(xiàng)目實(shí)現(xiàn)spark多數(shù)據(jù)源讀寫(xiě)。
主要講解數(shù)據(jù)通道Kafka、實(shí)時(shí)數(shù)倉(cāng)druid、流式數(shù)據(jù)處理flink、SparkStreaming,并通過(guò)講解某交通大數(shù)讓你可以將知識(shí)點(diǎn)融會(huì)貫通。
主要講解elasticsearch,包括全文搜索技術(shù)、ES安裝操作、index、創(chuàng)建索引、增刪改查、索引、映射、過(guò)濾等。
主要講解數(shù)據(jù)標(biāo)準(zhǔn)、數(shù)據(jù)分類(lèi)、數(shù)據(jù)建模、圖存儲(chǔ)與查詢(xún)、元數(shù)據(jù)、血緣與數(shù)據(jù)質(zhì)量、Hive Hook、Spark Listener等。
主要講解Superset、Graphna兩大技術(shù),包括基本簡(jiǎn)介、安裝、數(shù)據(jù)源創(chuàng)建、表操作以及數(shù)據(jù)探索分析。
主要講解機(jī)器學(xué)習(xí)中的數(shù)學(xué)體系、Spark Mlib機(jī)器學(xué)習(xí)算法庫(kù)、Python scikit-learn機(jī)器學(xué)習(xí)算法庫(kù)、機(jī)器學(xué)習(xí)結(jié)合大數(shù)據(jù)項(xiàng)目。
瘦子你好
大大數(shù)據(jù)開(kāi)發(fā)工程師要學(xué)習(xí)哪些課程大數(shù)據(jù)開(kāi)發(fā)工程師要學(xué)習(xí)哪些大數(shù)據(jù)開(kāi)發(fā)工程師要學(xué)習(xí)哪些課程
夏天天夏天
大數(shù)據(jù)的學(xué)習(xí)路線(xiàn)推薦給你
第1階段Java
第2階段JavaEE核心
第3階段Hadoop生態(tài)體系
第4階段大數(shù)據(jù)spark生態(tài)體系
大數(shù)據(jù)怎么學(xué)
優(yōu)質(zhì)工程師考試問(wèn)答知識(shí)庫(kù)