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