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