BigQuery - 概述



BigQuery 是 Google Cloud Platform (GCP) 的結構化查詢語言 (SQL) 引擎。BigQuery 允許使用者使用無伺服器雲基礎設施即時查詢、建立和操作資料集。因此,學生、專業人士和組織能夠以幾乎無限的規模儲存和分析資料。

與其他一些 Google 計劃一樣,BigQuery 最初是 Google 開發人員用於處理和分析大型資料集的內部工具。自 2006 年以來,Google 員工一直在使用 BigQuery 及其前身 Dremel。在 Google 內部取得成功後,GCP 於 2010 年首次釋出了 BigQuery 的測試版,然後在 2011 年將其廣泛提供。

BigQuery 如何超越競爭對手?

儘管在 BigQuery 釋出時市場上有很多 SQL 引擎和整合開發環境 (IDE),但 BigQuery 利用了幾個競爭優勢,其中包括:

  • 開創了一種基於槽的查詢系統,該系統可以根據使用者需求自動分配計算能力或“槽”
  • 提供與多種程式語言(從 PythonJavaScript)的 API 整合
  • 使使用者能夠訓練、執行和部署用 SQL 編寫的機器學習模型
  • 與 Google Data Studio(已棄用)和 Looker 等視覺化平臺無縫整合
  • 能夠儲存和查詢 ARRAY 和 STRUCT 型別,這兩種都是複雜的 SQL 資料型別

為了幫助學生和專業人士,BigQuery 提供了關於函式、公共資料集和可用整合的可靠文件。

Google BigQuery 使用案例

如果使用得當,Google BigQuery 可以用作個人或組織的 資料倉庫。但是,由於 BigQuery 面向 SQL,因此最適合用於具有結構化資料而不是非結構化資料的資料來源。

Google 的雲架構促進了可靠的儲存並實現了幾乎無限的可擴充套件性。這使得 BigQuery 成為企業的熱門選擇,尤其是在生成或攝取大量資料的組織中。

要真正理解 BigQuery 的強大功能,瞭解不同資料團隊角色之間的用例差異非常有幫助。

  • 資料分析師 - 將 BigQuery 與 Tableau 或 Looker 等資料視覺化工具結合使用,為組織領導層建立頂級報告。
  • 資料科學家 - 利用 BigQuery 的機器學習功能 Big ML 建立和實施 ML 模型。
  • 資料工程師 - 使用 BigQuery 作為資料倉庫並構建檢視和使用者定義函式等工具,使終端使用者能夠在清理後的預處理資料集中發現見解。

當結合使用時,BigQuery 提供了一個最佳化儲存並生成細緻入微的見解以提高增長和收入的機會。

在 BigQuery 中載入資料

在 BigQuery 中載入資料非常簡單直觀,雲開發人員可以使用多種選項。BigQuery 可以以多種形式攝取資料,包括:

  • CSV
  • JSON
  • Parquet

BigQuery 還可以與 Google 表格等 Google 整合同步以建立即時連線表。BigQuery 可以載入儲存在 Google Cloud Storage 等雲端儲存儲存庫中的檔案。

開發人員還可以利用以下方法將資料乾淨地載入到 BigQuery 中:

  • BigQuery 資料傳輸,一種與 GCP 資料(如 Google Analytics)整合的無程式碼資料管道。
  • 包含 CRUD 語句以建立、刪除或刪除表的基於 SQL 的管道。
  • 利用 BigQuery API 執行批處理或流載入作業的管道。
  • 提供 BigQuery 連線的Fivetran等第三方管道。

定期從上述來源載入資料使下游利益相關者能夠可靠地訪問及時、準確的資料。

BigQuery 查詢基礎

瞭解 BigQuery 使用案例以及如何正確載入資料非常有幫助,但學習 BigQuery 的初學者很可能從查詢層開始。

BigQuery 中的表引用約定

在編寫第一個 SELECT 語句之前,瞭解 BigQuery 中的表引用約定非常有幫助。

BigQuery 的語法與其他 SQL 方言不同,因為正確的 BigQuery SQL 需要開發人員將表引用括在單引號中,如下所示:' '

表引用涉及三個元素:

  • 專案
  • 資料集

組合在一起,當在 SQL 查詢或指令碼中引用 BigQuery 表時,它看起來像這樣:

'my_project.dataset.table'

一個基本的 BigQuery 查詢如下所示:

SELECT * FROM 'my_project.dataset.table.'

傳統 SQL 和標準 SQL

BigQuery SQL 與其他型別的 SQL 之間的一個重要區別是,BigQuery 支援兩種 SQL 分類:傳統標準

  • 傳統 SQL 使使用者能夠使用舊的、可能已棄用的 SQL 函式。
  • 標準 SQL 代表了 SQL 的更新解釋。

出於我們的目的,我們將使用標準 SQL 指定。

在 BigQuery 中編寫查詢時需要注意的事項

與其他 SQL 環境不同,當您在 BigQuery 中編寫查詢時,UI 會自動告訴您查詢是否會執行以及它將處理多少資料。請注意,處理的資料量與預計的執行時間之間幾乎沒有確定的相關性。

  • 執行後,您的查詢將返回在 UI 中可見的結果,這類似於檢視電子表格或 Pandas 資料框。
  • 您還可以選擇將結果下載為 CSV 或 JSON 檔案,這兩種方法都提供了一種簡單的方法來儲存資料以便以後使用。
  • 如果您需要儲存查詢文字以供以後執行或編輯,BigQuery 還提供了一個選項來儲存查詢並進行版本控制,以幫助跟蹤更改。

在企業級執行 BigQuery

在擁有多個 BigQuery 使用者的組織中執行查詢時,務必牢記以下幾個因素,以確保您的查詢能夠在不中斷或不導致其他使用者擁塞的情況下執行:

  • 避免在高峰使用時間執行查詢。
  • 儘可能使用 WHERE 子句來縮小處理的資料量。
  • 對於大型表,建立使用者可以更輕鬆、更有效地查詢的檢視。

從學習 BigQuery 到在企業級執行查詢需要時間來了解特定於您的組織的變數,例如槽使用情況和計算資源消耗。

但是,首先有必要更深入地瞭解如何在 BigQuery 中構建和最佳化查詢。

廣告

© . All rights reserved.