這篇文章從構(gòu)思到最終成文,,經(jīng)過無數(shù)次的修改和校對,,終于面世。 我在寫完此文的時候,,窗外已經(jīng)大亮,。2022年正迎面走來,也代表著我從事大數(shù)據(jù)開發(fā)領(lǐng)域的第五個年頭迎面走來,。 文章也僅僅是站在我從業(yè)4年多的時間點,,基于我過去經(jīng)歷的總結(jié)以及對行業(yè)未來的思考,向大家展示一個我認為 文章內(nèi)容較長,請耐心看完,,歡迎轉(zhuǎn)發(fā),、點贊、收藏,。 回顧過去2019-年20202019年9月7日,,我第一次發(fā)表劍譜總綱 | 大數(shù)據(jù)方向?qū)W習面試知識圖譜,彼時大數(shù)據(jù)領(lǐng)域經(jīng)歷了完整的10年成熟期,從幕后走向臺前,。站在2019年,,這篇文章應(yīng)該是全網(wǎng)大數(shù)據(jù)開發(fā)領(lǐng)域第一篇完整詮釋「數(shù)據(jù)開發(fā)」(偏平臺方向)的技術(shù)棧模型,全文不長,,只有5000字左右,。 這篇文章我第一次提出一個觀點:「一切技術(shù)最終只是雕蟲小技」。 現(xiàn)在回想這篇文章,,少了關(guān)鍵的一個方向的技術(shù)棧也就是「數(shù)據(jù)倉庫」,。在大數(shù)據(jù)這個領(lǐng)域,數(shù)據(jù)倉庫領(lǐng)域提供了茫茫多的就業(yè)崗位,,也是很大一批人的從業(yè)方向,。但是偏偏少了這個方向。 為什么,? 2019年中旬我第一次開始做企業(yè)級的數(shù)據(jù)倉庫,,涉及到離線數(shù)據(jù)倉庫和實時數(shù)據(jù)倉庫。也是第一次我對自己的工作產(chǎn)生厭惡,。數(shù)據(jù)倉庫這個方向在我當時的感覺是整個大數(shù)據(jù)開發(fā)領(lǐng)域最苦最累的工作之一,。經(jīng)歷了6個月的建設(shè)之后,我終于脫離了這個方向,并且在后續(xù)的技術(shù)文章中,,盡量避免去寫關(guān)于數(shù)倉建設(shè)的文章,。但是此一時彼一時,隨著Flink和數(shù)據(jù)湖的發(fā)展,,數(shù)據(jù)倉庫領(lǐng)域經(jīng)歷了前所未有的繁榮,。經(jīng)過深入的研究之后,我的觀念也更客觀了一些,,所以才把這個方向的能力模型慢慢補齊,。 21年2021年20的7月10日,我又發(fā)表了八千里路云和月|從零到大數(shù)據(jù)專家學習路徑指南,。21年20的中旬是我經(jīng)歷了完整的后端架構(gòu),、數(shù)據(jù)中間件、數(shù)據(jù)平臺,、ToB領(lǐng)域的數(shù)據(jù)產(chǎn)品和業(yè)務(wù)開發(fā)(涵蓋基本算法和算法工程化)這個過程后,,寫出來的。 彼時正值我個人工作的第四年,,對整個數(shù)據(jù)體系的發(fā)展也有了足夠的認知,。專業(yè)技術(shù)寫作業(yè)持續(xù)了差不多2年時間,文筆上更加成熟一些,,另外對「數(shù)據(jù)開發(fā)」這個職業(yè)也有了足夠的認知,。這篇文章更加友好了的給出了一些視頻和書籍的推薦,最后還增加了一些學習方法和認知上的提升,。 Flink的開源促進了整個大數(shù)據(jù)領(lǐng)域?qū)崟r計算的發(fā)展,,并且以此為契機,促進整個實時計算,、實時數(shù)據(jù)倉庫等方向的發(fā)展,。 在阿里云計算平臺事業(yè)部給出的21年20大數(shù)據(jù)體系的四大熱點中包含了: 另外我還加入了圖計算這個小眾方向,。 上面列出的幾大熱點聽不懂沒有關(guān)系,,等大家真正從事這個方向的開發(fā)后,可以再深入了解,。 本文的行文思路本文的行文思路和之前類似但是有一些區(qū)別,,分別從以下幾個方面: 上面的每個部分會對之前的內(nèi)容進行刪減,有一些比較大的改動,,另外根據(jù)數(shù)據(jù)開發(fā)領(lǐng)域的最新發(fā)展趨勢給出了一些非常有潛力的技能點,。 我對每個技能點都給出了評級,五星最高,,一星最低,。 第一部分:學習路徑概覽1. 編程語言(??????????)計算機專業(yè)的同學的第一門語言大都是C語言,,然后是面向?qū)ο蟮腏ava。除此之外,,可以學習Scala和Python,。 Java是大數(shù)據(jù)領(lǐng)域的屠龍刀,適合集團化大規(guī)模作戰(zhàn),。對Java的要求沒有上限,越熟悉越好,。Python更像一把鋒利的匕首,,更適用于短兵相接和貼身肉搏,用來寫各種腳本,。 另外,,這里特別提醒大家對于Go這門語言的關(guān)注。 隨著云原生的發(fā)展,,Java正受到Go,、Rust等新興語言的挑戰(zhàn),部分組件因為Cloud Native的發(fā)展可能在某一個領(lǐng)域會被慢慢替換掉,。例如大名鼎鼎的Logstash,,因為資源占用的原因,被Elstaic.co用Golang的Filebeat代替了Shipper部分的職能,。 2. Linux基礎(chǔ)(??????????)需要掌握基于Linux系統(tǒng)下的常用命令和常見問題診斷,。 3. 數(shù)據(jù)庫入門(??????????)基于MySQL了解常見的SQL語法,大數(shù)據(jù)領(lǐng)域SQL化是未來的發(fā)展方向,。 4. 計算機基礎(chǔ)(??????????)計算機網(wǎng)絡(luò),,操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu)和算法,,計算機組成原理,。 四門專業(yè)課,也是校招面試時的重點,。 5. Java基礎(chǔ)(??????????)6. 分布式理論篇(????????)這部分內(nèi)容是很多做底層開發(fā)同學會接觸到的東西,,如果你作為偏業(yè)務(wù)的開發(fā)去看一些源碼或者比較有深度的論文,,這部分的內(nèi)容也是你一定要掌握的。 7. 網(wǎng)絡(luò)通信篇(????????)8. 離線計算篇(??????????)9. 消息隊列篇(??????????)10. 實時計算篇(??????????)11. 數(shù)據(jù)調(diào)度/治理/血緣等(????????)12. 數(shù)據(jù)倉庫&數(shù)據(jù)湖(????????)13. OLAP篇(????????)常見的OLAP數(shù)據(jù)庫,這個部分因個人而異,,看個人業(yè)務(wù)用到OLAP庫,,包括不限于: 當然還有類似Doris等等這樣的數(shù)據(jù)庫供你選擇,。 14. 算法篇(??????)15. 不可缺少的后端技能(????????)以及后端常見的一些接口抽象,、分層設(shè)計和架構(gòu)設(shè)計(DDD領(lǐng)域驅(qū)動,MVC等),。 16.業(yè)務(wù)(??????????)基于當前業(yè)務(wù)的技術(shù)選型,、成本控制、ROI投入產(chǎn)出比,。在鉆研技術(shù)的同時深入了解業(yè)務(wù),,建立自己的競爭優(yōu)勢和壁壘。 第二部分:學習路徑拆分篇1. 語言基礎(chǔ)篇(??????????)Java語言基礎(chǔ)(??????????)鎖(??????????)多線程(??????????)跟線程安全相關(guān): 并發(fā)(??????????)JUC 包中 List 接口的實現(xiàn)類:CopyOnWriteArrayList JVM(??????????)
jps NIO(????????)RPC(????????)2. Linux基礎(chǔ)(????????)3. 分布式理論篇(????????)和上面內(nèi)容保持一致,。 4. 網(wǎng)絡(luò)通信Netty(????????)Netty 是當前最流行的 NIO 框架,,Netty 在互聯(lián)網(wǎng)領(lǐng)域、大數(shù)據(jù)分布式計算領(lǐng)域,、游戲行業(yè),、通信行業(yè)等獲得了廣泛的應(yīng)用,業(yè)界著名的開源組件只要涉及到網(wǎng)絡(luò)通信,,Netty 是最佳的選擇之一,。 關(guān)于 Netty 我們要掌握:
5.離線計算(??????????)Hadoop 體系是我們學習大數(shù)據(jù)框架的基石,尤其是 MapReduce,、HDFS,、Yarn 三駕馬車基本墊定了整個數(shù)據(jù)方向的發(fā)展道路。也是后面我們學習其他框架的基礎(chǔ),,關(guān)于 Hadoop 本身我們應(yīng)該掌握哪些呢,? MapReduceHDFSYarnHadoop3.0新特性這些新特性需要你了解,。 1. 最低要求的Java版本從Java 7增加到Java 8 HiveHive 是一個數(shù)據(jù)倉庫基礎(chǔ)工具,,在 Hadoop 中用來處理結(jié)構(gòu)化數(shù)據(jù)。它架構(gòu)在 Hadoop 之上,,總歸為大數(shù)據(jù),,并使得查詢和分析方便。Hive 是應(yīng)用最廣泛的 OLAP 框架,。Hive SQL 也是我們進行 SQL 開發(fā)用的最多的框架,。 關(guān)于 Hive 你必須掌握的知識點如下: 列式數(shù)據(jù)庫 Hbase我們在提到列式數(shù)據(jù)庫這個概念的時候,第一反應(yīng)就是 Hbase,。 HBase 本質(zhì)上是一個數(shù)據(jù)模型,,類似于谷歌的大表設(shè)計,可以提供快速隨機訪問海量結(jié)構(gòu)化數(shù)據(jù),。它利用了 Hadoop 的文件系統(tǒng)(HDFS)提供的容錯能力,。它是 Hadoop 的生態(tài)系統(tǒng),提供對數(shù)據(jù)的隨機實時讀/寫訪問,,是 Hadoop 文件系統(tǒng)的一部分,。 我們可以直接或通過 HBase 的存儲 HDFS 數(shù)據(jù)。使用 HBase 在 HDFS 讀取消費/隨機訪問數(shù)據(jù),。HBase 在 Hadoop 的文件系統(tǒng)之上,,并提供了讀寫訪問。 HBase 是一個面向列的數(shù)據(jù)庫,,在表中它由行排序,。表模式定義只能列族,,也就是鍵值對,。一個表有多個列族以及每一個列族可以有任意數(shù)量的列。后續(xù)列的值連續(xù)地存儲在磁盤上,。 表中的每個單元格值都具有時間戳??傊?,在一個 HBase:表是行的集合、行是列族的集合,、列族是列的集合,、列是鍵值對的集合。 關(guān)于 Hbase 你需要掌握: 6.消息隊列(??????????)Kafka(??????????)Kafka 是最初由 Linkedin 公司開發(fā),,是一個分布式、支持分區(qū)的(partition),、多副本的(replica)的分布式消息系統(tǒng),,它的最大的特性就是可以實時的處理大量數(shù)據(jù)以滿足各種需求場景:比如基于 Hadoop 的批處理系統(tǒng)、低延遲的實時系統(tǒng),、Spark 流式處理引擎,,Nginx 日志、訪問日志,,消息服務(wù)等等,,用 Scala 語言編寫,Linkedin 于 2010 年貢獻給了 Apache 基金會并成為頂級開源項目,。 Kafka 或者類似 Kafka 各個公司自己造的消息'輪子'已經(jīng)是大數(shù)據(jù)領(lǐng)域消息中間件的事實標準,。Kafka 不滿足單純的消息中間件,,也正朝著平臺化的方向演進,。 關(guān)于 Kafka 我們需要掌握: Pulsar(??????)
跨地域復制( geo-replication),,單個實例原生支持多個集群(跨集群復制) 一個Pulsar實例由一個或多個Pulsar集群組成,。實例中的集群可以在它們之間復制數(shù)據(jù)。一個Pulsar cluster由三部分組成:
7.實時計算篇(??????????)Spark 是專門為大數(shù)據(jù)處理設(shè)計的通用計算引擎,,是一個實現(xiàn)快速通用的集群計算平臺。它是由加州大學伯克利分校 AMP 實驗室開發(fā)的通用內(nèi)存并行計算框架,,用來構(gòu)建大型的,、低延遲的數(shù)據(jù)分析應(yīng)用程序。它擴展了廣泛使用的 MapReduce 計算模型,。高效的支撐更多計算模式,,包括交互式查詢和流處理。Spark 的一個主要特點是能夠在內(nèi)存中進行計算,,即使依賴磁盤進行復雜的運算,,Spark 依然比 MapReduce 更加高效。 Spark 生態(tài)包含了:Spark Core,、Spark Streaming,、Spark SQL、Structured Streming 和機器學習相關(guān)的庫等,。 學習 Spark 我們應(yīng)該掌握: Spark Core(??????????)Spark SQL(??????????)Structured Streaming,、Spark Streaming(????????)這兩塊部分優(yōu)先級有所降低,,因為Flink社區(qū)的蓬勃發(fā)展,基于Flink的大數(shù)據(jù)實時計算技術(shù)棧未來會是第一選擇。 Spark 從 2.3.0 版本開始支持 Structured Streaming,,它是一個建立在 Spark SQL 引擎之上可擴展且容錯的流處理引擎,,統(tǒng)一了批處理和流處理。正是 Structured Streaming 的加入使得 Spark 在統(tǒng)一流,、批處理方面能和 Flink 分庭抗禮,。 我們需要掌握: Spark Mlib、GraphX(??????)本部分是 Spark 對機器學習支持的部分,,我們學有余力的同學可以了解一下 Spark 對常用的分類,、回歸、聚類,、協(xié)同過濾,、降維以及底層的優(yōu)化原語等算法和工具??梢試L試自己使用 Spark Mlib 做一些簡單的算法應(yīng)用,。 Flink目前已經(jīng)成為大數(shù)據(jù)實時計算領(lǐng)域的第一選擇,基于Flink及周邊設(shè)施的建設(shè)也在越來越完善中,。 那么關(guān)于 Flink 這個框架我們應(yīng)該掌握哪些核心知識點,? 8. 數(shù)據(jù)調(diào)度/數(shù)據(jù)交換/數(shù)據(jù)治理、血緣等(????????)數(shù)據(jù)任務(wù)調(diào)度老牌調(diào)度框架Oozie,、Azkaban,、Airflow應(yīng)用廣泛,基于當前公司技術(shù)平臺的選型情況掌握,。 這里我要著重提一下Apache DolphinScheduler這個框架,,這個框架為國內(nèi)開源項目,相對其他國外項目,有天然的本土優(yōu)勢,,如果你還沒有接觸過任務(wù)調(diào)度框架,,可以直接學習DolphinScheduler這個框架。 數(shù)據(jù)交換Kettle,、DataX,、Streamsets、SeaTunnel等異構(gòu)數(shù)據(jù)交換工具,,可以根據(jù)自己的業(yè)務(wù)需要選擇一種學習和掌握,。 數(shù)據(jù)治理數(shù)據(jù)治理是這兩年數(shù)據(jù)領(lǐng)域興起的一個小方向,,尤其是一些傳統(tǒng)企業(yè)在做數(shù)字化轉(zhuǎn)型過程中需要很多懂數(shù)據(jù)治理的人才,。 你應(yīng)該懂的內(nèi)容包含: 這部分內(nèi)容大家可以直接參考阿里的OneData理論進行學習,。 9.數(shù)據(jù)倉庫&數(shù)據(jù)湖(????????)離線數(shù)據(jù)倉庫你需要掌握: 實時數(shù)據(jù)倉庫數(shù)據(jù)湖數(shù)據(jù)倉庫的高性能與管理能力,與數(shù)據(jù)湖的靈活性,,倉和湖的兩套體系在相互借鑒與 融合,。在年2020各大公司分別提出湖倉一體架構(gòu),成為當下架構(gòu)演進最熱的趨勢,。但湖倉一體架構(gòu)有多種形態(tài),,不同形態(tài)尚在演進和爭論中。 這部分設(shè)計到Format層的數(shù)據(jù)選型包含:Hudi,、IceBerg,、Delta三個主要的框架。大家可以根據(jù)公司需要選擇學習,。 10.OLAP篇(????????)常見的OLAP數(shù)據(jù)庫,,這個部分因個人而異,看個人業(yè)務(wù)用到OLAP庫,,包括不限于: 包括如果你要做搜索還可能用到ElasticSearch這樣的框架,根據(jù)個人業(yè)務(wù)需要學習,。 11. 算法篇(??????)12.不可缺少的后端技能(????????)以及后端常見的一些接口抽象,、分層設(shè)計和架構(gòu)設(shè)計(DDD領(lǐng)域驅(qū)動,,MVC等)。 第三部分:視頻/書籍推薦篇這部分就是我之前寫的B站資源和云棲社區(qū)資源合集,。稍有改動,。 B站資源匯總語言基礎(chǔ)篇關(guān)于編程語言這部分,大部分同學都是Java附帶Scala技能加點,,當然如果你學了一點Python的東西也是一個加分項,。 那么關(guān)于Java語言你可以參考下面這個視頻,尤其是如果你的語言基礎(chǔ)極差,,都沒有用過Java語言,。
如果你有一定的語言基礎(chǔ),想看看自己掌握到了什么程度,?OK,,下面這個視頻就滿足你的胃口了。這個視頻從關(guān)鍵字到新特性,,帶著問題的形式,,邊學邊考。
數(shù)據(jù)結(jié)構(gòu)篇如果你還在讀書,,結(jié)合課本來看,,我推薦這個:
浙江大學老師的這個視頻可以說是公開課的牌面了,可以稱為數(shù)據(jù)結(jié)構(gòu)篇的「正規(guī)軍」了,。 與之對應(yīng)的是,,下面這個視頻。如果你工作有一段時間了,,那么可以直接看這個視頻:
小甲魚簡直可以稱為良心UP主的楷模,。小甲魚的視頻語言風趣幽默,舉了很多的例子配合知識點,。 Linux基礎(chǔ)Linux基礎(chǔ)這塊對于數(shù)據(jù)開發(fā)非常重要,,因為大家平時接觸過的數(shù)據(jù)框架的搭建過程涉及大量的Linux命令操作,并且在系統(tǒng)級別的調(diào)優(yōu)還會接觸atime,、ulimit這種比較高級的命令,。 這里我推薦史上最牛的Linux視頻教程:
如果這個視頻滿足不了你,你還可以參考:
數(shù)據(jù)庫入門基于MySQL了解常見的SQL語法,,大數(shù)據(jù)領(lǐng)域SQL化是未來的發(fā)展方向,。
以及下面這個:
計算機基礎(chǔ)操作系統(tǒng)這里B站是萬能的,但是我還給出了一些其他的鏈接:
數(shù)據(jù)結(jié)構(gòu)與算法
計算機網(wǎng)絡(luò)
計算機組成原理哈工大計算機組成原理
分布式理論關(guān)于這一塊內(nèi)容,,我沒有在B站找到資源可以直接看。這塊內(nèi)容因為都是一些比較高深的論文,,我相信很少有老師能夠通俗易懂的講給大家,,這塊就全靠大家搜集資源了。我給出了學習大綱: Netty與網(wǎng)絡(luò)通信我只找到了這個,我挑了幾章我自己研究過的看,總體來說講到點子上了,。
框架篇這部分就到了真正考驗各個老師的水平階段了,。 離線部分必看的幾個視頻: Hadoop
當時看到3.x這個視頻的時候,無哥我是虎軀一震,。這也太強了,,Hadoop3.x才出多久,這網(wǎng)上視頻都有了,? HiveHive也是,,這特么3.x版本才出來沒多久。在下實在也是震驚了,。關(guān)鍵這課的質(zhì)量還挺好,。
如果上面的入門課程滿足不了你,下面的這個進階課相信可以填滿你了,。
Hbase如果你是一個初學者,,那么可以看這個:
那么如果你是一個資深的開發(fā),需要系統(tǒng)的學習或者查漏補缺,,視頻就滿足不了大家了,。這里我推薦一本書:
Kafka你可以參考這個視頻:
Kafka這個框架更新也非常頻繁,,至今已經(jīng)到了3.x版本了,,并且引入了很多新的特性。目前還沒有看到跟最新版本有關(guān)的視頻出現(xiàn),。 如果你的時間有限,,可以看這個:
Spark這個名字取得很大,但是當成一個入門課還是不錯的,。
同樣大家也知道,,Spark3.x版本的更新也帶來了一波巨大的改變。
就問你強不強! Flink再次給清華大佬跪下了,。Flink的這個視頻我在群里跟很多小伙伴推薦過了,。 此視頻一出,,B站吃瓜群眾驚呼:武老師,發(fā)生甚么事了?!
清華大佬不滿足于此,,竟然給Flink SQL出了單獨的視頻!
項目實戰(zhàn)篇
云棲社區(qū)我們來看一下簡介: 阿里云開發(fā)者社區(qū)覆蓋云計算,、物聯(lián)網(wǎng)、大數(shù)據(jù),、云原生,、數(shù)據(jù)庫、人工智能,、微服務(wù),、安全、開發(fā),、運維等技術(shù)領(lǐng)域,集合阿里巴巴經(jīng)濟體各個單元技術(shù)優(yōu)勢,。 阿里云開發(fā)者社區(qū)集合阿里巴巴經(jīng)濟體各個單元技術(shù)優(yōu)勢,提供分享,、交流,、學習、認證,、工具,、資源、大賽,、活動,、創(chuàng)業(yè)等一站式服務(wù)能力,滿足開發(fā)者全生命周期成長需求,。 大家不要覺得啰嗦,, 今天我們介紹的就是它的大數(shù)據(jù)板塊,,我們直接給出網(wǎng)址:
在首頁的左上角你可以看到更多的的子目錄: 如果你需要從大數(shù)據(jù)擴展到其他領(lǐng)域的學習,那么你能看到更多的板塊,,去對應(yīng)板塊尋找資源,。 關(guān)鍵用法云棲社區(qū)里的內(nèi)容非常龐大,雖然很多文章和資源都是介紹阿里云相關(guān)的產(chǎn)品,,但是你可以找到很多官方和個人博主總結(jié)的電子書和問答內(nèi)容,。 下面我介紹幾個關(guān)鍵的內(nèi)容,教大家怎么用好這個社區(qū),。 電子書區(qū)你可以通過首頁的「電子書」標簽進入這個板塊,,這個板塊又被稱為 這里的電子書質(zhì)量非常高,,比如整個Java開發(fā)領(lǐng)域奉為圭臬的 這里面關(guān)于大數(shù)據(jù)的電子書也非常多,,很多都是阿里云的專家進行的總結(jié),,深度遠超任何博客,。比如我經(jīng)常看的 在「藏經(jīng)閣」下有一個欄目叫做 產(chǎn)品討論(問答區(qū))這個問答區(qū),在大數(shù)據(jù)領(lǐng)域應(yīng)該是一個比較好論壇板塊了,。當然有些回答不是很及時,,或者很多討論阿里云產(chǎn)品的,但是阿里云的產(chǎn)品很多都和開源的產(chǎn)品有對應(yīng)關(guān)系,。 大數(shù)據(jù)領(lǐng)域的問題不比Java或者Go等的后端開發(fā),,首先 比如你的問題是 這個板塊的問題,大家可以好好看看,??纯礃I(yè)界的做法一般都是什么樣的,。 學習路線&進階區(qū)這個部分不在多言,如果你需要在某一個領(lǐng)域深造,,那么首先方向不能錯,,否則一切都是徒勞的。 這個板塊不僅給出了學習路線,,你學習完成后還可以測試一下你掌握的程度,。也就是「技能自測」區(qū),如下圖: 公開課這里有很多公司技術(shù)專家,、技術(shù)負責人,、CTO級別的技術(shù)分享,你可以看到很多大的公司在某一個領(lǐng)域是怎么做的,,而且大都是高清的視頻,。 比如你所在公司也是電商行業(yè),需要做搜索,,那么你可以參考: 看看別人是怎么做的,?不要局限在某一段代碼的開發(fā),某一個技術(shù)點學習上,。這種方向上的把握是大家未來進階必須要經(jīng)歷的過程,,否則你永遠只能待在最一線做基礎(chǔ)的開發(fā)工作。 活動&訓練營這個板塊是很多線上的訓練營和活動的發(fā)布地址,,你可以在這里看到很多訓練營的活動,。雖然有的是基于開源的,有基于阿里云產(chǎn)品的,,但是沒有關(guān)系,,總有一些適合你的,比如Apache Flink的極客挑戰(zhàn)賽活動,。 熱門技術(shù)圈這個就是大家最關(guān)注的一些圈子了,。熱度很高的圈子自然可能就是未來發(fā)展的重點,有時間不妨多跳出自己目前從事的這個方向,,看看其他的圈子都在做什么,。 總結(jié)整個云棲社區(qū)的大數(shù)據(jù)板塊還有非常多的寶西藏等待大家自己去發(fā)掘。整個云棲社區(qū)大數(shù)據(jù)體系,,無論是從質(zhì)量還是廣度上,,都遠超其他任何博客的大數(shù)據(jù)板塊。 第四部分:未來趨勢篇大數(shù)據(jù)領(lǐng)域仍然處于發(fā)展期,,部分技術(shù)收斂,,但新方向和新領(lǐng)域?qū)映霾桓F。阿里云計算平臺事業(yè)部也推出了「后紅海」時代的大數(shù)據(jù)的發(fā)展趨勢,。 我把其中的觀點詳細列了出來: 近實時架構(gòu)興起在離線 batch 計算和純流式實時計算之間,,以開源 Apache Delta/Hudi 為代表的近實時架構(gòu)成為熱點。近實時架構(gòu)避免了流計算龐大的狀態(tài)存儲與管理,,在成本和延遲上找到了另一個平衡,。隨近實時架構(gòu)的形成,計算架構(gòu)最終完成從離線到實時全頻譜支持,。 數(shù)據(jù)湖三巨頭的持續(xù)發(fā)展給近實時架構(gòu)的落地帶來了可能性,。數(shù)據(jù)湖方向也是需要大家密切關(guān)注的方向。 數(shù)據(jù)共享與隱私保護成為熱點數(shù)據(jù)成為資產(chǎn),,開始具備可變現(xiàn)和可交易的能力,。可保護隱私的數(shù)據(jù)交換/共享能力成 為強勁的需求,?;?Differential Privacy 的數(shù)據(jù)編碼交易,,以及基于 Federated Learning的多方面安全計算是該領(lǐng)域的熱點技術(shù),。 隱私計算是一類技術(shù)方案,在處理和分析計算數(shù)據(jù)的過程中能保持數(shù)據(jù)不透明,、不泄露,、無法被計算方法以及其他非授權(quán)方獲取。 從技術(shù)角度出發(fā),,隱私計算是涵蓋眾多學科的交叉融合技術(shù),,目前主流的隱私計算技術(shù)主要分為三大方向: 不同技術(shù)往往組合使用,在保證原始數(shù)據(jù)安全和隱私性的同時,,完成對數(shù)據(jù)的計算和分析任務(wù),。 IoT成為熱點目前人的行為數(shù)據(jù)(日志)是大數(shù)據(jù)計算的主要來源,超過 80%的數(shù)據(jù)都來源于行為 日志(例如瀏覽,、點擊),。隨 5G+智能化設(shè)備的興起,設(shè)備日志會成為更大的數(shù)據(jù)源增長點,,面向海量低價值設(shè)備數(shù)據(jù)的處理和優(yōu)化,,需要得到更多的關(guān)注。 Apache 軟件基金會于北京時間年20209月23日宣布Apache IoTDB畢業(yè)成為 Apache 頂級項目,。 Apache IoTDB(物聯(lián)網(wǎng)數(shù)據(jù)庫)是一體化收集,、存儲、管理與分析物聯(lián)網(wǎng)時序數(shù)據(jù)的軟件系統(tǒng)。Apache IoTDB 采用輕量式架構(gòu),,具有高性能和豐富的功能,,并與Apache Hadoop、Spark和Flink等進行了深度集成,,可以滿足工業(yè)物聯(lián)網(wǎng)領(lǐng)域的海量數(shù)據(jù)存儲,、高速數(shù)據(jù)讀取和復雜數(shù)據(jù)分析需求。 如果未來你從事的是IoT方向,,那么需要持續(xù)關(guān)注這個領(lǐng)域的發(fā)展,。 AI for SystemAI for System,即大數(shù)據(jù)自動駕駛,。AI 作為工具,,成為優(yōu)化的常用手段。在大數(shù)據(jù)領(lǐng)域,,隨數(shù)據(jù)量/系統(tǒng)復雜度的增長,,DBA 模式已經(jīng)不再試用。利用算法優(yōu)化系統(tǒng)成為主流方向,,大數(shù)據(jù)的'自動駕駛'會越來越自動,。 云原生和圖計算根據(jù)阿里云關(guān)濤老師的一些觀點: 數(shù)據(jù)庫和數(shù)倉已經(jīng)發(fā)展了 40 多年,主流的計算范式就是二維關(guān)系表達,。近 10 年,,深度學習帶來了一個新的計算方式。那除此以外,,還有沒有一個更新一代的計算方式會產(chǎn)生,? 圖計算是目前最被看好的方向,它是點邊模型,,與二維關(guān)系表達并不相同,。但是數(shù)據(jù)庫技術(shù)發(fā)展過程中也誕生了圖計算模式,并且已經(jīng)發(fā)展多年,,但目前仍然不是主流,。 隨著圖學習 GraphEmbedding 技術(shù)的興起,圖計算是否能煥發(fā)新生變成一個主流的計算范式也是值得大家關(guān)注的,。 圖計算領(lǐng)域的一些數(shù)據(jù)庫可能是大家學習的重點,,例如:Neo4j、JanusGraph,、HugeGraph等,。 而「云原生(Cloud Native)」在21年20在大數(shù)據(jù)與云計算領(lǐng)域牢牢占據(jù)了C位。數(shù)據(jù)顯示,,云原生計算基金會(CNCF)現(xiàn)在擁有 730 多個成員組織和 100 多個開源云原生項目,,整個云原生生態(tài)逐步趨于完善。 云原生領(lǐng)域涵蓋的技術(shù)類別越來越多,但最關(guān)鍵的三項是容器,、Serverless,、Service Mesh。其中以K8s為核心的容器技術(shù)需要大家持續(xù)關(guān)注,。 第五部分:面試&建議這部分你可以直接參考:《八千里路云和月 | 從零到大數(shù)據(jù)專家學習路徑指南》的面試部分,。 校招面試一個校招的同學在面試這些中大公司的時候會進行評級,例如S/A/B/C這樣的分級,。 那么影響一個校招同學評級的要素有哪些,? 第一,硬條件,、學校,、學歷。 這部分不必多言,,大家應(yīng)該都懂,。學校的牌子是你拿到一面的最好的招牌。 第二,,比賽/榮譽/論文等 這部分主要是在學校的一些論文,、獲獎、比賽等,。這部分需要你突出你在學校的科研能力,,這是證明你過去能力的最直接證明,。 第三,,計算機基礎(chǔ) 計算機基礎(chǔ)包含計算機專業(yè)的基本主要的課程,也就是數(shù)據(jù)結(jié)構(gòu),,計算機組成原理,,計算機網(wǎng)絡(luò),操作系統(tǒng),。 此外你還需要刷上一些Leetcode題目保證自己的算法題能寫出來,。 還有就是你的語言基礎(chǔ),如果你是做OLAP數(shù)據(jù)庫底層,,那么可能要求C和C++基礎(chǔ),,如果你去做Flink這樣的中間件平臺或者業(yè)務(wù)開發(fā),那么就是Java的基礎(chǔ),。懂了啵,? 第四,項目經(jīng)驗 這部分主要是各位在學校實驗室跟導師做的項目,,以及你的實習經(jīng)歷,。一份名企的實習經(jīng)歷是非常加分的。 第四,項目經(jīng)驗 這部分主要是各位在學校實驗室跟導師做的項目,,以及你的實習經(jīng)歷,。一份名企的實習經(jīng)歷是非常加分的。 大家根據(jù)自己的情況去做一些實際項目吧,。能實習最好,,其次在實驗室寫一些項目也可以,最后實在不行就在B站找上幾個學一下,,參考:《我在B站讀大學,,大數(shù)據(jù)專業(yè)》。 社招同學看這里要有信心21年20是非常糟糕的一年,。比如讓大家看起來非常焦慮的: 《互聯(lián)網(wǎng)最壞的時代可能真的來了》,。 但是大家應(yīng)該有信心,畢竟你們已經(jīng)工作很多年了,。如果你不是混日子,,那么技術(shù)積累應(yīng)該都是有的。在過去幾年里,,是技術(shù)爆炸的幾年,。很多工作多年的朋友應(yīng)該都經(jīng)歷過從0到1開發(fā)某個平臺或者項目的經(jīng)歷。 這樣的機會,,剛參加工作的同學們可能再也沒有這樣的機會了,。 起碼從2019年到21年20這近3年時間里,大數(shù)據(jù)方向應(yīng)該是走向成熟的3年,。很多公司都經(jīng)歷了一整套大數(shù)據(jù)解決方案的開發(fā)和上線過程,。 這3年時間,大數(shù)據(jù)方向也經(jīng)歷了和后端一樣的發(fā)展路線,。很多很高深難懂的技術(shù)被封裝的簡單易用,,大數(shù)據(jù)開發(fā)方向SQL化就是證明。 如果你有之前的技術(shù)沉淀,,那么換個工作對你來說都不是問題,。 隨著大數(shù)據(jù)領(lǐng)域成熟度越來越高,開發(fā)門檻也會變得越來越低,。相應(yīng)技術(shù)沉淀機會越來越少了,。使得新進入的同學更容易變成螺絲釘,這是一個非??膳碌氖聦?。 要講方法工作多年的老兵在跳槽的時候要懂得 「錯位競爭」。應(yīng)屆生和新手的優(yōu)勢在于年輕,、有活力,,但是缺乏技術(shù)沉淀,。 尤其是這兩年剛剛進入的新人,在和工作5年+的老員工競爭的時候會處于明顯劣勢,。前提是老工程師們在過去的幾年要有真真正正的技術(shù)和業(yè)務(wù)壁壘,。 在國內(nèi)幾家頭部企業(yè)遭到重錘后,還有很多三線四線,,不知名的企業(yè)在進行新IT改造,。他們需要那些工作多年的老工程師去從0搭建整套的大數(shù)據(jù)技術(shù)體系,老工程師的技術(shù)沉淀,、需求分析和跨部門協(xié)同能力相比年輕的工程師們有絕對的優(yōu)勢,。而這樣的機會給到年輕人大概率是干不了的。 第六部分:其他可以參考:《個人思考和總結(jié)》,。 在公眾號欄目中可以找到,,如下圖所示: 這部分內(nèi)容包含了我個人在工作上的一些思考和總結(jié),包含了對于業(yè)務(wù)和管理的理解,、工作中的一些思考,,整個互聯(lián)網(wǎng)行業(yè)發(fā)展的一些個人看法。 涉及到的內(nèi)容比較多,,而且很多文章的閱讀超過平均水平,,也能看出來大家的認可。 如果你需要一些對整個行業(yè)的發(fā)展有一些認知和外部輸入,,可以作為參考,。但是僅僅是個人看法,也僅供參考,。 總結(jié)整篇文章行文1.5萬字,,不包含為展開的引用和連接。相比之前的兩版內(nèi)容新增了很多關(guān)于未來方向的內(nèi)容,。 時代在發(fā)展,,舊的技術(shù)在消亡,例如Hadoop體系中一些不在活躍的項目,,Mesos、Storm這樣的框架,。新的領(lǐng)域?qū)映霾桓F,,云原生(Cloud Native)、隱私計算,、湖倉一體,、IoT等等。 國內(nèi)互聯(lián)網(wǎng)領(lǐng)域持續(xù)被整治,,各大公司麻煩不斷,。但是21年20也有非常多的新興公司脫穎而出走近大家的視野,,例如DataBricks、ClickHouse,Inc,、Stream Native等等,。 大數(shù)據(jù)技術(shù)體系完成了1.0版本的建設(shè),正在向2.0方向演進和迭代,。 技術(shù)上將會做到更好的技術(shù)分層和更強的專業(yè)化,。數(shù)據(jù)平臺賽道價值顯性化,也帶來大量投資和創(chuàng)業(yè)機會,。 你準備好了嗎,? |
|