筆記[工作]-BigQuery文件閱讀:查詢計畫與時程

更新 發佈閱讀 4 分鐘

當BigQuery執行查詢工作時,會將宣告式SQL陳述式轉換成執行圖,圖中會把執行作業拆分成一系列的查詢階段,而這些階段是由更精細的執行步驟組合所組成的。BigQuery會使用大量分散式平行架構來執行這些查詢。階段會模擬許多潛在工作站可能並行執行的工作單元。各階段會透過快速的分散式重組架構通訊。

在查詢計畫中,工作單元和工作站一詞用於傳達並行處理的相關資訊。在BigQuery的其他部分,可能會看到「運算單元」一詞,這是查詢執行作業的多個面向的抽象表示法,包括運算、記憶體和I/O資源。

解讀及最佳化步驟

  • READ步:READ步驟表示階段正在存取資料以供處理。可以直接從查詢中參照的資料表,或從Shuffle記憶體中讀取資料。
  • COMPUTE步:在COMPUTE步驟中,BigQuery會對資料執行下列動作:
    • 評估查詢的SELECT、WHERE、HAVING和其他子句中的運算式,包括計算、比較和邏輯運算。
    • 執行內建SQL函式和使用者定義函式。
    • 根據查詢中的條件篩選資料列。
  • WRITE步:WRITE步驟會針對中繼資料和最終輸出結果執行。寫入Shuffle記憶體:在多階段查詢中,WRITE步驟通常會將已處理的資料傳送至另一個階段,以便進一步處理。這通常是亂數記憶體的情況,因為亂數記憶體會結合或匯總來自多個來源的資料。這個階段寫入的資料通常是暫時結果,而非最終輸出內容。或者,最終輸出內容:查詢結果會寫入目的地或暫時性資料表。
  • JOIN步:在JOIN步驟中,BigQuery會結合兩個資料來源的資料。
  • AGGREGATE步:在AGGREGATE步驟中,BigQuery會匯總及分組資料。
  • REPARTITION步:REPARTITION和COALESCE都是BigQuery直接套用至查詢中隨機排序資料的最佳化技巧。
    • REPARTITION:此運算旨在重新平衡各工作節點的資料分布情形。假設在重新排序後,一個worker節點會產生不成比例的大量資料。REPARTITION步驟會更平均地重新分配資料,避免任何單一工作站成為瓶頸。這對於需要大量運算的作業(例如彙整)尤其重要。
    • COALESCE:如果在洗牌後有許多小資料區塊,就會執行這個步驟。COALESCE步驟會將這些桶合併為較大的桶,藉此減少管理大量小型資料的額外負擔。在處理非常小的中間結果集時,這項功能尤其實用。
    • 如果查詢計畫中顯示REPARTITION或COALESCE步驟,不一定表示查詢有問題。這通常表示BigQuery正在主動最佳化資料分發作業,以提升效能。不過,如果您屢次看到這些作業,可能表示資料本身有偏差,或是查詢導致過度重複排序資料。

聯合查詢說明

聯合查詢可使用EXTERNAL_QUERY函式,將查詢陳述式傳送至外部資料來源。聯合查詢會採用稱為SQL推送的最佳化技術。這些函式會將篩選等作業委派給外部資料來源,而非在BigQuery中執行,藉此提升查詢效能。

API 表示法範例

查詢計劃資訊會內嵌於工作回應資訊,可以呼叫 jobs.get 擷取該資訊。

HTTP request

GET https://bigquery.googleapis.com/bigquery/v2/projects/{projectId}/jobs/{jobId}

The URL uses gRPC Transcoding syntax.


留言
avatar-img
留言分享你的想法!
avatar-img
柴郡貓姍蒂的沙龍
49會員
39內容數
2025/08/24
_Default Bucket 是GCP自動為每個Google Cloud Project建立的預設日誌儲存桶,大部分的日誌(像是稽核記錄、GKE logs、Compute Engine logs等)預設都會儲存在這裡。 每個_Default bucket預設會包含以下view: _AllLo
2025/08/24
_Default Bucket 是GCP自動為每個Google Cloud Project建立的預設日誌儲存桶,大部分的日誌(像是稽核記錄、GKE logs、Compute Engine logs等)預設都會儲存在這裡。 每個_Default bucket預設會包含以下view: _AllLo
2025/08/24
VPC Serverless Connectors 是Google Cloud提供的一種機制,允許「Serverless工作負載(如Cloud Run、Cloud Functions、App Engine標準環境)」安全且私密地連線到使用者的VPC資源(例如 VM、Cloud SQL、Redis、
2025/08/24
VPC Serverless Connectors 是Google Cloud提供的一種機制,允許「Serverless工作負載(如Cloud Run、Cloud Functions、App Engine標準環境)」安全且私密地連線到使用者的VPC資源(例如 VM、Cloud SQL、Redis、
2025/08/24
SSO SSO全名為Single Sign On,意思是多個登入端點,皆採用相同的認證管道。就是當企業有多個網站時,可以從一個統一的入口登入帳戶,接著就所有的網站都能使用。常見的例如Google這樣的多服務平台,無論要登入Gmail、雲端硬碟還是Youtube,都會導向到同一個 Google 登入
2025/08/24
SSO SSO全名為Single Sign On,意思是多個登入端點,皆採用相同的認證管道。就是當企業有多個網站時,可以從一個統一的入口登入帳戶,接著就所有的網站都能使用。常見的例如Google這樣的多服務平台,無論要登入Gmail、雲端硬碟還是Youtube,都會導向到同一個 Google 登入
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
※ GROUP BY 用於將數據表中的數據按照一個或多個列進行分組。例如在處理一個表格的資料時,可以指定欄位,一個或是多個,然後把將其視為ID進行分組處理。 ※ 語法 SELECT column1, column2, ..., aggregate_function(column) FROM
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
在網路速度有限的情況下,依序記錄不斷產生的資訊,能統計使用者在頁面上操作了哪些功能。
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News