網易NDH大數據平臺使用經驗
網易NDH大數據平臺是基于Hadoop、HDFS、Hive、Yarn、Spark、Impala、kerberos等開源組件進行二次開發的大數據套件,具有數據集成、開發運維、規范建模、數據治理、數據服務等功能的一站式數據開發治理平臺。
其主要技術架構圖如下:

主要功能包括以下:

以下是根據實際使用該平臺的經驗進行的一些總結。
1、自助分析中,既可以查看大數據平臺的數據,也可以查看數據源的數據。一般在數據中臺或者數據倉庫中發現異常數據時,需要直連數據源進行溯源排查。有了該功能,可以無需安裝數據源客戶端軟件,即可寫SQL進行排查。但是該功能只支持少量的數據庫類型,如Oracle,Mysql等(未來應該會支持越來越多的主流數據庫類型)。
2、數據集成在并發量大時會頻發異常,比如對Mysql進行采集,同時并發采集5張表,可能會發生數據寫入hdfs臨時文件load出問題,同時并發量大時也會對源庫的讀操作產生壓力,造成數據庫連接中斷異常。
3、對大數據平臺中的結構化數據進行分析時,優先使用自帶的Impala引擎,查詢速度快。在進行離線數據任務開發時,優先選擇Spark引擎,執行速度快。
4、平臺所有的元數據放在自帶的Mysql數據庫中,因此可以通過SQL語句,查詢離線跑批任務的執行情況,如運行開始時間,是否正常等。結合腳本程序,可以對日常跑批自行進行監控提醒。
5、數據地圖功能可以方便的查看表的元數據信息,如字段名、字段注釋等。數據地圖中,可以設置表的主鍵,但是事實上該主鍵約束并未生效,主鍵列仍然可以存放重復值。因此若要寫檢核程序,判斷主鍵列是否有重復值。
6、離線開發中,除了基礎的寫SQL,還支持嵌套流、選擇節點、輪詢節點,這樣可以實現復雜的流程控制。另外,還支持調用外部script(shell or perl),此外還支持調用Spark腳本任務(java or python)。
7、離線開發支持“提交上線”功能,這樣可以直接基于該套件記錄每次的改動,實現版本管理的功能。
8,支持將用戶創建的自定義UDF函數,通過將Jar包上傳至平臺中,完成在UDF studio進行注冊登記,后續平臺使用者可以直接使用UDF中的函數。
作為公司數據治理及研發人員,在22年參與了網易NDH大數據平臺的軟件搭建,之后基于該平臺進行全司數據資產歸集,并針對不同業務主題,開發了多個數據集市供報表及BI訪問,同時還開發了數據API服務。整體感覺該平臺還是可靠的。平臺剛搭建結束進入使用階段時,會時不時出現一些不穩定不可用問題,后續供應商不斷進行升級優化,截止目前,平臺的可靠性已經大大的提升。不過目前生產環境中表的最大規模在億級左右,還未真正在大數據體量下測試過平臺。希望未來有機會在真正的大數據場景下體驗下大數據平臺的厲害。
浙公網安備 33010602011771號