如何評估一項技術(shù)是否值得長期投入
文? |??簡鋒
“每個人的時間都是有限的,在有限的時間里選擇一項值得投入的技術(shù)會變得尤為重要。”
????????今天我想結(jié)合自己過去的職業(yè)經(jīng)歷來聊聊如何評估一項技術(shù)是否值得學(xué)習(xí)。我一直在大數(shù)據(jù)這個圈子,從最初的 Hadoop 到后來的 Hadoop 生態(tài)項目 Pig,Hive,Tez,然后又到新一代的計算引擎 Spark ,再到最近在做的 Flink ,大數(shù)據(jù)計算引擎貫穿我的整個職業(yè)生涯。我個人來說是比較幸運的,在每個階段都在做比較火的技術(shù),當時更多的是憑著自己的興趣和直覺在選擇技術(shù)類型?,F(xiàn)在回過頭來看我覺得需要從下面 3 個大的緯度來評估一項技術(shù)是否值得學(xué)習(xí)。?1、技術(shù)深度2、生態(tài)廣度3、進化能力?????

技術(shù)深度
技術(shù)深度是指這項技術(shù)的根基是否扎實,護城河是否夠?qū)拤蛏?,是否很容易被其他技術(shù)所替代。通俗的來說就是這項技術(shù)是否解決了其他技術(shù)所不能解決的有重要價值的問題。這里有兩個要點:

注:Spark Streaming 只能選擇搜索字詞,理論上這樣的對比是不嚴謹?shù)?。但作為趨勢,我們更關(guān)注的是其變化曲線,實際影響應(yīng)該不大。
生態(tài)廣度

當 Hadoop 剛出來的時候只有 2 個基本的組件:HDFS 和 MapReduce ,分別解決了海量存儲和分布式計算的問題。但隨著發(fā)展,需要解決的問題越來越復(fù)雜,HDFS 和 MapReduce 已經(jīng)不能很方便的解決一些復(fù)雜問題,這時候 Hadoop 的其他生態(tài)項目應(yīng)運而生,比如 Pig,Hive,HBase 等等從垂直領(lǐng)域生態(tài)這個角度解決了 Hadoop 不容易或者不能解決的問題。?Spark 亦是如此,一開始的 Spark 是要替換原來的 MapReduce 計算引擎,后來 Spark 發(fā)展了各種語言接口,各種上層框架,比如 Spark SQL,Spark Structured Streaming,MLlib,GraphX 等等,大大豐富了 Spark 的使用場景,擴展了Spark的垂直領(lǐng)域生態(tài)。Spark 對各種 Data Source 的支持,更是讓 Spark 這個計算引擎和存儲結(jié)成了聯(lián)盟,建立了強大的上下游生態(tài)系統(tǒng),為端到端的解決方案奠定了基礎(chǔ)。
我現(xiàn)在做的 Flink 項目的生態(tài)仍然處于起步階段,當時我加入阿里巴巴正不僅僅是看到了 Flink 作為流計算引擎的霸主地位,更是因為看到了 Flink 生態(tài)的機會。大家如果從我的職業(yè)生涯來看,會發(fā)現(xiàn)些許變化,我在從一開始專注于大數(shù)據(jù)的核心框架層慢慢在往周邊生態(tài)項目發(fā)展。一個主要的原因是我對整個大數(shù)據(jù)行業(yè)的判斷:大數(shù)據(jù)上半場戰(zhàn)斗集中在底層框架,目前已經(jīng)接近尾聲,未來的底層大數(shù)據(jù)生態(tài)圈中將不再有那么多的新的技術(shù)和框架,每個細分領(lǐng)域都將優(yōu)勝劣汰,走向成熟,更加集中化。下半場戰(zhàn)斗的重點講從底層走向上層,走向生態(tài)。之前的大數(shù)據(jù)創(chuàng)新更偏向于 IAAS 和 PAAS ,未來你將看到更多 SAAS 類型的大數(shù)據(jù)產(chǎn)品和創(chuàng)新。?

每次談到大數(shù)據(jù)的生態(tài),我都拿出上面這張圖。這張圖基本上把你日常需要處理的大數(shù)據(jù)場景都包括進來。從最左邊的數(shù)據(jù)生產(chǎn)者,到數(shù)據(jù)收集,數(shù)據(jù)處理,然后再到數(shù)據(jù)應(yīng)用(BI + AI)。你會發(fā)現(xiàn) Flink 可以應(yīng)用在每一個步驟。不僅涉及到大數(shù)據(jù),也涉及到 AI ,但是 Flink 的強項在于流計算處理,在其他領(lǐng)域的生態(tài)仍在起步階段,我個人正在做的工作就是完善 Flink 在上面這張圖上端到端的能力。???????進化能力
【1】:https://medium.com/@acmurthy/hadoop-is-dead-long-live-hadoop-f22069b264ac?Spark 項目就更不用多說了。Spark 經(jīng)過 14,15 年爆發(fā),現(xiàn)在已經(jīng)進入平穩(wěn)期。但是 Spark 仍在進化,仍在擁抱變化。Spark on K8s 就是 Spark 擁抱云原生的最好佐證?,F(xiàn)在 Spark 社區(qū)炙手可熱的Delta,MLFlow 更是 Spark 的強大的進化能力的佐證?,F(xiàn)在的 Spark 也不僅僅是當年要取代 MapReduce 的那個 Spark ,更多是一個適用于多種場景的通用計算引擎。?我從 18 年加入阿里巴巴到現(xiàn)在差不多 1 年半時間,在這一年半的時間了,我正好見證了 Flink 的進化能力。
首先 Flink 經(jīng)過幾個大版本的發(fā)布,融入了 Blink 的大部分功能,將 Flink SQL 的能力提升了一大截。
其次 Flink 對 K8s 的支持,對 Python 的支持,對 AI 的支持都在向人們證明這Flink自身強大的進化能力。
?小 Tips
除了以上的 3 大維度,在這里我還想分享下我在評估一項新技術(shù)時候的一些小技巧。
1、利用 Google trends 。Google trends 能很好的反映一項技術(shù)的發(fā)展勢頭,上面提到的趨勢圖很好的比較了 3 大流計算引擎 Flink , Spark Streaming 和 Storm ,我們不難得出結(jié)論:Flink 是流計算領(lǐng)域的王者。
2、查看 GitHub 上的awesome。一項技術(shù)受歡迎的一個指標是 GitHub 上的 awesome list,你可以看看這個 awesome list 的 GitHub star 數(shù)。此外你可以抽一個周末的時間看看這個 awesome list 上的內(nèi)容,因為上面基本上是關(guān)于這項技術(shù)的精華內(nèi)容,通過這些內(nèi)容你大致可以判斷出這項技術(shù)的價值。
3、看看技術(shù)網(wǎng)站上是否有一些技術(shù)布道者為這項技術(shù)背書(我個人經(jīng)常會看medium.com)。技術(shù)圈里通常有這樣一群人,他們對技術(shù)很執(zhí)著,也很有品位。如果一項技術(shù)真的很好,那么就會有技術(shù)布道者無償?shù)臑檫@項技術(shù)背書,分享如何這項技術(shù)的使用心得。
總結(jié)
每個人的時間都是有限的,在有限的時間里選擇一項值得投入的技術(shù)會變得尤為重要。
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
評論
圖片
表情
