大數(shù)據(jù)文摘作品,轉(zhuǎn)載要求見(jiàn)文末?
作者 |?Maxime Beauchemin
編譯團(tuán)隊(duì) | Yawei Xia,邱猛畦攘,賴(lài)小娟,張禮俊
2011的時(shí)候年我以商業(yè)智能工程師的身份加入臉書(shū)(Facebook),但在13年離開(kāi)時(shí)我的職位卻是數(shù)據(jù)工程師菠劝。這期間我并沒(méi)有升職也沒(méi)有被調(diào)到一個(gè)新職位上,我只是意識(shí)到我們的工作已經(jīng)超越了傳統(tǒng)商業(yè)智能的范疇乙埃,并且我們?yōu)樽约簞?chuàng)造的這個(gè)角色屬于一個(gè)全新的領(lǐng)域闸英。
由于我的團(tuán)隊(duì)處在這種轉(zhuǎn)變的最前沿,我們正在培養(yǎng)新的技能介袜、新的做事風(fēng)格甫何、開(kāi)發(fā)新工具,并基本放棄了舊有的方法遇伞。我們是這個(gè)領(lǐng)域的開(kāi)拓者辙喂。我們是數(shù)據(jù)工程師! ?
?什么是數(shù)據(jù)工程鸠珠?
▼
現(xiàn)在巍耗,當(dāng)數(shù)據(jù)科學(xué)領(lǐng)域正在經(jīng)歷它的青春期時(shí),數(shù)據(jù)工程在肯定和定義它自己渐排,同時(shí)它也像數(shù)據(jù)科學(xué)的“同胞兄弟”一樣也經(jīng)歷著類(lèi)似的事情炬太。數(shù)據(jù)工程一邊借鑒著數(shù)據(jù)科學(xué),一邊也從數(shù)據(jù)科學(xué)的對(duì)立面去定義它自己驯耻,找到它的身份亲族。
就像數(shù)據(jù)科學(xué)家似的,數(shù)據(jù)工程師也編程可缚。他們善于分析霎迫,并且對(duì)數(shù)據(jù)可視化感興趣。但他們也不像數(shù)據(jù)科學(xué)家帘靡,數(shù)據(jù)工程師受到一位更成熟的“父親”– 軟件工程師 – 啟發(fā)知给。數(shù)據(jù)工程師創(chuàng)造工具、基礎(chǔ)描姚、框架和服務(wù)涩赢。事實(shí)上,相比于數(shù)據(jù)科學(xué)家轩勘,數(shù)據(jù)工程師可以說(shuō)是更接近于軟件工程師谒主。
聯(lián)系到過(guò)去已有的職位,數(shù)據(jù)工程領(lǐng)域可以被當(dāng)作是從軟件工程衍生出的赃阀,包含了商業(yè)智能和數(shù)據(jù)倉(cāng)儲(chǔ)的一個(gè)超集霎肯。同時(shí)擎颖,這個(gè)學(xué)科也整合了“大數(shù)據(jù)”分布系統(tǒng)相關(guān)的特色,以及拓展了的Hadoop生態(tài)系統(tǒng)观游、流處理搂捧、大規(guī)模計(jì)算有關(guān)的概念。
在一些還沒(méi)有正式數(shù)據(jù)基礎(chǔ)設(shè)施團(tuán)隊(duì)的小型公司里懂缕,數(shù)據(jù)工程方面的工作也涵蓋了建設(shè)和運(yùn)作數(shù)據(jù)基礎(chǔ)設(shè)施允跑。具體任務(wù)類(lèi)似于建設(shè)和運(yùn)作像Hadoop/Hive/HBase、Spark之類(lèi)的平臺(tái)搪柑。注意到在更小的環(huán)境里聋丝,人們傾向于使用由亞馬遜、Databricks提供的托管服務(wù)工碾,或者從Cloudera弱睦、Hortonworks這樣的公司得到技術(shù)支持。這樣的小企業(yè)本質(zhì)上是將數(shù)據(jù)工程轉(zhuǎn)包給了其他公司渊额。但在更大的環(huán)境里况木,企業(yè)對(duì)數(shù)據(jù)基礎(chǔ)設(shè)施團(tuán)隊(duì)的需求會(huì)不斷增加,這使得它們更傾向于創(chuàng)建正式的職位來(lái)負(fù)責(zé)這類(lèi)工作旬迹。在那些組織里火惊,自動(dòng)化某些數(shù)據(jù)工程過(guò)程的任務(wù)一般是由數(shù)據(jù)工程和數(shù)據(jù)基礎(chǔ)設(shè)施團(tuán)隊(duì)負(fù)責(zé)。這些團(tuán)隊(duì)通常也會(huì)合作解決一些更高層次的問(wèn)題奔垦。
隨著數(shù)據(jù)工程角色的工程一面在范圍上不斷提升屹耐,舊有商業(yè)工程的一些方面慢慢變成次要的了。創(chuàng)建并維護(hù)產(chǎn)品組合報(bào)告和面板并不是一個(gè)數(shù)據(jù)工程師的主要關(guān)注重點(diǎn)了椿猎。我們現(xiàn)在有了更好的自助工具惶岭,憑借這些工具,數(shù)據(jù)科學(xué)家和廣義上的“信息工作者”對(duì)數(shù)據(jù)的理解能力正在提高鸵贬,他們也能自主地處理數(shù)據(jù)消耗資料。
?數(shù)據(jù)提取脖捻、轉(zhuǎn)換?
?和加載方式正在改變?
▼
我們也觀察到一種普遍的轉(zhuǎn)變阔逼,就是從拖拽ETL(提取、轉(zhuǎn)換和加載)工具轉(zhuǎn)向一種更編程化的方式地沮。在一些平臺(tái)嗜浮,如Informatica、IBM Datastage摩疑、Cognos危融、AbInitio或者微軟 SSIS,上面的產(chǎn)品知識(shí)在現(xiàn)代的數(shù)據(jù)工程師之中并不普及雷袋。伴隨著對(duì)編程或結(jié)構(gòu)驅(qū)動(dòng)的平臺(tái)比如Airflow吉殃、Oozie、Azkabhan或Luigi的理解,這些產(chǎn)品知識(shí)并正在被更一般的軟件工程技術(shù)所取代蛋勺。同時(shí)瓦灶,發(fā)展和管理他們自己的職業(yè)規(guī)劃,對(duì)工程師來(lái)說(shuō)也是相當(dāng)普遍的抱完。
我們可以找到很多理由來(lái)解釋為什么我們不使用拖放工具來(lái)開(kāi)發(fā)復(fù)雜的軟件:最終贼陶,計(jì)算機(jī)編碼對(duì)軟件來(lái)說(shuō)才是最佳的抽象和提煉方式。雖然對(duì)這個(gè)主題的討論超出了本文的范圍巧娱,但是我們很容易就能推斷出碉怔,同樣的理由也適用于編寫(xiě)ETL,正如適用于其他任何一款軟件禁添。編碼允許任意水平的抽象撮胧,允許以熟悉的方式進(jìn)行所有邏輯操作,和源代碼管理結(jié)合地很好上荡,也易于進(jìn)行版本控制和眾人合作趴樱。在數(shù)據(jù)處理的歷史上,ETL工具演化成使用圖形界面似乎是走了條彎路酪捡。當(dāng)然叁征,會(huì)有其他有趣的博客來(lái)討論這個(gè)問(wèn)題。
讓我們重點(diǎn)強(qiáng)調(diào)一下逛薇,傳統(tǒng)ETL工具做的抽象提煉是偏離目標(biāo)的捺疼。不可否認(rèn),我們對(duì)數(shù)據(jù)處理復(fù)雜性的提煉永罚、計(jì)算和儲(chǔ)存有需要啤呼,但我認(rèn)為解決的方式絕不是將ETL的程序要素(數(shù)據(jù)源/目標(biāo)、集成呢袱、過(guò)濾……)塑造成一個(gè)拖放的樣式官扣。我們需要的對(duì)數(shù)據(jù)的抽象提煉是更高層次的。舉個(gè)例子羞福,在現(xiàn)代數(shù)據(jù)環(huán)境里我們所需要的抽象是在一種A或B測(cè)試框架下的實(shí)驗(yàn)的結(jié)構(gòu):試驗(yàn)是什么惕蹄?試驗(yàn)的相關(guān)處理是什么?多少比例的使用者是被試者治专?每個(gè)試驗(yàn)期望去影響的指標(biāo)有哪些卖陵?試驗(yàn)何時(shí)生效?在這個(gè)例子里张峰,我們有一個(gè)接收精準(zhǔn)泪蔫、高水平輸入,能運(yùn)轉(zhuǎn)復(fù)雜統(tǒng)計(jì)計(jì)算并傳遞計(jì)算結(jié)果的框架結(jié)構(gòu)喘批。我們期望每輸入一條新試驗(yàn)條目撩荣,都能有一次計(jì)算铣揉,并且能得到計(jì)算結(jié)果。值得注意的是婿滓,在這個(gè)例子中老速,進(jìn)行抽象所需的輸入?yún)?shù)和傳統(tǒng)ETL工具提供的是不同的。同時(shí)凸主,在拖拽軟件界面里建立這樣的抽象是很難辦到的橘券。
對(duì)現(xiàn)代數(shù)據(jù)工程師來(lái)說(shuō),傳統(tǒng)的ETL工具很大程度上已經(jīng)過(guò)時(shí)了卿吐,因?yàn)檫壿嫴荒鼙痪幋a表達(dá)旁舰。因此,我們需要的抽象不能被這些工具直觀表達(dá)出來(lái)嗡官。當(dāng)我們已經(jīng)知道數(shù)據(jù)工程師的角色主要包括定義ETL箭窜,也知道需要新的一套工具和方法論,我們就能斷言這些將迫使這門(mén)學(xué)科去徹底重構(gòu)它自己衍腥。新的工作棧磺樱、新的工具、新的一套約束條件婆咸,在很多情況下竹捉,也意味著新的一代人。
?數(shù)據(jù)建模正在改變?
▼
典型的數(shù)據(jù)建模技術(shù)尚骄,比如“星模型(Star Schema)”就是一個(gè)傳統(tǒng)的块差、定義清晰的數(shù)據(jù)建模手段。這樣的建模手段是為和數(shù)據(jù)倉(cāng)庫(kù)相連的分析工作服務(wù)的倔丈。但今時(shí)不同往日了憨闰,傳統(tǒng)最佳的數(shù)據(jù)倉(cāng)儲(chǔ)手段的地基正在慢慢松動(dòng)。存儲(chǔ)和計(jì)算比過(guò)去任何時(shí)候都要廉價(jià)需五,并且隨著能夠線(xiàn)性擴(kuò)展的分布式數(shù)據(jù)庫(kù)的出現(xiàn)鹉动,更稀缺的資源是工程時(shí)間。
以下是在數(shù)據(jù)建模技術(shù)上觀察到的一些變化:
更進(jìn)一步的逆規(guī)范化:在多個(gè)維度上維持代理關(guān)鍵字(“surrogate keys”數(shù)據(jù)庫(kù)名詞宏邮,用于維度表和事實(shí)表的連接)是不容易的泽示,這會(huì)使得事實(shí)表格不易閱讀。在事實(shí)表中使用自然的或人可讀的關(guān)鍵字和維度特征正變得更加普遍蜀铲,這減少了對(duì)昂貴連接的需要边琉。昂貴的連接對(duì)分布式數(shù)據(jù)庫(kù)來(lái)說(shuō)是個(gè)沉重的負(fù)擔(dān)属百。同時(shí)我也注意到记劝,在序列化格式(如Parquet或ORC)或在數(shù)據(jù)引擎(如Vertica)中的對(duì)編碼和壓縮的支持,解決了絕大部分經(jīng)常和逆規(guī)范化聯(lián)系在一起的性能損失的問(wèn)題族扰。那些系統(tǒng)已經(jīng)具有自動(dòng)地為存儲(chǔ)規(guī)整數(shù)據(jù)的功能厌丑。
BLOBS (“binary large object”定欧,二進(jìn)制大對(duì)象):現(xiàn)代數(shù)據(jù)庫(kù)通過(guò)本地類(lèi)型和功能正在為BLOB提供越來(lái)越大的支持。這為數(shù)據(jù)建模者的“劇本”開(kāi)啟了新“劇情”砍鸠。并且,這樣的支持也允許事實(shí)表在需要的時(shí)候一次性存儲(chǔ)多樣的粒度(“grain”耕驰,數(shù)據(jù)庫(kù)名詞)爷辱。
動(dòng)態(tài)模型:隨著文件存儲(chǔ)日益流行和對(duì)BLOB的數(shù)據(jù)庫(kù)支持,映射歸納(MapReduce)技術(shù)的出現(xiàn)使得在無(wú)須執(zhí)行DML(“Data Definition Language”朦肘,數(shù)據(jù)庫(kù)模式定義語(yǔ)言)的情況下進(jìn)化數(shù)據(jù)庫(kù)變的越來(lái)越容易饭弓。這不僅使迭代式地存儲(chǔ)變得更容易,也降低了在建立數(shù)據(jù)庫(kù)之前獲得完全的共識(shí)和支持的需求媒抠。
有系統(tǒng)地快照維度(為每個(gè)ETL調(diào)度周期的維度存儲(chǔ)一個(gè)完整的副本弟断,經(jīng)常用在不同的表格劃分中)作為控制漸變維度(SCD)的一般方法,已經(jīng)成為一種簡(jiǎn)單的方式趴生。它不要求工程上的投入阀趴,同時(shí),不同于傳統(tǒng)方式苍匆,在寫(xiě)ETL和提取信息的時(shí)很容易掌握刘急。再者,為了追蹤交易那刻的數(shù)值而逆正規(guī)化維度的特征到事實(shí)表中锉桑,也是更加簡(jiǎn)便和相對(duì)廉價(jià)了排霉。回顧過(guò)往我們可以看到民轴,復(fù)雜的SCD建模技術(shù)不是那么直觀并且不那么平易近人攻柠。 ?
一致性,正如在一致的維度和尺度下后裸,對(duì)現(xiàn)代數(shù)據(jù)環(huán)境來(lái)說(shuō)仍舊是極度重要的瑰钮。但隨著對(duì)數(shù)據(jù)倉(cāng)儲(chǔ)的需要的快速增加,同時(shí)讓更多團(tuán)隊(duì)以及職位投身于這個(gè)領(lǐng)域微驶,一致性的問(wèn)題又變的不那么急切浪谴,多少可以有一些折衷。但是在問(wèn)題分歧失控的地方因苹,一致性和收斂性可以作為一種后臺(tái)處理而存在苟耻。 ?
而且,更一般地來(lái)說(shuō)扶檐,以下這種說(shuō)法優(yōu)待商榷:伴隨著計(jì)算周期的便利和比過(guò)去更多的人了解數(shù)據(jù)知識(shí)凶杖,預(yù)先計(jì)算并在數(shù)據(jù)倉(cāng)庫(kù)中存儲(chǔ)結(jié)果的需求降低了。舉個(gè)例子款筑,你可以有能夠只進(jìn)行響應(yīng)式復(fù)雜分析的復(fù)雜 Spark 任務(wù)智蝠,但不用為了成為占用數(shù)據(jù)倉(cāng)庫(kù)的而提前預(yù)定時(shí)間腾么。
?角色&責(zé)任?
▼
數(shù)據(jù)倉(cāng)庫(kù)
數(shù)據(jù)倉(cāng)庫(kù)是滿(mǎn)足查詢(xún)和分析的事務(wù)處理數(shù)據(jù)特定結(jié)構(gòu)的拷貝¤就澹——Ralph Kimball
數(shù)據(jù)倉(cāng)庫(kù)是面向主題的解虱、集成的、隨時(shí)間變化的漆撞、非易變的用于支持管理的決策過(guò)程的數(shù)據(jù)集合殴泰。-Bill Inmon
相應(yīng)得,數(shù)據(jù)倉(cāng)庫(kù)還是與以前一樣浮驳,數(shù)據(jù)工程師負(fù)責(zé)數(shù)據(jù)倉(cāng)庫(kù)的多方面搭建并在其上操縱艰匙。數(shù)據(jù)工程師總是關(guān)注于在數(shù)據(jù)倉(cāng)庫(kù)及其附屬產(chǎn)品。
現(xiàn)代數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)比它歷史上更開(kāi)放機(jī)構(gòu)平臺(tái)抹恳,隨時(shí)歡迎著數(shù)據(jù)科學(xué)家员凝、分析師和軟件工程師參與它的構(gòu)建和操作。由于數(shù)據(jù)單純的過(guò)于集中在公司業(yè)務(wù)上奋献,局限了管理數(shù)據(jù)流向的角色健霹。在規(guī)模上滿(mǎn)足了機(jī)構(gòu)的數(shù)據(jù)需求,卻會(huì)經(jīng)常導(dǎo)致基礎(chǔ)設(shè)施更加的混亂瓶蚂、易變不夠完善糖埋。
數(shù)據(jù)工程師團(tuán)隊(duì)往往擁有著數(shù)據(jù)倉(cāng)庫(kù)中最有保障的、高質(zhì)量的模塊窃这。例如在Airbnb瞳别,數(shù)據(jù)工程師團(tuán)隊(duì)管理著一組‘核心’架構(gòu),其中有著定義明確及可度量的服務(wù)等級(jí)協(xié)議杭攻、遵守嚴(yán)格的命名規(guī)則祟敛、最高質(zhì)量的業(yè)務(wù)元數(shù)據(jù)和文檔,以及遵循意義明確的最佳實(shí)踐的相關(guān)管道代碼兆解。
數(shù)據(jù)工程師團(tuán)隊(duì)通過(guò)制定標(biāo)準(zhǔn)馆铁、提供最佳案例和數(shù)據(jù)對(duì)象認(rèn)證流程,充當(dāng)了一個(gè)“卓越中心”的角色锅睛。這個(gè)團(tuán)隊(duì)逐漸發(fā)展埠巨,通過(guò)帶領(lǐng)教學(xué)項(xiàng)目分享他們的核心競(jìng)爭(zhēng)力,幫助其他團(tuán)隊(duì)成為數(shù)據(jù)倉(cāng)庫(kù)更好的參與者现拒。例如辣垒,臉書(shū)(Facebook)有一個(gè)叫做“數(shù)據(jù)訓(xùn)練營(yíng)(data camp)”的項(xiàng)目,Airbnb正在發(fā)展一個(gè)類(lèi)似的“數(shù)據(jù)大學(xué)(Data University )”項(xiàng)目印蔬。在這些項(xiàng)目中數(shù)據(jù)工程師教會(huì)人們?cè)趺礃痈鼘?zhuān)業(yè)地操作數(shù)據(jù)勋桶。
數(shù)據(jù)工程師同時(shí)也是數(shù)據(jù)倉(cāng)庫(kù)的管理員,編目、整理元數(shù)據(jù)哥遮,定義從數(shù)據(jù)倉(cāng)庫(kù)抽取數(shù)據(jù)的過(guò)程。在一個(gè)急速增長(zhǎng)陵究,快速發(fā)展及輕微混亂的的數(shù)據(jù)生態(tài)環(huán)境下眠饮,元數(shù)據(jù)管理和工具化成為了現(xiàn)在數(shù)據(jù)平臺(tái)的一個(gè)至關(guān)重要的組建部分。
性能調(diào)整和優(yōu)化
隨著數(shù)據(jù)變得較之前更具策略化铜邮,企業(yè)逐漸投入了可觀的預(yù)算在數(shù)據(jù)基礎(chǔ)設(shè)施上仪召。這促使數(shù)據(jù)工程師花費(fèi)更多的精力在性能調(diào)整、數(shù)據(jù)處理最優(yōu)化和存儲(chǔ)上松蒜。由于這個(gè)領(lǐng)域的的預(yù)算幾乎不會(huì)縮水扔茅,性能優(yōu)化通常來(lái)自于在相同數(shù)量的資源下取得更多收益,或者是試圖線(xiàn)性化資源使用率和成本上的指數(shù)增長(zhǎng)秸苗。
了解數(shù)據(jù)工程師工作內(nèi)容的復(fù)雜度爆炸性地提高召娜,我們相信,優(yōu)化他們的工作內(nèi)容和流程之復(fù)雜同樣也是個(gè)挑戰(zhàn)惊楼。在投入低卻很容易得到高回報(bào)的地方玖瘸,收益遞減規(guī)律一般都是適用的。
確切地說(shuō)檀咙,數(shù)據(jù)工程師的趣味所在是既隨著公司擴(kuò)建基礎(chǔ)設(shè)施的同時(shí)雅倒,至始至終又都能節(jié)約資源。
數(shù)據(jù)集成
數(shù)據(jù)集成弧可,通過(guò)數(shù)據(jù)交換整合業(yè)務(wù)和系統(tǒng)之間的實(shí)踐蔑匣,像他以前一樣都既重要又具有挑戰(zhàn)性。
由于軟件即服務(wù)(SaaS)成為公司運(yùn)營(yíng)的新標(biāo)準(zhǔn)方式棕诵,跨系統(tǒng)同步化參考數(shù)據(jù)的需求愈加苛刻裁良。不僅僅軟件即服務(wù)(SaaS)需要最新數(shù)據(jù)來(lái)支持各系統(tǒng)功能,我們還經(jīng)常想要將在系統(tǒng)端產(chǎn)生的數(shù)據(jù)寫(xiě)入數(shù)據(jù)倉(cāng)庫(kù)與其他數(shù)據(jù)一起用于分析校套。當(dāng)然軟件即服務(wù)(SaaS)有它自帶的分析產(chǎn)品趴久,但這些自帶產(chǎn)品系統(tǒng)性地缺乏公司其他數(shù)據(jù)提供的信息,所以往往必須將某些數(shù)據(jù)撤回搔确。
讓這些軟件即服務(wù)(SaaS)產(chǎn)品再定義參考數(shù)據(jù)卻不集成和共享關(guān)鍵字彼棍,是一場(chǎng)在所有工作中都應(yīng)該避免的災(zāi)難。沒(méi)有人想要在兩個(gè)不同系統(tǒng)中人工維護(hù)兩套員工或客戶(hù)列表膳算。更糟糕的是座硕,數(shù)據(jù)倉(cāng)庫(kù)中加載的人力資源數(shù)據(jù),還不能完整匹配涕蜂。
最糟糕的是华匾,公司執(zhí)行層經(jīng)常在沒(méi)有真正考慮數(shù)據(jù)集成挑戰(zhàn)的情況下,和軟件即服務(wù)(SaaS)提供者簽訂協(xié)議。為了促進(jìn)軟件服務(wù)的銷(xiāo)售蜘拉,銷(xiāo)售人員不合理的評(píng)估數(shù)據(jù)集成的工作量萨西,將不計(jì)入工作量的、不會(huì)被重視的工作留給數(shù)據(jù)工程師旭旭。更別提SaaS接口的設(shè)計(jì)不完善谎脯,不清楚的文檔和所謂的“敏捷”:不提前通知就隨意改變需求。
服務(wù)
數(shù)據(jù)工程師還會(huì)做些更高級(jí)別的抽象事務(wù)持寄,在一些工作場(chǎng)景中提供服務(wù)和工具化使數(shù)據(jù)工程師源梭,數(shù)據(jù)科學(xué)家和分析師可能人工處理的工作自動(dòng)化。
以下是一些數(shù)據(jù)工程師和數(shù)據(jù)基建人員可能提供和操作的服務(wù)項(xiàng):
數(shù)據(jù)獲壬晕丁:提供高效利用數(shù)據(jù)庫(kù)废麻,裝載日志,從外部存儲(chǔ)或API獲取數(shù)據(jù)的相關(guān)服務(wù)和將這些流程工具化的工具
指標(biāo)計(jì)算:設(shè)計(jì)框架模庐,計(jì)算和總結(jié)約束條件烛愧、增長(zhǎng)量和分段等指標(biāo)。
異常檢測(cè):提供自動(dòng)化數(shù)據(jù)資料分析掂碱,提醒異常事件的發(fā)生屑彻,或趨勢(shì)變化明顯時(shí)提出警告。
元數(shù)據(jù)管理:提供相關(guān)自動(dòng)化工具顶吮,方便元數(shù)據(jù)的生成和更替社牲,更易查找到數(shù)據(jù)倉(cāng)庫(kù)及其關(guān)聯(lián)的信息。
試驗(yàn):提供A/B測(cè)試和框架試驗(yàn)悴了。這是數(shù)據(jù)工程師參與的企業(yè)分析的一個(gè)關(guān)鍵環(huán)節(jié)
儀表檢測(cè):從登陸開(kāi)始及之后所有相關(guān)連的操作都會(huì)進(jìn)行分析搏恤,數(shù)據(jù)工程師專(zhuān)注于確保可以從上游系統(tǒng)捕獲高質(zhì)量數(shù)據(jù)湃交。
會(huì)話(huà):提供能及時(shí)理解一系列業(yè)務(wù)操作的特殊渠道熟空,讓分析師明白用戶(hù)行為。
就像軟件工程師一樣搞莺,數(shù)據(jù)工程師應(yīng)該不斷的尋找使他們工作自動(dòng)化的方式息罗,構(gòu)建能讓他們爬上更復(fù)雜階梯的抽象概念。雖然由于環(huán)境不同才沧,可自動(dòng)化的工作流程性質(zhì)不盡相同迈喉,卻都有著自動(dòng)化的需求。
?所需技能?
▼
精通SQL:
如果英語(yǔ)是業(yè)務(wù)的交流工具温圆,那么SQL就是數(shù)據(jù)的交流工具挨摸。一個(gè)不會(huì)流利的英語(yǔ)的業(yè)務(wù)人員能有多大的成就?不管任何技術(shù)時(shí)代的產(chǎn)生和更替岁歉,SQL一直是數(shù)據(jù)的通用語(yǔ)得运。數(shù)據(jù)工程師應(yīng)該有能用SQL表達(dá)任何‘相關(guān)子查詢(xún)’和窗口函數(shù)復(fù)雜度的技術(shù)能力。對(duì)數(shù)據(jù)工程師來(lái)說(shuō)初始SQL/DML/DDL簡(jiǎn)單到根本沒(méi)有難度。即使是沒(méi)有接觸過(guò)SQL的人熔掺,他也能讀懂并明白數(shù)據(jù)庫(kù)的執(zhí)行計(jì)劃饱搏,了解所有步驟,知道程序怎么被調(diào)用置逻,連接算法的不同和執(zhí)行計(jì)劃內(nèi)的分布式維度推沸。
數(shù)據(jù)模型技能:
作為一個(gè)數(shù)據(jù)工程師,有對(duì)實(shí)體-關(guān)系模型的認(rèn)知反射诽偷,規(guī)范化的清晰認(rèn)識(shí),權(quán)衡反規(guī)范化的敏銳直覺(jué)疯坤。數(shù)據(jù)工程師應(yīng)該熟悉維度建模及相關(guān)概念與術(shù)語(yǔ)报慕。
ETL設(shè)計(jì):
能夠?qū)懗鲇行省⒂袕椥缘难沟 ⅰ翱砂l(fā)展”的ETL任務(wù)是一個(gè)關(guān)鍵眠冈。我計(jì)劃在下一博客中深入這個(gè)話(huà)題。
架構(gòu)項(xiàng)目:
就如任何一個(gè)領(lǐng)域的專(zhuān)家的專(zhuān)業(yè)技能一樣菌瘫,數(shù)據(jù)工程師需要一個(gè)較高層次的綜括蜗顽,對(duì)大多數(shù)的工具,平臺(tái)雨让,庫(kù)雇盖,和其他供他支配的資源的了解。認(rèn)識(shí)到不同類(lèi)型的數(shù)據(jù)庫(kù)栖忠、計(jì)算引擎崔挖、流處理器、消息隊(duì)列庵寞、工作流協(xié)調(diào)器狸相、序列化格式及其他相關(guān)技術(shù)的屬性、用例捐川、微妙之處脓鹃。在設(shè)計(jì)解決方案的時(shí)候,他應(yīng)該有能力選擇即將要使用的技術(shù)古沥,并有一個(gè)構(gòu)想去協(xié)調(diào)怎么使他們一起更好地工作瘸右。
?總體來(lái)說(shuō)?
▼
過(guò)去在硅谷Airbnb,臉書(shū)和雅虎工作的五年里岩齿,跟來(lái)自谷歌尊浓、Netflix、亞馬遜纯衍,優(yōu)步栋齿、Lyft等幾十個(gè)不同規(guī)模大小,不同類(lèi)型的公司的數(shù)據(jù)團(tuán)隊(duì)交談過(guò)。我觀察到越來(lái)越多的人對(duì)數(shù)據(jù)工程師的職責(zé)范圍是什么達(dá)成共識(shí)瓦堵,覺(jué)得有必要分享我的感悟基协。
我希望這篇文章能夠成為類(lèi)似數(shù)據(jù)工程師的一個(gè)宣言,我也希望拋磚引玉菇用,使在這個(gè)相關(guān)領(lǐng)域中澜驮,從事這類(lèi)工作的人之間能產(chǎn)生更多的火花。
志愿者介紹關(guān)于轉(zhuǎn)載 如需轉(zhuǎn)載惋鸥,請(qǐng)?jiān)陂_(kāi)篇顯著位置注明作者和出處(轉(zhuǎn)自:大數(shù)據(jù)文摘 |bigdatadigest)杂穷,并在文章結(jié)尾放置大數(shù)據(jù)文摘醒目二維碼。無(wú)原創(chuàng)標(biāo)識(shí)文章請(qǐng)按照轉(zhuǎn)載要求編輯卦绣,可直接轉(zhuǎn)載耐量,轉(zhuǎn)載后請(qǐng)將轉(zhuǎn)載鏈接發(fā)送給我們;有原創(chuàng)標(biāo)識(shí)文章滤港,請(qǐng)發(fā)送【文章名稱(chēng)-待授權(quán)公眾號(hào)名稱(chēng)及ID】給我們申請(qǐng)白名單授權(quán)廊蜒。未經(jīng)許可的轉(zhuǎn)載以及改編者,我們將依法追究其法律責(zé)任溅漾。聯(lián)系郵箱:zz@bigdatadigest.cn山叮。
回復(fù)“志愿者”了解如何加入我們
點(diǎn)擊圖片閱讀文章
數(shù)據(jù)科學(xué)家和工程師:各霸一方,一旦聯(lián)手添履,所向披靡
閱讀原文:http://mp.weixin.qq.com/s?__biz=MzI2MDQ5MjExOA==&mid=2247483774&idx=1&sn=9fd8acb319ec7097488ffdf053000159&scene=0#wechat_redirect