iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

作為資料工程師,或說是負責處理資料工程的角色,我們需要具備什麼能力呢?其實從過去到現在的資料工程師的角色,隨著應用的不同以及工具的演變,資料工程師的角色默默的在轉變當中。

今昔的資料工程師

  • 早期階段:1980~2000 數據倉儲到網路
    數據倉儲或可以說是最早開始的資料工程師所要負責的職務,透過交易的資料進行資料倉儲的資料搬移以及整合,藉此提供決策者所需的數據參考。到了1990左右,網路服務開始興起,因著各個網路公司的興起,為了要支持網站服務,後端服務開始興起許多的改變。也因此有許多資料透過網路服務中被產生以及儲存。

  • 2000 年代初期 現代資料工程的雛形
    1990年代的網路泡沫破滅後,其中存留的公司像是 Yahoo, Google, Amazon,逐漸成長茁壯成為強大的科技公司。因著服務發展,所接收的資料日漸增長,傳統的技術不一定能完全支持龐大的資料量的使用。逐漸研發新的分散式的架構方式來支持著大量的服務。

  • 2000~2010 大數據工程
    隨著數據爆炸形成漲,以及相關演算法的開發,再加上媒體還有社會氛圍對於大數據的大肆宣揚,每間公司都爭相要建立自己的大數據系統架構。在Google 2004年發表MapReduce 論文之後,Yahoo的工程師在2006年開發並開源了 Apache Hadoop,新一代的開元技術生態提供了許多的可能性。大數據工程師也在此時成為了熱門的職業。

https://ithelp.ithome.com.tw/upload/images/20230919/20140477t1SGTaVAhj.png
圖片來源:Hadoop Essentials by Swizec Teller

MapReduce 論文 https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/mapreduce-osdi04.pdf

  • 2020 現今的資料工程師
    在各樣工具更多被開發之後,現代的資料工程流程不一定是走向單一的大架構的系統,因為要運行這樣的架構其人力成本跟系統成本是十分可觀的,而更多的公司選擇的是分散式的獨立的系統,並且如同樂高一般的整和個樣服務,提供企業及團隊所需之相對服務。

現今資料工程師所需之技能

大概了解過去到現在的資料工程師的演變之後,我們大概就可以有一個感覺,資料工程師所需要的技能是非常全面的,一方面要能夠成功的優化或是使用過去的架構,同時又要使用或導入新的技術。SeattleDataGuy將資料工程師所需的技能整合整理如下圖。

https://ithelp.ithome.com.tw/upload/images/20230919/20140477vvuYQsn5rq.png
圖片出處:https://dev.to/seattledataguy/what-skills-do-data-engineers-need-the-data-engineering-skill-pyramid-8hk

在資料工程師所需要的技能中大概可以分為以下幾個部分:

  • 程式技能
    程式能力算是在資料工程師的基本,如何寫出好維護的程式碼,在工作當中使用程式碼順利的處理資料是日常工作。資料工程師常常使用的語言為 Python, Java, Scala等語言。
  • 資料庫技能
    資料存放的位置絕大部分是放置在資料庫,熟悉 SQL 語法對於資料工程師是必須的能力。如何下好的 SQL 處理資料的擷取,對於工程師對於系統的效率會有很大的影響。
  • Data pipeline建置相關技能
    在日常的工作中資料工程師會需要建立許多Data pipeline 處理資料的流動進一部應用資料。資料工程師也需要維運Data pipeline, 確保資料品質。資料工程師也會需要針對不同的 Data pipeline 特性,設計不同的做法,選用不同的服務。
  • 雲端平台
    現今許多的資料會存放於雲端資料平台像是AWS, Azure, GCP等等,熟悉各個雲端平台的服務以及特性也是資料工程師的基本技能。
  • 服務整合技能
    除了基本的雲端的服務之外,有越來越多雲端的serverless服務,整合服務可以使用,了解各服務的特性以及價格,針對服務場景設計出最適合的架構是現在資料工程師重要的能力。

Reference : Fundamentals of Data Engineering: Plan and Build Robust Data Systems
-- Joe Reis, Matt Housley

了解過去到現在的轉變,除了增加相關知識外,也讓我們學習過去的智慧,從技術的更替中更理解技術發展的途徑,也可以在我們開發的過程當中加入更多面向的思維。


上一篇
『Day3』Data team 的組成以及資料工程師的角色
下一篇
『Day5』 來聊聊 Data Management
系列文
Data pipeline 建起來!用 Airflow 開發你的 Data pipeline30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言