iT邦幫忙

data engineering相關文章
共有 52 則文章
鐵人賽 AI & Data DAY 4
資料工程師修煉之路 系列 第 4 篇

技術 [Day 4] Data Model (1) - Relational Model and Document Model

資料模型 (Data Model) 是所有軟體開發中最重要的環節,每個資料表示層級要如何向更低層級表達資料項目? 看起來有點饒舌,資料表示層級舉例來看: 應...

鐵人賽 AI & Data DAY 14
資料工程師修煉之路 系列 第 14 篇

技術 [Day 14] Encoding and Evolution(2) - Json, XML, CSV 和 Binary variants (二進制變體)

接續 Day 13 JSON, XML, CSV 和 Binary Variants (二進制變體) JSON, XML, CSV 都是很廣泛為人知、多人使...

鐵人賽 AI & Data DAY 9
資料工程師修煉之路 系列 第 9 篇

技術 [Day 9] Storage and Retrieval(2) - SSTables and LSM-Tree

接續 Day 8 SSTables 延續前一天講的 log-structure,其中我們在意的是相同 key 的資料順序要對,如此才能知道哪筆資料是新的嘛,...

鐵人賽 AI & Data DAY 16
資料工程師修煉之路 系列 第 16 篇

技術 [Day 16] Encoding and Evolution(4) - Avro

接續 Day 15 Avro 最後一個要來談的 binary encoding 方式是 Apache Avro ,閞始於 Hadoop 底下的子專案,它很明...

鐵人賽 AI & Data DAY 10
資料工程師修煉之路 系列 第 10 篇

技術 [Day 10] Storage and Retrieval(3) - B-Tree and comparing LSM-Trees

B-Tree 再來要介紹一個非常常用的 index 結構 B-Tree 和它會用到 storage engine (儲存引擎) page-oriented ,...

鐵人賽 AI & Data DAY 6
資料工程師修煉之路 系列 第 6 篇

技術 [Day 6] Data Model(3) - Graph-Like Data Model

接續 Day 5 Graph Data Model 初探 最後要來談談 Graph Data Model,若你軟體的資料關係是大部份一對多,使用 Docum...

鐵人賽 AI & Data DAY 5
資料工程師修煉之路 系列 第 5 篇

技術 [Day 5] Data Model (2) - Relational Versus Document Model

接續 Day 4 內容 Relational vs. Document database 這裡有許多可以比較的點,像容錯能力和如何處理並行執行緒,但最主要的...

鐵人賽 AI & Data DAY 11
資料工程師修煉之路 系列 第 11 篇

技術 [Day 11] Storage and Retrieval(4) - OLTP and OLAP

Transaction Processing or Analytics? 每一個資料庫都能許多種不同型態的資料,如 blog 貼文、遊戲資料、聯絡人資訊等等,應...

鐵人賽 AI & Data DAY 12
資料工程師修煉之路 系列 第 12 篇

技術 [Day 12] Storage and Retrieval(5) - Column-Oriented Storage

接續 Day 11 Column-Oriented Storage 想像一下如果你的 fact table 有上兆筆資料,資料大小是 PB,dimensio...

鐵人賽 AI & Data DAY 3
資料工程師修煉之路 系列 第 3 篇

技術 [Day 3] Reliable, Scalable, and Maintainable Application (2)

接續 Day 2 內容 Scalable (可擴充的) 數據系統現在 Reliable 不代表未來也是 Reliable,系統會進步, 這裡討論的 Scal...

鐵人賽 AI & Data DAY 7
資料工程師修煉之路 系列 第 7 篇

技術 [Day 7] Data Model(4) - Triple-Store Graph Model 和 總結

接續 Day 6 Triple-Stores and SPARQL 最後要談的就是 Triple-store Graph Model,跟之前講的 Prope...

鐵人賽 AI & Data DAY 8
資料工程師修煉之路 系列 第 8 篇

技術 [Day 8] Storage and Retrieval (1) - Log structured and Hash Index

前面幾天我們談了 Data Model,為你的數據系統挑個合適 Data Model 後,接下來就要談談怎麼儲存與檢索了,資料庫 (database) 就做這...

鐵人賽 AI & Data DAY 13
資料工程師修煉之路 系列 第 13 篇

技術 [Day 13] Encoding and Evolution(1)

Everything changes and nothing stands still.—Heraclitus of Ephesus, as quoted b...

鐵人賽 AI & Data DAY 15
資料工程師修煉之路 系列 第 15 篇

技術 [Day 15] Encoding and Evolution(3) - Thrift and Protocol Buffers

接續 Day 14 Thrift and Protocol Buffers 再來要講的 binary encoding 工具就是 Apache Thrift...

鐵人賽 AI & Data DAY 17
資料工程師修煉之路 系列 第 17 篇

技術 [Day 17] Encoding and Evolution (4-2) - Avro Evolution

接續 Day 16 Writer's schema and Reader's schema 這裡 Avro 把 encoding 跟 decoding 動作...

鐵人賽 AI & Data DAY 4

技術 [Day 4] 資料產品第二層 - 資料加工術 - 資料驗證與清洗

稻米就算採收,也無法直接食用,需要經過一系列的加工才能送到消費者的手裡。 (圖片來源:富里鄉農會) 這個流程跟加工資料的流程並沒有什麼太大的差異,常見的資料基...

鐵人賽 AI & Data DAY 3

技術 『Day3』Data team 的組成以及資料工程師的角色

團隊的合作方式從古至今總是不斷的演變當中,雖然工程師的歷史並沒有很長,但是變化卻十分快速。就像是網站工程師一般,過去也沒有這麼細分為前端禍後端,常常每個人都是全...

技術 Ep09|同一份 DataFrame 為什麼又跑一次?Cache、persist 與 checkpoint

前幾集我一直用 Spark UI 追著 Job、Stage、task 與 shuffle 跑。這讓我開始注意到另一種很常見、卻不一定一眼看得出的浪費:明明是同一...

技術 Ep03|打開 Spark UI:單機 Spark 也看得到 DAG、Stage 與 Task

上一集,我知道 action 出現後,Spark 才會開始規劃並執行工作。不過「切成 stage」、「分配 task」還是有點抽象;我想親眼看看它們到底長什麼樣...

技術 Ep10|一張表從名字到檔案:Spark 資料儲存全貌

前幾集我一路追 Spark 的 Job、Stage、task、shuffle 和輸出檔案。當資料寫完後,我平常很自然地會在下一個 job 裡寫下 spark.t...

技術 Ep01|我每天都在跑 Spark,但先讓它在我的筆電上跑一次吧!

前言 大家好,我是 Jeffery,我是一名 Junior MLE!我的日常工作總是離不開應用 PySpark 建立與維運 Data ETL pipeline...

技術 Ep02|local mode 下的一段 PySpark 程式,到底經歷了什麼?

上一集,我終於在自己的筆電上啟動了 Spark。不過接著又有一個更貼近日常開發的問題:明明我已經連續寫了好幾個 DataFrame 操作,為什麼總是到 show...

技術 Ep11|Hive Metastore、warehouse 與 Hive-style table:metadata 到底管理了什麼?

上一集,我用一個簡單的 table 走過整個資料存儲的生態系,了解整體架構的全局樣貌。今天我想要深入了解 Metastore 管理資料表的生命週期,當 Spar...

技術 Ep07|同一段 DataFrame pipeline,Task 數為什麼會變?從 Shuffle 到 AQE

上一集,我從輸入資料看見:來源有幾個 partition,沒有 shuffle 的 stage 通常就有幾個 task。不過日常寫 DataFrame pipe...

技術 Ep08|資料寫出前怎麼安排 partition?repartition、coalesce、partitionBy

資料處理完成後,Spark 的工作還沒有結束。下游不會讀取「上一個 stage 有幾個 task」,它讀取的是 Parquet 檔案。檔案太小,會多出開檔、me...

技術 Ep12|Iceberg 為什麼重新定義一張表?從 Hive-style table 到 modern table format

上一集我追著 Hive Metastore 看 table name、schema 與 location 如何跨 SparkSession 被重新找到,也看見...

技術 Ep04|資料在哪裡、程式在哪裡跑:從 local mode 畫出資料平台地圖

前幾集我已經在筆電上跑起 Spark,也在 Spark UI 裡看過 Job、Stage 和 Task。不過我還是常常把幾個名詞混在一起:Driver、JVM、...

技術 Ep05|Narrow、Wide 與 Shuffle:Spark 怎麼切出 Stage?

前幾集裡,我已經知道 DataFrame 的 transformation 會先累積,等 action 出現才執行;也在 Spark UI 看過 Job、Sta...

技術 Ep13|Parquet、ORC、CSV、JSON:資料檔格式怎麼影響 Spark?

Ep12 讓我理解 Iceberg 如何管理一張 table 的 schema、snapshot 與 data files;這次我想再往下一層追問:同一筆 ev...

鐵人賽 AI & Data DAY 2

技術 『Day 2』什麼是 Data Engineering

記得在學生時期,我因為對於學校的選課網站操作不太習慣,於是便自己寫了一個簡單的爬蟲程式,用來自動抓取課程資訊和教師評價。經整理後,我和朋友合作設計了一個使用者友...