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 會產生執行樹狀結構,將查詢拆分為多個階段。這些階段包含可同時執行的步驟。
隨機播放等級:各階段會透過快速的分散式重組層通訊,該層會儲存階段工作者產生的中繼資料。在可行情況下,排序層會利用 petabit 網路和 RAM 等技術,將資料快速移至 worker 節點。
查詢計畫。當 BigQuery 取得執行查詢所需的所有資訊後,就會產生查詢計畫。您可以在 Google Cloud 控制台查看查詢計畫,並用於排解問題或提升查詢效能。
查詢執行圖。您可以查看任何查詢 (無論是執行中或已完成) 的查詢計畫資訊 (以圖形格式呈現),並查看效能洞察,協助您改善查詢。
查詢監控和動態規劃。除了執行查詢計畫本身工作的 worker 之外,其他 worker 也會監控並引導整個系統的工作整體進度。隨著查詢的進度,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 簡介。
整合分析工具
除了在 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-gbq
等 pandas 程式庫可讓您在 Jupyter Notebook 中與 BigQuery 資料互動。如要瞭解這個程式庫,以及與使用 BigQuery Python 用戶端程式庫的比較,請參閱「與 pandas-gbq
的比較」。
您也可以將 BigQuery 與其他筆記本和分析工具搭配使用。詳情請參閱「程式輔助分析工具」。
如需 BigQuery 分析和其他技術合作夥伴的完整清單,請參閱 BigQuery 產品頁面上的「合作夥伴」清單。
後續步驟
- 如需支援的 SQL 陳述式簡介和總覽,請參閱 BigQuery 中的 SQL 簡介。
- 如要瞭解用於查詢 BigQuery 資料的 GoogleSQL 語法,請參閱「GoogleSQL 中的查詢語法」。
- 瞭解如何在 BigQuery 中執行查詢。
- 進一步瞭解如何最佳化查詢效能。
- 瞭解如何開始使用Notebooks。
- 瞭解如何排定週期性查詢。