iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

管線無所不在,雖然說日常生活中常常不會注意到其存在,但是卻對我們的生活影響非常大。舉例來說,在做裝潢時,就必須要把未來房屋的使用情景進行評估。並且需要針對屋主進行配置不同管線的配置設計,過程中需要考量到許多問題:這個房間需不需要用到電?需不需要配置網路線?管線要怎麼走要走明線暗線等等,有很多需要去思考的面向。如果沒有配置好該配置的管線,對於未來在這房屋中生活的人會造成許多的困擾。

https://ithelp.ithome.com.tw/upload/images/20230921/20140477XrmXoUriBP.png
圖片來源:自己

同樣的,在資料的領域當中,資料管線也是不可或缺的一個元素。建立良好的管線可以幫助公司及團隊能夠擁有良好的Data Management,進而也擁有良好的資料品質。

什麼是 Data pipeline

A data pipeline is a method in which raw data is ingested from various data sources and then ported to data store, like a data lake or data warehouse, for analysis. Before data flows into a data repository, it usually undergoes some data processing. This is inclusive of data transformations, such as filtering, masking, and aggregations, which ensure appropriate data integration and standardization.
-- IBM

IBM 提到,資料管道是一種將原始數據從各種數據來源擷取,之後傳輸到像是數據湖或數據倉庫這些資料存儲中的方式,用以進行分析。在數據流入資料存儲之前,通常需要進行一些數據處理。這包括數據轉換,如過濾、遮罩和聚合,以確保適當的數據集成和標準化。

我們真的需要 Data pipeline 嗎?

生活不斷在走,走著走著若沒有及時思考的話,慢慢的就會變得盲目的生活,常常思考生活的 WHY 可以幫助自己持續朝著目標來去前進。那放在技術的選用也是一樣,身為資料工程師的我們可能都被交付到建立 Data pipeline工作,但是我們有思考過到底為什麼會需要 Data pipeline呢?

其實 Data pipeline 的工作其實從很早開始就有了,常聽到許多人需要整理資料彙整成報表,需要定期將一些數據結算。很多公司也會有使用一些script, cronjob做一些資料的處理,有了這些工具的話我還需要一個現代的 Data pipeline嗎?

答案當然不是絕對的是或不是,隨著任務、服務、以及系統的複雜度,會有屬於每個單位最適合的答案,然而在資訊化的時代建立成 Data pipeline 其實對於組織及部門是有非常多好處的:

  • 靈活性
    由於將需要處理的任務皆實作成Data pipeline,因此能夠輕易地擴張或是調整,如果任務需要處理的資料暴增,在現代的Data pipeline架構中可以輕易的擴充。如果任務有需要修改調整,也可以很輕易地修改 Data pipeline 來達成目的
  • 提升資料品質
    因為有固定的 Data pipeline 我們可以很固定的進行資料的整理。不會發生人為的錯誤。進而能夠提升資料的品質。
  • 規則化
    因為資料清洗整合的邏輯都實作成程式碼,所以我們可以根據每個我們建立的版本程式得到相對我們期待的資料格式。
  • 資料整合效率
    以著Data pipeline的方式及思維進行資料的處理,所有流程可以彼此搭配,讓資料可以即時的流動到我們所期盼的位置並加以使用。
  • 提升決策品質
    結合上述所有品質和效率的提升,決策者或是演算法能夠依據好的資料品質很有效率地做出良好的決策。

Data pipeline 的組成

了解了 Data pipeline 是不是覺得很是想要捲起袖子來建一建 Data pipeline呢?話不多說,我們馬上來了解一下 Data pipeline 的基本組成:

  • Data source
    在建立 Data pipeline 首先我們要知道的是我們的 Data source 是什麼,資料的可能會有很多種,有可能是資料庫,主機裡的資料,甚至是網頁資料。
  • Data ingestion
    了解 Data source 之後針對其特性進行資料的擷取,擷取之後有時候會先暫存在某一個暫存空間,有時則會直接進行之後的步驟,需要實際的情況進行設計。
  • Data flow
    Data pipeline 會有其Data flow,透過清楚的Data flow讓資料經過各種流程的處理。
  • Data processing
    在 Data flow 中資料會進行不同的資料處理,包含資料的清洗資料的整合等等。
  • Data target
    Data pipeline 會有一個資料要去的目標位置,通常會是資料庫或是資料湖等儲存空間
  • Monitoring
    在整個 Data pipeline 流程當中需要縝密的監控,確保資料順利地被處理,如果有例外狀況也能很輕易的找到問題並解決。

Reference
https://hevodata.com/learn/advantages-of-data-pipelines/
https://www.altexsoft.com/blog/data-pipeline-components-and-types/
https://www.fimmick.com/2023/08/02/data-pipeline-what-is-component-marketing-uses/


上一篇
『Day5』 來聊聊 Data Management
下一篇
『Day7』 Data pipeline 的種類
系列文
Data pipeline 建起來!用 Airflow 開發你的 Data pipeline30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言