【51CTO.com快譯】在過(guò)去10年,隨著大多數(shù)企業(yè)開(kāi)始接受數(shù)字化變革,數(shù)據(jù)科學(xué)家和數(shù)據(jù)工程師有著不同的職業(yè)發(fā)展,并且顯然都有各自特定的服務(wù)范圍。企業(yè)在業(yè)務(wù)運(yùn)營(yíng)中不斷生成數(shù)據(jù)。而每個(gè)事件都是企業(yè)功能的快照,例如收入、損失、第三方合作伙伴關(guān)系以及收到的貨物等。但如果不探索和分析數(shù)據(jù),就不會(huì)獲得任何見(jiàn)解。數(shù)據(jù)工程的目的是幫助處理這一過(guò)程并使其對(duì)數(shù)據(jù)擁有者可用。本文將探討數(shù)據(jù)工程的定義、數(shù)據(jù)工程師的技能、工作和職責(zé),以及數(shù)據(jù)工程的未來(lái)發(fā)展。
數(shù)據(jù)工程是什么?
在數(shù)據(jù)世界中,數(shù)據(jù)科學(xué)家對(duì)他們所接觸的信息或數(shù)據(jù)進(jìn)行比較。大多數(shù)企業(yè)將其信息或數(shù)據(jù)存儲(chǔ)在各種各樣的數(shù)據(jù)集和數(shù)據(jù)格式中。這就是數(shù)據(jù)工程發(fā)揮重要作用的地方。簡(jiǎn)單地說(shuō),數(shù)據(jù)工程就是由數(shù)據(jù)工程師來(lái)組織和設(shè)計(jì)數(shù)據(jù)。他們構(gòu)建數(shù)據(jù)管道來(lái)更改和組織信息并使其有用。數(shù)據(jù)工程與數(shù)據(jù)科學(xué)同樣重要。然而,數(shù)據(jù)工程需要認(rèn)識(shí)到如何獲得激勵(lì)形式的數(shù)據(jù),例如從A點(diǎn)移動(dòng)到B點(diǎn)而不受污染的數(shù)據(jù)。
“數(shù)據(jù)工程”這個(gè)名字代表了這樣一項(xiàng)工作,它不再使用傳統(tǒng)的ETL(抽取、轉(zhuǎn)換、加載)設(shè)備,而是建立了自己的工具來(lái)處理不斷擴(kuò)大的信息或數(shù)據(jù)量。隨著大數(shù)據(jù)的發(fā)展,數(shù)據(jù)工程開(kāi)始描繪一種以數(shù)據(jù)為主的工程:數(shù)據(jù)框架、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)挖掘等等。
數(shù)據(jù)工程師技能和工具
在知道什么是數(shù)據(jù)工程之后,再了解一下數(shù)據(jù)工程師的技能和工具。
在數(shù)據(jù)工程中,數(shù)據(jù)工程師使用特定工具來(lái)處理數(shù)據(jù)。但處理每個(gè)框架都存在明顯的困難。他們應(yīng)該考慮信息展示、存放、確認(rèn)和編碼的方式。這些群體同樣應(yīng)該理解獲取和控制數(shù)據(jù)的最有效方法。數(shù)據(jù)工程考慮從開(kāi)始到結(jié)束測(cè)量“數(shù)據(jù)管道”,每個(gè)管道都有一個(gè)或多個(gè)來(lái)源。而在管道內(nèi)部,數(shù)據(jù)可能會(huì)經(jīng)歷幾個(gè)階段的變化、批準(zhǔn)、改進(jìn)、縮減。數(shù)據(jù)工程師使用不同類(lèi)型的工具制作這些管道,例如:
- ELT工具:ETL是在框架之間移動(dòng)數(shù)據(jù)的高級(jí)分類(lèi)。這些工具從廣泛的進(jìn)步中訪問(wèn)信息,然后應(yīng)用規(guī)則來(lái)“更改”和清除數(shù)據(jù),以便為分析做好準(zhǔn)備。
 - Python:Python是一種通用的編程語(yǔ)言。由于其可用性和用于獲取數(shù)據(jù)集和容量提升的廣泛庫(kù),它已成為執(zhí)行ETL任務(wù)的知名工具??梢允褂肞ython而不是ETL設(shè)備進(jìn)行ETL工作。許多數(shù)據(jù)工程師使用Python而不是ETL設(shè)備,因?yàn)樗哌m應(yīng)性,并且對(duì)于這些任務(wù)更令人印象深刻。
 - Apache Hadoop和Spark:Apache Spark和Hadoop可以處理多臺(tái)電腦中的大量數(shù)據(jù)集。它們使應(yīng)用多臺(tái)電腦協(xié)作處理數(shù)據(jù)的工作變得更簡(jiǎn)單。當(dāng)信息量太大以至于無(wú)法考慮將其放在單臺(tái)電腦上時(shí),擴(kuò)大容量就顯得尤為重要。如今,Spark和Hadoop不像Python那樣簡(jiǎn)單易用,而且不可否認(rèn)的是更多的人了解和使用Python。
 - SQL和NoSQL:SQL和NoSQL是執(zhí)行數(shù)據(jù)工程應(yīng)用程序的基本工具。它們以處理大量正在進(jìn)行的非結(jié)構(gòu)化和多態(tài)數(shù)據(jù)而聞名。當(dāng)信息源和目標(biāo)是類(lèi)似類(lèi)型的數(shù)據(jù)集時(shí),SQL就特別有用。
 - HDFS:HDFS在數(shù)據(jù)工程中用于在準(zhǔn)備期間存儲(chǔ)數(shù)據(jù)。HDFS是一個(gè)特定的框架,可以存儲(chǔ)基本無(wú)限的數(shù)據(jù)度量,使它們有助于數(shù)據(jù)科學(xué)工作。
 - Amazon S3:Amazon S3是一種類(lèi)似于HDFS的工具。它還用于存儲(chǔ)大量數(shù)據(jù),并使它們可供數(shù)據(jù)科學(xué)家使用。
 
以上已經(jīng)提到了“數(shù)據(jù)工程師”這個(gè)術(shù)語(yǔ),人們一定在想:“數(shù)據(jù)工程師是做什么的?”
數(shù)據(jù)工程師做什么的?
數(shù)據(jù)科學(xué)家的能力取決于他們可以訪問(wèn)的數(shù)據(jù)。數(shù)據(jù)通常以多種格式存儲(chǔ),例如數(shù)據(jù)庫(kù)和文本文件。數(shù)據(jù)工程師將數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)科學(xué)家可以使用的格式,并為此構(gòu)建管道。數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家一樣重要,但他們并不那么顯眼,因?yàn)樗麄冸x最終產(chǎn)品更遠(yuǎn)。數(shù)據(jù)工程師需要了解如何開(kāi)展工作,以及在不篡改的情況下將數(shù)據(jù)從A點(diǎn)移動(dòng)到B點(diǎn)的工程技能。
數(shù)據(jù)工程師將處理數(shù)據(jù)以便對(duì)其進(jìn)行分析。他們分析數(shù)據(jù)集并開(kāi)發(fā)算法以使原始數(shù)據(jù)對(duì)企業(yè)更有用。數(shù)據(jù)工程師需要具備許多技術(shù)技能,包括對(duì)SQL數(shù)據(jù)庫(kù)和多種編程語(yǔ)言的深刻理解。但是數(shù)據(jù)工程師還必須學(xué)習(xí)如何與不同部門(mén)進(jìn)行溝通,以便他們能夠從大數(shù)據(jù)集了解企業(yè)領(lǐng)導(dǎo)者的需求。
數(shù)據(jù)工程師通常需要了解企業(yè)或客戶的目標(biāo),以構(gòu)建更容易訪問(wèn)原始數(shù)據(jù)的算法。對(duì)于處理大型復(fù)雜數(shù)據(jù)集的企業(yè)來(lái)說(shuō),在處理數(shù)據(jù)時(shí)必須使業(yè)務(wù)目標(biāo)保持一致。
(1)數(shù)據(jù)工程師是否會(huì)編寫(xiě)代碼?
眾所周知,只需具備開(kāi)發(fā)人員的強(qiáng)大技能即可擔(dān)任數(shù)據(jù)工程師這個(gè)工作角色。數(shù)據(jù)工程師需要編寫(xiě)腳本和一些代碼。像數(shù)據(jù)科學(xué)家一樣,數(shù)據(jù)工程師也需要編寫(xiě)代碼。他們具有高度的分析能力,并對(duì)數(shù)據(jù)可視化感興趣。當(dāng)數(shù)據(jù)工程師使用數(shù)據(jù)管道時(shí),他們需要編寫(xiě)代碼。因此,編寫(xiě)代碼是成為數(shù)據(jù)工程師的一項(xiàng)重要技能。
(2)數(shù)據(jù)工程師的職責(zé)
數(shù)據(jù)工程師與數(shù)據(jù)分析師、數(shù)據(jù)科學(xué)家、業(yè)務(wù)領(lǐng)導(dǎo)者和系統(tǒng)架構(gòu)師合作,了解他們的具體要求。數(shù)據(jù)工程師的職責(zé)包括:
- 收集所需的數(shù)據(jù):在開(kāi)始對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何工作之前,數(shù)據(jù)工程師需要從正確的來(lái)源收集數(shù)據(jù)。在采用一些數(shù)據(jù)集標(biāo)準(zhǔn)之后,數(shù)據(jù)工程師存儲(chǔ)升級(jí)后的數(shù)據(jù)。
 - 創(chuàng)建數(shù)據(jù)模型:數(shù)據(jù)工程師利用數(shù)據(jù)收集的綁定數(shù)據(jù)模型來(lái)分離記錄的知識(shí)點(diǎn)。此外,他們還建立了預(yù)測(cè)模型,在預(yù)測(cè)模型中,他們采用預(yù)期策略和卓越的經(jīng)驗(yàn)了解未來(lái)發(fā)展。
 - 確保數(shù)據(jù)的安全性和組織性:使用統(tǒng)一的安全控制(如LDAP)、對(duì)數(shù)據(jù)進(jìn)行編碼并調(diào)查對(duì)數(shù)據(jù)的歸納。
 - 處理數(shù)據(jù):使用針對(duì)數(shù)據(jù)的特定用途進(jìn)行更新的明顯改進(jìn),例如,社交信息集合、NoSQL信息集合、Hadoop、Amazon S3或Azure博客。
 - 為明確的先決條件處理數(shù)據(jù):使用從不同來(lái)源輸入數(shù)據(jù)的工具,更改和升級(jí)數(shù)據(jù),匯總數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在限額系統(tǒng)中。
 
數(shù)據(jù)工程的未來(lái)發(fā)展
隨著技術(shù)的飛速發(fā)展,數(shù)據(jù)工程領(lǐng)域正在經(jīng)歷一場(chǎng)徹底的變革。當(dāng)前數(shù)據(jù)工程的發(fā)展受到物聯(lián)網(wǎng)(IoT)、無(wú)服務(wù)器計(jì)算、混合云、人工智能和機(jī)器學(xué)習(xí)(ML)的影響。
大數(shù)據(jù)的廣泛應(yīng)用導(dǎo)致數(shù)據(jù)工程師的誕生。然而,數(shù)據(jù)工程在過(guò)去八年發(fā)生了巨大的變化,這要?dú)w功于數(shù)據(jù)科學(xué)工具的快速自動(dòng)化。
現(xiàn)代業(yè)務(wù)分析平臺(tái)配備了全自動(dòng)或半自動(dòng)化工具,可以收集、準(zhǔn)備和清理數(shù)據(jù)以供數(shù)據(jù)科學(xué)家研究。如今,數(shù)據(jù)科學(xué)家不需要像以前那樣依賴數(shù)據(jù)工程師來(lái)處理信息管道。
隨著從面向批處理的數(shù)據(jù)移動(dòng)和處理轉(zhuǎn)向?qū)崟r(shí)數(shù)據(jù)移動(dòng)和處理,實(shí)時(shí)數(shù)據(jù)管道和實(shí)時(shí)數(shù)據(jù)處理系統(tǒng)已經(jīng)發(fā)生了重大轉(zhuǎn)變。
數(shù)據(jù)倉(cāng)庫(kù)在處理數(shù)據(jù)集市、數(shù)據(jù)湖或簡(jiǎn)單數(shù)據(jù)集方面具有極大的靈活性,最近變得非常流行。數(shù)據(jù)工程的新趨勢(shì)闡明了數(shù)據(jù)集流創(chuàng)新如何建立高度可擴(kuò)展的實(shí)時(shí)業(yè)務(wù)分析。
隨著未來(lái)事物信息設(shè)計(jì)的創(chuàng)新轉(zhuǎn)變,以下領(lǐng)域?qū)?huì):
- 批量到實(shí)時(shí):變更數(shù)據(jù)捕獲系統(tǒng)正在迅速取代批量ETL,使數(shù)據(jù)庫(kù)流成為現(xiàn)實(shí)。傳統(tǒng)的ETL功能現(xiàn)在正在實(shí)時(shí)發(fā)生。數(shù)據(jù)源和數(shù)據(jù)倉(cāng)庫(kù)之間的連接性增加,這也意味著通過(guò)數(shù)據(jù)工程實(shí)現(xiàn)的高級(jí)工具進(jìn)行自動(dòng)分析。
 - 數(shù)據(jù)科學(xué)功能的自動(dòng)化。
 - 跨越內(nèi)部部署和云計(jì)算環(huán)境的混合數(shù)據(jù)架構(gòu)。
 
最近數(shù)據(jù)工程技術(shù)的另一個(gè)重大轉(zhuǎn)變是“按原樣”查看數(shù)據(jù),而不是擔(dān)心數(shù)據(jù)的存儲(chǔ)方式和位置。
數(shù)據(jù)工程vs.數(shù)據(jù)科學(xué)
數(shù)據(jù)工程和數(shù)據(jù)科學(xué)是相輔相成的,而數(shù)據(jù)工程師將確保數(shù)據(jù)科學(xué)家能夠可靠地查看信息。
數(shù)據(jù)科學(xué)是一個(gè)廣泛而有更多技能的研究領(lǐng)域,其中包括數(shù)學(xué)、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)、信息科學(xué)和商業(yè)領(lǐng)域的數(shù)據(jù)。它的核心是通過(guò)利用邏輯工具、策略、方法和計(jì)算從龐大的數(shù)據(jù)集中分離重要的示例和知識(shí)點(diǎn)。數(shù)據(jù)科學(xué)的中心部分科學(xué)融合了大數(shù)據(jù)和機(jī)器學(xué)習(xí)等技術(shù)。
此外,他們還使用諸如R、Python和SAS之類(lèi)的工具來(lái)有效地檢查數(shù)據(jù)。他們期望數(shù)據(jù)可以隨時(shí)使用并在一個(gè)地方組合。他們使用圖表、圖表和表示設(shè)備來(lái)傳達(dá)他們的經(jīng)驗(yàn)。
數(shù)據(jù)工程師使用SQL和Python等工具為數(shù)據(jù)科學(xué)家準(zhǔn)備好數(shù)據(jù)。數(shù)據(jù)工程師與數(shù)據(jù)科學(xué)家開(kāi)展合作,以了解他們對(duì)任務(wù)的特定要求。他們構(gòu)建數(shù)據(jù)管道,以獲取和更改檢查所需的數(shù)據(jù)。這些數(shù)據(jù)管道應(yīng)該是為執(zhí)行和堅(jiān)定不移的質(zhì)量而設(shè)計(jì)的,這需要對(duì)編程最佳實(shí)踐有扎實(shí)的理解。而在網(wǎng)絡(luò)上有許多可用資源,他們應(yīng)該為處理大量數(shù)據(jù)集和請(qǐng)求服務(wù)等級(jí)協(xié)議(SLA)的執(zhí)行和適應(yīng)性制定計(jì)劃。
結(jié)語(yǔ)
數(shù)據(jù)工程與管理規(guī)模和熟練程度密切相關(guān)。因此,數(shù)據(jù)工程師應(yīng)該經(jīng)常更新他們的能力和技能,以促進(jìn)利用數(shù)據(jù)分析框架的方式。由于收集的信息十分廣泛,可以看到數(shù)據(jù)工程師與數(shù)據(jù)庫(kù)管理員、數(shù)據(jù)科學(xué)家和數(shù)據(jù)架構(gòu)師共同努力。
如今對(duì)于數(shù)據(jù)工程師的需求正在迅速增長(zhǎng)。如果應(yīng)聘者在構(gòu)建和調(diào)整巨大范圍信息框架中具有獨(dú)到的見(jiàn)解,那么數(shù)據(jù)工程師可能是最適合他的職業(yè)。
原文標(biāo)題:What Is Data Engineering? Skills and Tools Required,作者:Billy Peterson
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】















 
 
 








 
 
 
 