- BigQuery 教程
- BigQuery - 首頁
- BigQuery - 概述
- BigQuery - 初始設定
- BigQuery 與本地 SQL 引擎的比較
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 層次結構
- 什麼是 Dremel?
- 什麼是 BigQuery Studio?
- BigQuery - 資料集
- BigQuery - 表
- BigQuery - 檢視
- BigQuery - 建立表
- BigQuery - 基本模式設計
- BigQuery - 修改表
- BigQuery - 複製表
- 刪除和恢復表
- BigQuery - 填充表
- 標準 SQL 與傳統 SQL
- BigQuery - 編寫第一個查詢
- BigQuery - CRUD 操作
- 分割槽和叢集
- BigQuery - 資料型別
- BigQuery - 複雜資料型別
- BigQuery - STRUCT 資料型別
- BigQuery - ARRAY 資料型別
- BigQuery - JSON 資料型別
- BigQuery - 表元資料
- BigQuery - 使用者定義函式
- 連線到外部資料來源
- 整合計劃查詢
- 整合 BigQuery API
- BigQuery - 整合 Airflow
- 整合連線的表格
- 整合資料傳輸
- BigQuery - 物化檢視
- BigQuery - 角色和許可權
- BigQuery - 查詢最佳化
- BigQuery - BI 引擎
- 使用情況和效能監控
- BigQuery - 資料倉庫
- 挑戰和最佳實踐
- BigQuery 資源
- BigQuery - 快速指南
- BigQuery - 資源
- BigQuery - 討論
BigQuery - 使用情況和效能監控
理解使用情況和效能限制至關重要,尤其是在組織內部工作的人員。持續監控消耗大量槽時間的使用者和資料來源,可以幫助 BigQuery 管理員做出關於限制資源訪問的明智決策,並在執行資源密集型作業的團隊之間引發富有成效的討論。
效能儀表盤
為了實現更透明的即時監控,BigQuery 在 BigQuery Studio UI 的監控選項卡中提供了效能儀表盤。
注意 - 每次執行查詢時都會繪製效能圖表。
此外,BigQuery 還為查詢效能提供了一個執行圖,以便更直觀地解釋。
在專案級別,管理員可以在“監控”儀表盤中檢視 BigQuery 資料。監控可在專案級別和資料集級別進行。
專案級別監控
專案級別顯示當前正在執行或“進行中”的查詢數量。
資料集級別監控
在資料集級別,我們可以看到每個表的儲存位元組數。
要訪問和操作這些圖表,請按照以下步驟操作:
- 導航到 BigQuery
- 選擇管理
- 點選監控
- 如果需要:切換即時資料
在此 UI 中,使用者還可以訪問執行狀況,該功能以兩種不同的檢視形式提供資訊:摘要檢視和更詳細的檢視。
執行狀況摘要表中一些管理員和使用者都認為有用的主要指標包括:
- 槽使用率
- Shuffle(資源重新分配)使用率
- 併發性(同時作業數)
- 處理的位元組數
- 作業持續時間
- 總儲存量
注意 - 使用單位為位元組(如有必要,可以轉換為千兆位元組或太位元組)。
為了更細緻的檢視,使用者可以使用本教程前面介紹的元資料查詢技術來查詢 INFORMATION_SCHEMA 檢視。
BigQuery 的常見錯誤
儘管掌握了有關 BigQuery 功能的知識和資訊,但與任何開發過程一樣,錯誤仍然可能發生,事實上,錯誤是不可避免的。由於缺乏平臺經驗,新使用者尤其容易犯 BigQuery 錯誤。
BigQuery 錯誤型別
BigQuery 錯誤分為兩類:
- 基於程式碼的錯誤
- 基於平臺的錯誤
儘管 BigQuery 的 SQL 方言(Google SQL)旨在普遍理解,並類似於其他 SQL 方言,但語法錯誤仍然可能發生,坦率地說,這可能會非常令人沮喪。
BigQuery 語法錯誤
以下是 BigQuery 語法錯誤的非詳盡列表:
- 使用撇號代替反引號。
- 在 FROM 子句中省略資料集或表。
- 不正確地使用 UNNEST()(在 STRUCT 而不是 ARRAY 上)。
- 在使用聚合函式(如 AVG())時忘記 GROUP BY 子句。
- 忘記列名之間的逗號。
基於平臺的錯誤
基於平臺的錯誤源於對 BigQuery 執行約束的誤解,可能包括:
- 執行超過 20 個併發查詢。
- 不將大型查詢的結果寫入表中,導致“結果太大”錯誤。
- 不將大型查詢作為批處理作業執行。
- 覆蓋或截斷表而不是追加結果。
不幸的是,不可能標記 BigQuery SQL 開發人員將會遇到的幾乎所有錯誤。但是,以上代表了您可能會遇到的大量問題。