數字時代:什麼是資料工程? -Techin3

banq發表於2020-10-13

在LinkedIn的2020年新興工作報告和Hired的2019年軟體工程師狀況報告中,他們將資料工程師的職位排在了緊挨資料科學家和機器學習工程師的位置。
數字時代利用資料可以實現很多事情,從個性化營銷活動到為自動駕駛汽車提供動力。資料科學家負責分析資料並將其用於各種目的。
但是,他們需要高質量的資料來完成複雜的任務,例如預測業務趨勢。那就是資料工程師發揮作用的地方。

資料工程是一種收集和驗證資訊(資料)的科學,以便資料科學家可以使用它。
 

資料工程師的角色:
資料工程師是構建資料科學專案所依賴的資訊基礎架構的人員。這些專業人員負責設計和管理資料流,這些資料流將來自各種來源的資訊整合到一個公共池(例如,資料倉儲)中,資料科學家和商業智慧分析師可以從中檢索資訊以進行分析。這通常涉及基於某種形式的ETL(提取,轉換和載入)模型實現資料管道。
在建立此資訊體系結構時,資料工程師依靠各種程式設計和資料管理工具來實現ETL,管理關係和非關聯式資料庫以及構建資料倉儲。讓我們快速瀏覽一些最受歡迎的工具。
 

資料工程工具:
Apache Hadoop是一個基礎資料工程框架,用於在分散式處理環境中儲存和分析大量資訊。Hadoop不是單個實體,而是HDFS(Hadoop分散式檔案系統)和MapReduce分散式處理引擎等開源工具的集合。
Apache Spark是與Hadoop相容的資料處理平臺,與MapReduce不同,它可用於實時流處理以及批處理。它的速度 比MapReduce快100倍,並且似乎正在將其替換到Hadoop生態系統中。Spark具有適用於Python,Java,Scala和R的API,並且可以作為獨立於Hadoop的獨立平臺執行。
Apache Kafka是當今使用最廣泛的資料收集和提取工具。Kafka是易於安裝和使用的高效能平臺,可以將大量資料快速流到諸如Hadoop這樣的目標中。
Apache Cassandra被廣泛用於以較低的使用者延遲來管理大量資料,並自動複製到多個節點以實現容錯。
SQL和NoSQL(關係和非關聯式資料庫)是用於資料工程應用程式的基礎工具。從歷史上看,關聯式資料庫(例如DB2或Oracle)一直是標準。但是,隨著現代應用程式越來越多地實時處理大量的非結構化,半結構化甚至是多型資料,非關係型資料庫現在已成為自己的資料庫。
 

程式語言:
Python是一種非常流行的通用語言。它廣泛用於統計分析任務,可以稱為資料科學通用語言。超過三分之二的資料工程師職位清單都要求具備Python流利性(以及SQL)。
R是一種獨特的語言,具有其他程式語言所缺乏的功能。這種向量語言正在從金融應用程式到遺傳學和醫學等多個資料科學類別中找到用例。
Java由於具有很高的執行速度,是構建大型資料系統的首選語言。它是Facebook和Twitter等公司的資料工程工作的基礎。Hadoop主要用Java編寫。
Scala是Java的擴充套件,特別適合與Apache Spark一起使用。實際上, Spark是用Scala編寫的。儘管Scala在JVM(Java虛擬機器)上執行,但Scala程式碼比Java等效程式碼更簡潔明瞭。
 
“折磨資料,它將對任何東西坦白。” —羅納德·科斯
 

相關文章