資料工程師和資料科學家:有什麼區別?

資料科學家和資料工程師的職業經常被混淆。 每個公司都有自己處理數據的具體情況、不同的分析目的以及由哪個專家處理哪部分工作的不同想法,因此每個公司都有自己的要求。 

讓我們弄清楚這些專家之間有什麼區別,他們解決什麼業務問題,他們擁有什麼技能以及他們賺多少錢。 由於材料很大,所以我們將其分為兩份出版物。

在第一篇文章中,系主任埃琳娜·格拉西莫娃(Elena Gerasimova)“數據科學與分析」在《網路學》中,講述了資料科學家和資料工程師之間的區別以及他們使用的工具。

工程師和科學家的角色有何不同

資料工程師是一方面開發、測試和維護資料基礎設施的專家:資料庫、儲存和海量處理系統。 另一方面,它負責清理和「梳理」資料以供分析師和資料科學家使用,即創建資料處理管道。

資料科學家使用機器學習演算法和神經網路創建和訓練預測(和其他)模型,幫助企業發現隱藏的模式、預測發展並優化關鍵業務流程。

資料科學家和資料工程師之間的主要區別在於他們通常有不同的目標。 兩者都致力於確保數據可存取且高品質。 但是,資料科學家在資料生態系統(例如,基於 Hadoop)中找到問題的答案並測試假設,而資料工程師則創建一個管道,用於為資料科學家在同一個 Spark 叢集中編寫的機器學習演算法提供服務。生態系。 

資料工程師透過作為團隊的一員工作為企業帶來價值。 它的任務是充當不同參與者之間的重要紐帶:從開發人員到報告的業務消費者,並提高從行銷和產品到 BI 的分析師的生產力。 

相反,資料科學家積極參與公司的策略,提取見解、制定決策、實施自動化演算法、建模並從資料中產生價值。
資料工程師和資料科學家:有什麼區別?

資料處理遵循 GIGO(垃圾輸入 - 垃圾輸出)原則:如果分析師和資料科學家處理未經準備的且可能不正確的數據,那麼即使使用最複雜的分析演算法,結果也將是不正確的。 

資料工程師透過建立處理、清理和轉換資料的管道並允許資料科學家處理高品質資料來解決這個問題。 

市場上有許多用於處理資料的工具,涵蓋各個階段:從資料的出現到輸出,再到董事會的儀表板。 重要的是,使用它們的決定是由工程師做出的——不是因為它很時尚,而是因為他會真正幫助這個過程中其他參與者的工作。 

傳統上:如果一家公司需要在 BI 和 ETL 之間建立連接 - 載入資料和更新報告,這是資料工程師必須處理的典型遺留基礎(如果團隊中還有架構師,那就太好了)。

資料工程師的職責

  • 資料處理基礎設施的開發、建設和維護。
  • 處理錯誤並建立可靠的資料處理管道。
  • 將來自各種動態來源的非結構化資料轉化為分析師工作所需的形式。
  • 提供提高數據一致性和品質的建議。
  • 提供和維護資料科學家和資料分析師使用的資料架構。
  • 在由數十或數百台伺服器組成的分散式叢集中一致且有效率地處理和儲存資料。
  • 評估工具的技術權衡,以創造簡單但強大的、能夠抵禦幹擾的架構。
  • 控制和支援資料流和相關係統(設定監控和警報)。

資料工程師軌跡中還有另一個專業-機器學習工程師。 簡而言之,這些工程師專注於將機器學習模型引入工業實施和使用。 通常,從資料科學家收到的模型是研究的一部分,可能無法在戰鬥條件下工作。

資料科學家的職責

  • 從資料中提取特徵以應用機器學習演算法。
  • 使用各種機器學習工具來預測和分類資料模式。
  • 透過微調和優化演算法來提高機器學習演算法的效能和準確性。
  • 根據公司策略形成需要測試的「強有力」假設。

資料工程師和資料科學家都對資料文化的發展做出了切實的貢獻,公司可以透過這種文化產生額外的利潤或降低成本。

工程師和科學家使用什麼語言和工具?

如今,對資料科學家的期望已經改變。 先前,工程師收集大型SQL查詢,手動編寫MapReduce並使用Informatica ETL、Pentaho ETL、Talend等工具處理資料。 

2020 年,專家必須了解 Python 和現代運算工具(例如 Airflow)、了解使用雲端平台的原理(使用它們來節省硬件,同時遵守安全原則)。

SAP、Oracle、MySQL、Redis 是大公司資料工程師的傳統工具。 它們很好,但許可證的成本非常高,因此學習如何使用它們僅在工業專案中有意義。 同時,還有 Postgres 形式的免費替代品 - 它是免費的,並且不僅適合培訓。 

資料工程師和資料科學家:有什麼區別?
從歷史上看,經常會發現對 Java 和 Scala 的需求,儘管隨著技術和方法的發展,這些語言逐漸淡出背景。

然而,硬派大數據:Hadoop、Spark 等不再是資料工程師的必備條件,而是解決傳統 ETL 無法解決的問題的工具。 

趨勢是無需了解編寫語言的工具即可使用服務(例如,無需了解 Java 的 Hadoop),以及提供現成的服務來處理串流資料(視訊上的語音識別或圖像識別) )。

SAS 和 SPSS 的工業解決方案很受歡迎,而 Tableau、Rapidminer、Stata 和 Julia 也被資料科學家廣泛用於本地任務。

資料工程師和資料科學家:有什麼區別?
僅在幾年前,分析師和資料科學家才出現了自行建立管道的能力:例如,已經可以使用相對簡單的腳本將資料傳送到基於 PostgreSQL 的儲存。 

通常,管道和整合資料結構的使用仍然是資料工程師的責任。 但如今,由於工具不斷簡化,在相關領域擁有廣泛能力的 T 型專家的趨勢比以往任何時候都更加強勁。

為什麼資料工程師和資料科學家要一起工作

透過與工程師密切合作,資料科學家可以專注於研究方面,創建可用於生產的機器學習演算法。
工程師需要專注於可擴展性、資料重用,並確保每個專案中的資料輸入和輸出管道符合全局架構。

這種職責分離確保了從事不同機器學習專案的團隊之間的一致性。 

協作有助於有效率地創造新產品。 透過為每個人創建服務(全局儲存或儀表板整合)和實現每個特定需求或項目(高度專業化的管道、連接外部資源)之間的平衡來實現速度和品質。 

與資料科學家和分析師密切合作可以幫助工程師培養分析和研究技能,從而編寫更好的程式碼。 倉庫和資料湖用戶之間的知識共享得到改善,使專案更加敏捷並提供更永續的長期結果。

在旨在發展數據處理文化並基於數據建立業務流程的公司中,數據科學家和數據工程師相互補充並創建完整的數據分析系統。 

在下一篇文章中,我們將討論資料工程師和資料科學家應該接受什麼樣的教育,他們需要發展哪些技能以及市場如何運作。

來自 Netology 編輯

如果您正在尋找資料工程師或資料科學家的職業,我們邀請您學習我們的課程計畫:

來源: www.habr.com

添加評論