十年阿里大數據高級架構師分享:如何成為一名優秀的大數據架構師


十年阿里大數據高級架構師分享:如何成為一名優秀的大數據架構師

什麼是大數據架構師

圍繞大數據系平臺系統級的研發人員, 熟練Hadoop、Spark、Storm等主流大數據平臺的核心框架。深入掌握如何編寫MapReduce的作業及作業流的管理完成對數據的計算,並能夠使用Hadoop提供的通用算法, 熟練掌握Hadoop整個生態系統的組件如: Yarn,HBase、Hive、Pig等重要組件,能夠實現對平臺監控、輔助運維繫統的開發

要想成為架構師這幾點你必須關注!

架構不是一個職業而是一種能力,每一種架構師只不過是在不同的領域裡面使用不同的技術,沒有什麼可對比,就好比如你問一個籃球明星和一個足球明星有什麼區別一樣!

01 架構師需要考慮四個問題

1. 確定系統幹什麼不幹什麼,也就是說系統的邊界在哪裡?

2. 確定架構內部的模塊與模塊之間的關係,以及模塊與外部之間的關係是什麼?

3. 架構確定以後,有能力去指導開發去繼續設計和演化,如果開發設計和演化出來的東西和架構不一致也是有問題的。

4. 確定非功能性需求,安全性,可擴展性,可用性,可維護性。


十年阿里大數據高級架構師分享:如何成為一名優秀的大數據架構師

Java架構方向人才

● 系統的技術選型和可行性評估;

你這可以理解為:你家的房子戶型設置,硬件軟件配置必須要有自己的經驗,裝修完之後總得適用,不浪費成本,偏激一點總不能到處是櫃子。

● 分佈式技術框架的把控;

你這可以理解為:你家的櫃子可以做出多種組合,你家的被子是放在A櫃,枕頭放B櫃,床單放C櫃,這得看你的劃分用途。

● 深入發掘和分析業務需求,重點模塊的設計、方案評審與技術支持,技術難點攻堅,應用系統分佈式技術的落地,撰寫技術方案和系統設計,最終完成編碼工作;

你這可以理解為:櫃子可以用來放東西,也可以用來拼裝;如果組合櫃,那可以拼出一些藝術品,那就看你的空間思維了。

● 針對產品性能和架構優化,確保系統的架構質量;

你這可以理解為:櫃子如果沒有按照之前圖紙來規劃安裝擺放,你就會發現有些地方是可以改進的,及時完全參照圖紙,你還是會想如何改進,這就會產生一些小想法;你可能會想如何裝更多的物品,如何方便取物,如何整理方便。

● 優秀的抽象設計能力,思路清晰,善於思考,能獨立分析和解決問題及編寫解決方案;

你這可以理解為:哇,你家的裝修真棒,這時你的鄰居,或親戚朋友想參考你的想法,你可以提供一整套安裝配置方案,現在你就是專家,因為他們想利用空間,發揮你的空間想象力。需要你來指導裝修,提高裝修質量,減少控制裝修成本等等。

● 熟悉linux,能熟練應用shell/python等腳本語言;

● 紮實的Java基礎知識,熟悉IO、多線程及併發技術;

● 熟練掌握redis、mongodb、netty、kafka等中間件;

● 對JVM原理有紮實的理解,對服務器端設計和編程有深入理解;

你這可以理解為:你對基建設施瞭如指掌,編譯原理很清楚,恭喜你,你已經超過我了。

● 算法基礎紮實,熟悉常見的數據結構,熟悉常用的設計模式,深入理解分佈式算法和主流分佈式系統,瞭解主流消息隊列工作原理;

你這可以理解為:排序,索引,存儲,去重,平滑等一些算法有深入瞭解,恭喜你,你已經是數學專家級了。

● 有豐富的分佈式、高併發、高負載、高可用性系統設計經驗,熟悉分佈式緩存、消息等機制。


十年阿里大數據高級架構師分享:如何成為一名優秀的大數據架構師

大數據架構方向人才

● 針對大數據平臺的設計和開發制定數據架構規範,進行核心代碼編寫;

你這可以理解為:有設計圖紙的能力,能夠指導各個組件安裝部署,以及數據的數據抽象能力。

● 針對數據基礎架構和數據處理體系的升級和優化,技術難題攻關,持續提升核心系統性能,保證系統的安全、穩定、高效運行;

你這可以理解為:數據的價值,在於你的抽取採集能力是否高深,是否便於加工,標註。各組件的穩定性,兼容性,是否有預警,在於你的規劃和監控接口是否到位。

● 大規模數據實時化、大數據技術容器化、私有云實施方案、數據模型規範化等方面根據不同項目的技術發展路線;

你這可以理解為:引入 Docker 的鏡像機制來完善自己的容器;同時計算能力、數據結構抽象、定義,要用自己的風格和規範。能用最簡單的配置,迅速跑起來流式streaming或離線處理spark程序.

● 跟蹤大數據相關領域的技術趨勢,競爭對手的產品、技術動態;

● 大數據平臺的穩定性和性能優化及技術攻關;

● 產品研發過程中關鍵設計的把關和研發;

● 精通大數據生態圈主流技術和產品,如Hive、Storm、Flink、Spark,ELK、Kafka,Zookeeper、Yarn,presto,Hue等,對Spark分佈式計算的底層原理有深度理解,對複雜系統的性能優化和穩定性的一線實戰經驗;

● 精通實時數據倉庫設計,深刻理解MR運行原理和機制,能進行任務執行效率的優化,熟悉開源數據交換工具如sqoop,streamset,kettle,datax等;

● 熟悉elasticsearch、Lucene、Solr、Kylin、Phoenix、Alluxio等相關技術;

● 具有規劃和決策能力,善於捕捉業務需求、架構設計存在的問題,並能給出有效的解決措施和方法 。

● 數據預測,預警,人工智能,圖像識別,智能語音,物聯網數據採集,標註等。線性計算,神經網絡,知識圖譜,都要有自己的項目,而且能迅速組建團隊,成就你的客戶,你就是未來的行家和贏家。

兩者側重點不同

Java架構

n 開發語言

n 分佈式,高可用

n 設計模式

n 支撐業務的系統架構或者工具集

大數據架構

n 不侷限開發語言,有Java,Scala,Python,Go等更有裨益

n 人工智能,商業智能,數據挖掘

n 離線,實時,高效率,高可用

n 結構化數據,半結構化數據

n Hadoop生態圈

n 使用的模型越來越複雜,計算量指數級上升

n 組件集

以上,作為一名大數據架構師,需要掌握的基礎技能大概就這些,以上這些技能的養成不是一朝一夕,所以說被取代也是極其不易的,本身大數據分析並不是一蹴而就的事情,而是需要你日積月累的數據處理經驗。什麼樣的人會被輕易替代呢?不求甚解,似懂非懂,幹了多少年還看不透本質,遇到問題仍然懵懂不解茫然無措,整日坐著重複性工作的人,才有可能被替代,也激素是所謂的青春飯,反觀大數據,掌握的技能越多。

數據分析行業絕對是一個朝陽行業,特別是互聯網的不斷髮展,一個不談數據的公司根本不叫互聯網公司,大數據架構師已經成為一個互聯網公司必備的職位了。


分享到:


相關文章: