兩年大數(shù)據(jù)開發(fā)工程師的經(jīng)驗(yàn)總結(jié)

2014-11-24    分類: 網(wǎng)站建設(shè)

今年廣州的六月,在經(jīng)歷了大雨的洗禮之后,一切都變得更加明朗起來,新的工作,新的人和事。懶惰讓我變得更焦慮,焦慮促使我進(jìn)步,程序員的焦慮大家應(yīng)該都有共同的感覺,時(shí)代的步伐太快了,在這個(gè)環(huán)境下的軟件開發(fā)一定會淘汰掉那些不懂得學(xué)習(xí),懶惰的人。

希望跟大家共勉。

今天呢,博主主要回顧這兩年來,在大數(shù)據(jù)行業(yè)公司從事大數(shù)據(jù)類的前端開發(fā)的工作。最近剛剛換了一份工作,把我的經(jīng)驗(yàn)稍作總結(jié)分享給大家,有什么建議大家在評論區(qū)踴躍。 謝謝。

今天的主題,主要是從大數(shù)據(jù)開發(fā)的角度,到大數(shù)據(jù)治理的必要性,再到圖形化建模的暢想,最后在數(shù)據(jù)質(zhì)量的把關(guān),然后到大數(shù)據(jù)可視化的應(yīng)用,博主總結(jié)兩年的見聞,和我學(xué)習(xí)的成果,也不知理解有無偏差吧,希望大家能給出建議。

一、大數(shù)據(jù)開發(fā)
大數(shù)據(jù)開發(fā),有幾個(gè)階段:

1.數(shù)據(jù)采集【原始數(shù)據(jù)】
2.數(shù)據(jù)匯聚【經(jīng)過清洗合并的可用數(shù)據(jù)】
3.數(shù)據(jù)轉(zhuǎn)換和映射【經(jīng)過分類,提取的專項(xiàng)主題數(shù)據(jù)】
4.數(shù)據(jù)應(yīng)用 【提供api 智能系統(tǒng) 應(yīng)用系統(tǒng)等】
對大數(shù)據(jù)以及人工智能概念都是模糊不清的,該按照什么線路去學(xué)習(xí),學(xué)完往哪方面發(fā)展,想深入了解,想學(xué)習(xí)的同學(xué)歡迎加入大數(shù)據(jù)學(xué)習(xí)交流裙:%52%21【89】最后307,有大量干貨(零基礎(chǔ)以及進(jìn)階的經(jīng)典實(shí)戰(zhàn))分享給大家,并且有清華大學(xué)畢業(yè)的資深大數(shù)據(jù)講師給大家免費(fèi)授課,給大家分享目前國內(nèi)最完整的大數(shù)據(jù)高端實(shí)戰(zhàn)實(shí)用學(xué)習(xí)流程體系 。從java和linux入手,其后逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相關(guān)知識一一分享!

二、數(shù)據(jù)采集
數(shù)據(jù)采集有線上和線下兩種方式,線上一般通過爬蟲、通過抓取,或者通過已有應(yīng)用系統(tǒng)的采集,在這個(gè)階段,我們可以做一個(gè)大數(shù)據(jù)采集平臺,依托自動爬蟲(使用python或者nodejs制作爬蟲軟件),ETL工具、或者自定義的抽取轉(zhuǎn)換引擎,從文件中、數(shù)據(jù)庫中、網(wǎng)頁中專項(xiàng)爬取數(shù)據(jù),如果這一步通過自動化系統(tǒng)來做的話,可以很方便的管理所有的原始數(shù)據(jù),并且從數(shù)據(jù)的開始對數(shù)據(jù)進(jìn)行標(biāo)簽采集,可以規(guī)范開發(fā)人員的工作。并且目標(biāo)數(shù)據(jù)源可以更方便的管理。

數(shù)據(jù)采集的難點(diǎn)在于多數(shù)據(jù)源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。還有本地文件、excel統(tǒng)計(jì)文檔、甚至是doc文件。如何將他們規(guī)整的、有方案的整理進(jìn)我們的大數(shù)據(jù)流程中也是必不可缺的一環(huán)。

三、數(shù)據(jù)匯聚
數(shù)據(jù)的匯聚是大數(shù)據(jù)流程最關(guān)鍵的一步,你可以在這里加上數(shù)據(jù)標(biāo)準(zhǔn)化,你也可以在這里做數(shù)據(jù)清洗,數(shù)據(jù)合并,還可以在這一步將數(shù)據(jù)存檔,將確認(rèn)可用的數(shù)據(jù)經(jīng)過可監(jiān)控的流程進(jìn)行整理歸類,這里產(chǎn)出的所有數(shù)據(jù)就是整個(gè)公司的數(shù)據(jù)資產(chǎn)了,到了一定的量就是一筆固定資產(chǎn)。

數(shù)據(jù)匯聚的難點(diǎn)在于如何標(biāo)準(zhǔn)化數(shù)據(jù),例如表名標(biāo)準(zhǔn)化,表的標(biāo)簽分類,表的用途,數(shù)據(jù)的量,是否有數(shù)據(jù)增量?,數(shù)據(jù)是否可用? 需要在業(yè)務(wù)上下很大的功夫,必要時(shí)還要引入智能化處理,例如根據(jù)內(nèi)容訓(xùn)練結(jié)果自動打標(biāo)簽,自動分配推薦表名、表字段名等。還有如何從原始數(shù)據(jù)中導(dǎo)入數(shù)據(jù)等。

四、數(shù)據(jù)轉(zhuǎn)換和映射
經(jīng)過數(shù)據(jù)匯聚的數(shù)據(jù)資產(chǎn)如何提供給具體的使用方使用?在這一步,主要就是考慮數(shù)據(jù)如何應(yīng)用,如何將兩個(gè)?三個(gè)?數(shù)據(jù)表轉(zhuǎn)換成一張能夠提供服務(wù)的數(shù)據(jù)。然后定期更新增量。

經(jīng)過前面的那幾步,在這一步難點(diǎn)并不太多了,如何轉(zhuǎn)換數(shù)據(jù)與如何清洗數(shù)據(jù)、標(biāo)準(zhǔn)數(shù)據(jù)無二,將兩個(gè)字段的值轉(zhuǎn)換成一個(gè)字段,或者根據(jù)多個(gè)可用表統(tǒng)計(jì)出一張圖表數(shù)據(jù)等等。

五、數(shù)據(jù)應(yīng)用
數(shù)據(jù)的應(yīng)用方式很多,有對外的、有對內(nèi)的,如果擁有了前期的大量數(shù)據(jù)資產(chǎn),通過restful API提供給用戶?或者提供流式引擎 KAFKA 給應(yīng)用消費(fèi)? 或者直接組成專題數(shù)據(jù),供自己的應(yīng)用查詢?這里對數(shù)據(jù)資產(chǎn)的要求比較高,所以前期的工作做好了,這里的自由度很高。

總結(jié):大數(shù)據(jù)開發(fā)的難點(diǎn)
大數(shù)據(jù)開發(fā)的難點(diǎn)主要是監(jiān)控,怎么樣規(guī)劃開發(fā)人員的工作?開發(fā)人員隨隨便便采集了一堆垃圾數(shù)據(jù),并且直連數(shù)據(jù)庫。 短期來看,這些問題比較小,可以矯正。 但是在資產(chǎn)的量不斷增加的時(shí)候,這就是一顆定時(shí)炸彈,隨時(shí)會引爆,然后引發(fā)一系列對數(shù)據(jù)資產(chǎn)的影響,例如數(shù)據(jù)混亂帶來的就是數(shù)據(jù)資產(chǎn)的價(jià)值下降,客戶信任度變低。

六、如何監(jiān)控開發(fā)人員的開發(fā)流程?
答案只能是自動化平臺,只有自動化平臺能夠做到讓開發(fā)人員感到舒心的同時(shí),接受新的事務(wù),拋棄手動時(shí)代。

這就是前端開發(fā)工程師在大數(shù)據(jù)行業(yè)中所占有的優(yōu)勢點(diǎn),如何制作交互良好的可視化操作界面?如何將現(xiàn)有的工作流程、工作需求變成一個(gè)個(gè)的可視化操作界面? 可不可以使用智能化取代一些無腦的操作?

從一定意義上來說,大數(shù)據(jù)開發(fā)中,我個(gè)人認(rèn)為前端開發(fā)工程師占據(jù)著更重要的位置,僅次于大數(shù)據(jù)開發(fā)工程師。至于后臺開發(fā),系統(tǒng)開發(fā)是第三位的。好的交互至關(guān)重要,如何轉(zhuǎn)換數(shù)據(jù),如何抽取數(shù)據(jù),一定程度上,都是有先人踩過的坑,例如kettle,再例如kafka,pipeline ,解決方案眾多。關(guān)鍵是如何交互? 怎么樣變現(xiàn)為可視化界面? 這是一個(gè)重要的課題。

現(xiàn)有的各位朋友的側(cè)重點(diǎn)不同,認(rèn)為前端的角色都是可有可無,我覺得是錯(cuò)誤的,后臺的確很重要,但是后臺的解決方案多。 前端實(shí)際的地位更重要,但是基本無開源的解決方案,如果不夠重視前端開發(fā), 面臨的問題就是交互很爛,界面爛,體驗(yàn)差,導(dǎo)致開發(fā)人員的排斥,而可視化這塊的知識點(diǎn)眾多,對開發(fā)人員的素質(zhì)要求更高。

七、大數(shù)據(jù)治理
大數(shù)據(jù)治理應(yīng)該貫穿整個(gè)大數(shù)據(jù)開發(fā)流程,它有扮演著重要的角色,淺略的介紹幾點(diǎn):

1. 數(shù)據(jù)血緣

數(shù)據(jù)血緣應(yīng)該是大數(shù)據(jù)治理的入口,通過一張表,能夠清晰看見它的來龍去脈,字段的拆分,清洗過程,表的流轉(zhuǎn),數(shù)據(jù)的量的變化,都應(yīng)該從數(shù)據(jù)血緣出發(fā),我個(gè)人認(rèn)為,大數(shù)據(jù)治理整個(gè)的目標(biāo)就是這個(gè)數(shù)據(jù)血緣,從數(shù)據(jù)血緣能夠有監(jiān)控全局的能力。
數(shù)據(jù)血緣是依托于大數(shù)據(jù)開發(fā)過程的,它包圍著整個(gè)大數(shù)據(jù)開發(fā)過程,每一步開發(fā)的歷史,數(shù)據(jù)導(dǎo)入的歷史,都應(yīng)該有相應(yīng)的記錄,數(shù)據(jù)血緣在數(shù)據(jù)資產(chǎn)有一定規(guī)模時(shí),基本必不可少。


2. 數(shù)據(jù)質(zhì)量審查

數(shù)據(jù)開發(fā)中,每一個(gè)模型(表)創(chuàng)建的結(jié)束,都應(yīng)該有一個(gè)數(shù)據(jù)質(zhì)量審查的過程,在體系大的環(huán)境中,還應(yīng)該在關(guān)鍵步驟添加審批,例如在數(shù)據(jù)轉(zhuǎn)換和映射這一步,涉及到客戶的數(shù)據(jù)提供,應(yīng)該建立一個(gè)完善的數(shù)據(jù)質(zhì)量審查制度,幫助企業(yè)第一時(shí)間發(fā)現(xiàn)數(shù)據(jù)存在的問題,在數(shù)據(jù)發(fā)生問題時(shí)也能第一時(shí)間看到問題的所在,并從根源解決問題,而不是盲目的通過連接數(shù)據(jù)庫一遍一遍的查詢sql。


3. 全平臺監(jiān)控
監(jiān)控呢,其實(shí)包含了很多的點(diǎn),例如應(yīng)用監(jiān)控,數(shù)據(jù)監(jiān)控,預(yù)警系統(tǒng),工單系統(tǒng)等,對我們接管的每個(gè)數(shù)據(jù)源、數(shù)據(jù)表都需要做到實(shí)時(shí)監(jiān)控,一旦發(fā)生殆機(jī),或者發(fā)生停電,能夠第一時(shí)間電話或者短信通知到具體負(fù)責(zé)人,這里可以借鑒一些自動化運(yùn)維平臺的經(jīng)驗(yàn)的,監(jiān)控約等于運(yùn)維,好的監(jiān)控提供的數(shù)據(jù)資產(chǎn)的保護(hù)也是很重要的。

4. 大數(shù)據(jù)可視化
大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn),大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn),大數(shù)據(jù)可視化不僅僅是圖表的展現(xiàn),重要的事說三遍,大數(shù)據(jù)可視化歸類的數(shù)據(jù)開發(fā)中,有一部分屬于應(yīng)用類,有一部分屬于開發(fā)類。

在開發(fā)中,大數(shù)據(jù)可視化扮演的是可視化操作的角色, 如何通過可視化的模式建立模型? 如何通過拖拉拽,或者立體操作來實(shí)現(xiàn)數(shù)據(jù)質(zhì)量的可操作性? 畫兩個(gè)表格加幾個(gè)按鈕實(shí)現(xiàn)復(fù)雜的操作流程是不現(xiàn)實(shí)的。

在可視化應(yīng)用中,更多的也有如何轉(zhuǎn)換數(shù)據(jù),如何展示數(shù)據(jù),圖表是其中的一部分,平時(shí)更多的工作還是對數(shù)據(jù)的分析,怎么樣更直觀的表達(dá)數(shù)據(jù)?這需要對數(shù)據(jù)有深刻的理解,對業(yè)務(wù)有深刻的理解,才能做出合適的可視化應(yīng)用。

5. 智能的可視化平臺
可視化是可以被再可視化的,例如superset,通過操作sql實(shí)現(xiàn)圖表,有一些產(chǎn)品甚至能做到根據(jù)數(shù)據(jù)的內(nèi)容智能分類,推薦圖表類型,實(shí)時(shí)的進(jìn)行可視化開發(fā),這樣的功能才是可視化現(xiàn)有的發(fā)展方向,我們需要大量的可視化內(nèi)容來對公司發(fā)生產(chǎn)出,例如服裝行業(yè),銷售部門:進(jìn)貨出貨,顏色搭配對用戶的影響,季節(jié)對選擇的影響 生產(chǎn)部門:布料價(jià)格走勢? 產(chǎn)能和效率的數(shù)據(jù)統(tǒng)計(jì)? 等等,每一個(gè)部門都可以有一個(gè)數(shù)據(jù)大屏,可以通過平臺任意規(guī)劃自己的大屏,所有人每天能夠關(guān)注到自己的領(lǐng)域動向,這才是大數(shù)據(jù)可視化應(yīng)用的具體意義。

八、寫在最后
洋洋灑灑寫了很多,對我近兩年的所見所聞所學(xué)所想進(jìn)行了一些總結(jié),有些童鞋會問,不是技術(shù)么?為什么沒有代碼? 博主要說,代碼博主要學(xué)的,要寫的,但是與工作無關(guān),代碼是我個(gè)人的技能,個(gè)人傍身,實(shí)現(xiàn)個(gè)人想法的重要技能。 但是,代碼與業(yè)務(wù)的關(guān)系不大,在工作中,懂業(yè)務(wù)的人代碼寫的更好,因?yàn)樗拦鞠胍裁础?如果你業(yè)務(wù)很差,那也沒關(guān)系,你代碼好就行了呀,根據(jù)別人的交代干活,也是很不錯(cuò)的。技術(shù)和業(yè)務(wù)是相輔相成的,稍后博主總結(jié)代碼的精進(jìn)。

寫完了,博主的焦慮一絲未少,我的代碼規(guī)范性不夠,目前技術(shù)棧js、java、nodejs、python 。

主業(yè)js熟練度80%吧,正在研究阮一峰的es6(看的差不多)和vuejs的源碼(有點(diǎn)擱淺),vuejs算是中等,css和布局方面可以說還可以,另外d3.js,go.js都是處于會用,能干活。 nodejs呢,express和koa無問題,看過一些express的源代碼,還寫過兩個(gè)中間件。

java、python都處于能做項(xiàng)目的程度,目前也不想抽很多精力去深入它們,就想要保持在想用能用的地步吧。

未來的幾年,博主努力工作,多學(xué)學(xué)人工智能、大數(shù)據(jù)開發(fā)的知識,未來這塊應(yīng)該還有一些熱度的吧。

最后,和大家共勉,更希望大家能給一些規(guī)劃建議,三人行,必有我?guī)熝伞?

網(wǎng)站欄目:兩年大數(shù)據(jù)開發(fā)工程師的經(jīng)驗(yàn)總結(jié)
分享鏈接:http://www.bm7419.com/news/16125.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、微信公眾號全網(wǎng)營銷推廣、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化