來(lái)源:數(shù)據(jù)觀 時(shí)間:2017-02-09 14:32:46 作者:大數(shù)據(jù)文摘
?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)的拷貝?!猂alph 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)注于確??梢詮纳嫌蜗到y(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ū)懗鲇行?、有彈性的、“可發(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)生更多的火花。
?
?作者 | Maxime Beauchemin
?編譯團(tuán)隊(duì) | Yawei Xia,邱猛,賴(lài)小娟,張禮俊
?注:本稿件摘自入駐數(shù)據(jù)觀自媒體-大數(shù)據(jù)文摘,轉(zhuǎn)載請(qǐng)注明來(lái)源,百度搜索“數(shù)據(jù)觀”獲取更多大數(shù)據(jù)資訊。
?
?
責(zé)任編輯:陳近梅