BigQuery - 複雜資料型別



BigQuery 除了支援 STRING、INTEGER 和 BOOLEAN 等“常規”資料型別外,還支援所謂的複雜資料。這通常也稱為巢狀資料,因為資料不適合傳統的扁平表,必須位於列的子集。

複雜資料結構很常見

對巢狀模式的支援允許更簡化的載入過程。儘管 Google Cloud 將關於以下資料型別的教程列為“高階”,但巢狀資料非常常見。

瞭解如何展平並使用這些資料型別是任何面向 SQL 的開發人員的寶貴技能。

這些資料結構常見的原因是源資料(例如 API 的 JSON 輸出)通常以這種格式返回:

[{data: "id": '125467", "name": "Acme Inc.", "locations": 
   {"store_no": 4, "employee_count": 15}}]
  • 請注意,“id”和“name”位於相同的引用級別。可以使用“data”作為鍵訪問它們。
  • 但是,要獲取諸如“store_no”和“employee_count”之類的欄位,不僅需要訪問 data 鍵,還需要展平“locations”陣列。

這就是 BigQuery 的複雜資料型別支援非常有幫助的地方。資料工程師無需編寫一個迭代並展開“locations”的指令碼,就可以按原樣將這些資料載入到 BigQuery 表中。

BigQuery 中的複雜資料結構

BigQuery 支援以下三種類型的複雜或巢狀資料:

  • STRUCT
  • ARRAY
  • JSON

處理這些型別的方法將在接下來的章節中解釋。

廣告
© . All rights reserved.