BigQuery 數據分析總覽
本文說明 BigQuery 如何處理查詢,並概略介紹有助於瞭解及分析資料的幾項功能。
BigQuery 經過最佳化調整,能對大型資料集執行分析查詢,包括在幾秒內查詢 TB 級資料,以及在幾分鐘內查詢 PB 級資料。瞭解這項服務的功能和查詢處理方式,有助於您充分發揮資料分析投資效益。
如要直接在 Google Cloud 控制台中瞭解 BigQuery 的資料分析功能,請按一下「參加導覽」。
分析工作流程
BigQuery 支援多種資料分析工作流程:
臨時分析。BigQuery 使用 GoogleSQL (BigQuery 中的 SQL 語法) 支援臨時分析。您可以在 Google Cloud 控制台中執行查詢,也可以透過與 BigQuery 整合的第三方工具執行查詢。
地理空間分析:BigQuery 會使用地理位置資料類型和 GoogleSQL 地理位置函式,讓您分析及視覺化呈現地理空間資料。如要瞭解這些資料類型和函式,請參閱「地理空間分析簡介」。
搜尋 Google Cloud 資源。使用自然語言搜尋 (預覽版) 在 BigQuery 中探索 Google Cloud 資源。
機器學習。BigQuery ML 可讓您使用 GoogleSQL 查詢,在 BigQuery 中建立及執行機器學習 (ML) 模型。
商業智慧。BigQuery BI Engine 是一種快速的記憶體內分析服務,可讓您建構豐富的互動式資訊主頁和報表,且不會影響效能、擴充性、安全性或資料更新間隔。
AI 輔助。您可以使用 Gemini in BigQuery 準備及探索資料、生成 SQL 查詢和 Python 程式碼,並將結果視覺化。
資料探索
在開始編寫 SQL 查詢之前,BigQuery 可協助您瞭解資料。如果您不熟悉資料、不知道該問哪些問題,或是需要撰寫 SQL 的協助,請使用下列功能:
資料表探索工具。以視覺化方式探索表格中的值範圍和頻率,並以互動方式建構查詢。
資料洞察。生成有關資料的自然語言問題,以及回答這些問題的 SQL 查詢。
資料剖析掃描。查看資料的統計特徵,包括平均值、不重複值、最大值和最小值。
資料畫布。使用自然語言查詢資料、以圖表呈現結果,以及提出後續問題。
查詢
在 BigQuery 中分析資料的主要方式是執行 SQL 查詢。GoogleSQL 方言支援 SQL:2011,並包含支援地理空間分析和機器學習的擴充功能。
資料來源
BigQuery 可讓您查詢下列類型的資料來源:
儲存在 BigQuery 中的資料。您可以將資料載入 BigQuery、使用資料操作語言 (DML) 陳述式修改現有資料,或將查詢結果寫入資料表。您可以在時間回溯期內,查詢特定時間點的歷史資料。
您可以查詢儲存在單一區域或多區域位置的資料,但無法對多個位置執行查詢,即使其中一個是單一區域位置,另一個是包含該單一區域位置的多區域位置也一樣。詳情請參閱「位置、預留項目和工作」。
外部資料。您可以查詢各種外部資料來源,例如 Cloud Storage,或是 Spanner 或 Cloud SQL 等資料庫服務。如要瞭解如何設定外部來源的連線,請參閱「外部資料來源簡介」
多雲資料。您可以查詢儲存在其他公有雲 (例如 AWS 或 Azure) 中的資料。如要瞭解如何設定與 Amazon Simple Storage Service (Amazon S3) 或 Azure Blob 儲存體的連線,請參閱「BigQuery Omni 簡介」。
公開資料集。您可以分析公開資料集市集中的任何資料集。
BigQuery sharing (舊稱 Analytics Hub)。您可以發布及訂閱 BigQuery 資料集和 Pub/Sub 主題,跨機構界線共用資料。詳情請參閱 BigQuery 共用簡介。
查詢作業的類型
您可以使用下列其中一種查詢工作類型查詢 BigQuery 資料:
互動式查詢作業。根據預設,BigQuery 會以互動式查詢工作執行查詢,這類工作會盡快開始執行。
批次查詢工作。批次查詢的優先順序低於互動式查詢。如果專案或預訂項目已用盡所有可用的運算資源,批次查詢就更有可能排入佇列,並留在佇列中。批次查詢開始執行後,運作方式與互動式查詢相同。詳情請參閱「查詢佇列」。
持續查詢工作。 這些工作會持續執行查詢,讓您即時分析 BigQuery 中的輸入資料,然後將結果寫入 BigQuery 資料表,或將結果匯出至 Bigtable 或 Pub/Sub。您可以使用這項功能執行時間敏感型工作,例如建立洞察資料並立即採取行動、套用即時機器學習 (ML) 推論,以及建構事件驅動的資料管道。
您可以使用下列方法執行查詢工作:
- 在Google Cloud 控制台中編寫及執行查詢。
- 在 bq 指令列工具中執行
bq query
指令。 - 透過程式呼叫 BigQuery REST API 中的
jobs.query
或jobs.insert
方法。 - 使用 BigQuery 用戶端程式庫。
已儲存及共用的查詢
儲存查詢時,您可以將查詢設為不公開 (只有您可以檢視)、在專案層級共用 (特定主體可以檢視),或是公開 (任何人都可以檢視)。詳情請參閱「使用已儲存的查詢」。
BigQuery 如何處理查詢
BigQuery 執行查詢時會進行下列程序:
執行樹狀結構。執行查詢時,BigQuery 會產生執行樹狀結構,將查詢分成多個階段。這些階段包含可平行執行的步驟。
隨機播放層級。這些階段會透過快速的分散式重組層來彼此通訊,該層會儲存階段工作站產生的中繼資料。在允許的情況下,Shuffle 層會運用 Petabit 網路和 RAM 等技術,將資料快速移至工作節點。
查詢計畫。BigQuery 取得執行查詢所需的所有資訊後,就會產生查詢計畫。您可以在 Google Cloud 控制台中查看查詢計畫,並使用該計畫排解問題或提升查詢效能。
查詢執行圖表。您可以查看任何查詢 (無論是正在執行或已完成) 的查詢計畫資訊,並以圖形格式呈現,還能查看效能洞察,協助您最佳化查詢。
查詢監控和動態規劃。除了執行查詢計畫本身工作的背景工作程序外,其他背景工作程序也會監控並引導整個系統的工作進度。隨著查詢進度,BigQuery 可能會動態調整查詢計畫,以配合各階段的結果。
查詢結果。查詢完成後,BigQuery 會將結果寫入永久儲存空間,並傳回給使用者。這樣一來,下次執行查詢時,BigQuery 就能提供快取結果。
查詢並行數和效能
在相同資料上重複執行的查詢,效能可能會有所不同,這是因為 BigQuery 環境具有共用性質、使用快取查詢結果,或是 BigQuery 在查詢執行期間動態調整查詢計畫。在一般繁忙的系統中,許多查詢會同時執行,BigQuery 會使用多個程序來消除查詢效能的差異:
BigQuery 會平行執行多個查詢,並可將查詢排入佇列,等到資源可用時再執行。
查詢開始和結束時,BigQuery 會在新查詢和執行中的查詢之間公平地重新分配資源。這項程序可確保查詢效能不會取決於查詢的提交順序,而是取決於特定時間執行的查詢數量。
查詢最佳化
執行查詢時,您可以在 Google Cloud 控制台中查看查詢計畫。您也可以使用 INFORMATION_SCHEMA.JOBS*
檢視畫面或 jobs.get
REST API 方法,要求執行詳細資料。
查詢計畫包含查詢階段和步驟的詳細資料。這些詳細資料可協助您找出提升查詢效能的方法。舉例來說,如果您發現某個階段寫入的輸出內容遠多於其他階段,可能表示您需要在查詢中更早進行篩選。
如要進一步瞭解查詢計畫和查詢最佳化,請參閱下列資源:
查詢監控
監控和記錄功能對於在雲端執行可靠的應用程式至關重要。BigQuery 工作負載也不例外,尤其是大量或任務關鍵工作負載。BigQuery 提供各種指標、記錄和中繼資料檢視畫面,協助您監控 BigQuery 用量。
詳情請參閱下列資源:
- 如要瞭解 BigQuery 的監控選項,請參閱「BigQuery 監控簡介」。
- 如要瞭解稽核記錄和如何分析查詢行為,請參閱「BigQuery 稽核記錄」。
查詢定價
BigQuery 提供兩種用於分析的計價模式:
如要瞭解這兩種計費模式,以及如何預留以容量為準的計費模式,請參閱「預留簡介」。
控管配額和查詢費用
BigQuery 會針對查詢作業的執行,強制採用專案層級的配額。如需查詢配額的相關資訊,請參閱配額與限制。
BigQuery 提供了多種選項來協助您控管查詢費用,包括自訂配額和帳單快訊。詳情請參閱建立自訂的費用控管機制。
資料分析功能
BigQuery 支援描述性和預測性分析,並可協助您透過 AI 輔助工具、SQL、機器學習、筆記本和其他第三方整合服務探索資料。
BigQuery Studio
BigQuery Studio 提供下列功能,協助您探索、分析及執行 BigQuery 資料的推論作業:
- 功能強大的 SQL 編輯器,可提供程式碼自動完成和生成、查詢驗證,以及處理的位元組估算。
- 使用 Colab Enterprise 建立的內嵌 Python 筆記本。筆記本提供一鍵式 Python 開發執行階段,並內建 BigQuery DataFrames 支援功能。
- PySpark 編輯器:可讓您建立 Apache Spark 的預存 Python 程序。
- 程式碼資產 (例如筆記本和儲存的查詢) 的資產管理和版本記錄,以 Dataform 為基礎。
- 在 SQL 編輯器和筆記本中輔助開發程式碼,以 Gemini 生成式 AI 為基礎 (搶先版)。
- Dataplex Universal Catalog 功能,可進行資料探索、資料剖析和資料品質掃描。
- 可依使用者或專案查看工作記錄。
- 可連結 Looker 和 Google 試算表等其他工具,分析已儲存的查詢結果,並匯出這些結果以供其他應用程式使用。
BigQuery ML
BigQuery ML 可讓您在 BigQuery 中使用 SQL 執行機器學習 (ML) 和預測分析。詳情請參閱 BigQuery ML 簡介。
整合 Analytics 工具
除了在 BigQuery 中執行查詢,您也可以使用與 BigQuery 整合的各種分析和商業智慧工具分析資料,例如:
Looker。Looker 是企業平台,提供商業智慧、資料應用程式和嵌入式分析服務。Looker 平台可與許多資料儲存區搭配使用,包括 BigQuery。如要瞭解如何將 Looker 連線至 BigQuery,請參閱「使用 Looker」。
Looker Studio。執行查詢後,您可以直接在Google Cloud 控制台的 BigQuery 中啟動 Looker Studio。接著,您可以在 Looker Studio 中建立視覺化效果,並探索查詢傳回的資料。如要瞭解 Looker Studio,請參閱 Looker Studio 總覽。
連結試算表。您也可以在控制台中,直接從 BigQuery 啟動連結試算表。除了您要求之外,「連結試算表」也可以根據預先排定的時間表,在 BigQuery 中代替您執行查詢。這些查詢的結果會儲存在試算表中,方便您分析及共用資料。如要瞭解連結試算表,請參閱「使用連結試算表」。
Tableau。您可以從 Tableau 連結至資料集。使用 BigQuery 製作圖表、資訊主頁和其他資料視覺化內容。
整合第三方工具
多種第三方分析工具都可與 BigQuery 搭配使用。 舉例來說,您可以將 Tableau 連結至 BigQuery 資料,並使用其圖表工具分析及分享分析結果。如要進一步瞭解使用第三方工具時的注意事項,請參閱第三方工具整合。
您可以使用 ODBC 和 JDBC 驅動程式,將應用程式與 BigQuery 整合。這些驅動程式旨在協助使用者透過現有工具和基礎架構,運用 BigQuery 的強大功能。如要瞭解最新版本和已知問題,請參閱「適用於 BigQuery 的 ODBC 和 JDBC 驅動程式」。
您可以使用 pandas 程式庫 (例如 pandas-gbq
) 在 Jupyter 筆記本中與 BigQuery 資料互動。如要瞭解這個程式庫,以及與使用 BigQuery Python 用戶端程式庫的比較,請參閱「與 pandas-gbq
的比較」。
您也可以搭配其他筆記本和分析工具使用 BigQuery。詳情請參閱「程式輔助分析工具」。
如需 BigQuery 分析和更廣泛技術合作夥伴的完整清單,請參閱 BigQuery 產品頁面上的「合作夥伴」清單。
後續步驟
- 如需簡介及支援的 SQL 陳述式總覽,請參閱「BigQuery 中的 SQL 簡介」。
- 如要瞭解用於查詢 BigQuery 資料的 GoogleSQL 語法,請參閱「GoogleSQL 中的查詢語法」。
- 瞭解如何在 BigQuery 中執行查詢。
- 進一步瞭解如何盡可能提高查詢效能。
- 瞭解如何開始使用筆記本。
- 瞭解如何排定週期性查詢。