iT邦幫忙

pyspark相關文章
共有 33 則文章

技術 Ep19|同一個 Spark application,放到 YARN 或 Kubernetes 後誰替它找資源?

在真實的大型資料場景裡,許多 applications、團隊與排程工作會同時競爭 CPU、memory 與機器。透過單一 Standalone cluster...

技術 Ep18|Executor 消失時,Spark 怎麼繼續跑?從 task retry 看 application 的恢復路徑

Ep15 到 Ep17 把 Standalone cluster 裡的角色、task 與資料位置拆開觀察。到這裡,其實還缺少一個真正會影響 production...

技術 Ep17|資料、shuffle、cache 到底落在哪裡?

Ep15 先把 Master、Worker、Driver、Executor 放回同一張 cluster 地圖;Ep16 再從 spark-submit 出發,看...

技術 Ep16|同一個 Spark job 進 cluster 後,task 如何被送到 Executor?

Ep15 建立了 Spark Standalone cluster,也確認 Master、Worker、Driver 與 Executor 的位置。這一集沿用同...

技術 Ep15|我的第一個 Spark cluster:Master、Worker、Driver、Executor 分別在哪裡?

前面幾集我都在筆電的 local mode 跑 Spark。程式能執行、Spark UI 也能看見 Job、Stage 與 Task,但是進入正式工作的叢集環境...

技術 Ep14|同一份表,Spark 為什麼能少讀那麼多資料?從 Parquet 結構看 column pruning、predicate pushdown 與 partition pruning

上一集看完 Parquet 的 row group、column chunk 與 footer 後,我想接著深入了解一個更實際的問題:當我只查兩個欄位、只要某一...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

技術 Ep06|Partition 不只是資料切塊:它如何決定 Task 數與平行度?

上一集,我知道 wide transformation 會透過 shuffle 切出新的 stage。接著我想追一個更具體的問題:同一個 stage 裡,Spa...

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

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

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

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

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

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

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

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

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

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

鐵人賽 AI/ ML & Data DAY 29

技術 Day28:高頻交易系統與程式交易雲端部署簡介

在昨天的課程中我們講解了串接API來建立自己的交易機器人,在本課中,我們將結合高頻交易的概念,深入探討如何在雲端環境中部署和實現高頻交易系統。我們將了解雲服務(...

鐵人賽 AI & Data DAY 12
30天胡搞瞎搞學會pyspark 系列 第 12 篇

技術 [ Day 12 ] - Pyspark | 清理 - 特殊資料型態篇 - Array : explode()

啊今天先來簡單介紹一下什麼事ArrayType()ArrayType()主要是將Array放入整個dataframe 中,然後Do Re Mi So你的Data...

鐵人賽 AI & Data DAY 11
30天胡搞瞎搞學會pyspark 系列 第 11 篇

技術 [ Day 11 ] - Pyspark | 清理 - 字串篇-2.2 : regexp_extract(), regexp_replace(), rlike()

相信經過前一篇落落長的說明後,應該很了解regular expression是在幹嘛了吧那我們今天就開始來進入Pyspark與regular expressio...

鐵人賽 AI & Data DAY 10
30天胡搞瞎搞學會pyspark 系列 第 10 篇

技術 [ Day 10 ] - Pyspark | 清理 - 字串篇-2.1 : 正規表示式科普( regular expression )

終於進入雙位數了我好感動,每日日更不存稿,讓我下定決心,以後要做這種奇奇怪怪的挑戰前,千萬要深思熟慮好好存稿,不然每天的內容都讓自己想哭好啦那還是來進入正題吧!...

鐵人賽 AI & Data DAY 9

技術 [ Day 9 ] - Pyspark | 清理 - 字串篇-1 - 切切切 : split(), substr()

昨天講完了如何處理timestamp()的時間格式該如何處理,今天就讓我們來看看,最大宗的部分,字串!講到字串,最常使用的就是大名鼎鼎的split(),subs...

鐵人賽 AI & Data DAY 8

技術 [ Day 8 ] - Pyspark | 清理 - 時間篇 - 2 Timestamp 轉換 : User Defined Function 的出現

在多數情況下,使用to_timestamp(),幾乎可以解決掉所有的時間轉換問題,但Data Cleaning 是永遠不會讓你好過的,那這時候可以怎麼做呢?這時...

鐵人賽 AI & Data DAY 7

技術 [ Day 7 ] - Pyspark | 清理 - 時間篇 - 1 : Timestamp 轉換 : to_timestamp()

各種各樣的轉換,時間今天是星期五,應該是容許水一天的吧 1. to_timestamp(col,format) 基本上就是針對日期格式做相對應的轉換! 詳細情...

鐵人賽 AI & Data DAY 6

技術 [ Day 6 ] - Pyspark | 介紹 - DataFrame篇 - Sample

在資料處理的領域,除了前幾天說的那些overview之外,了解了整個宏觀的資料集,我們還是會需要深入去確認資料的樣態,當資料集有排序性的時候,使用show(),...

鐵人賽 AI & Data DAY 5

技術 [ Day 5 ] - Pyspark | 介紹 - DataFrame篇 - Filter

過濾一些選擇,可以得到更好的資訊,或許也可以成為一個更好的人吧?就像你要找一個非常優秀的吹風機時,你也會在購物網站下一些特定的filter()讓你能夠更快速的選...

鐵人賽 AI & Data DAY 4

技術 [ Day 4 ] - Pyspark | 介紹 - DataFrame篇 - Select

21天可以養成一個好習慣, 但3天就可以放棄, 但我今天還是準時坐在這裡, 所以今天你的選擇是什麼呢?我們今天要來討論的是,選擇阿不是啦是select() 其實...

鐵人賽 AI & Data DAY 3

技術 [ Day 3 ] - Pyspark | 介紹 - DataFrame篇 - Data Overview

上一篇簡述了5個讀取資料的方法,是不是開始迫不及待的想要馬上開始進行Data的操作啦先別急先別急,在我們開始實際針對DataFrame 進行操作之前, 先來看看...