BigQuery - STRUCT 資料型別



STRUCT 和 ARRAY 是開發人員在 BigQuery 的列式結構中儲存巢狀資料的方式。

什麼是 Struct?

STRUCT 是一組具有指定型別(必需)和欄位名稱(可選)的欄位的集合。值得注意的是,與 ARRAY 不同,STRUCT 型別可以包含混合的資料型別。

為了更好地理解 STRUCT 型別,請再次檢視上一章中的示例,現在進行了一些更改。

"locations": [
   {"store_no": 4, "employee_count": 15, "store_name": "New York 5th Ave"}, 
   {"store_no": 5, "employee_count": 30, "store_name": "New York Lower Manh"}
]

之前“locations”是相同型別的**字典**(用 JSON 表示),現在它包含兩個 STRUCT,其型別為**<整數,整數,字串>**。

  • 儘管支援 STRUCT 型別,但在表建立階段,BigQuery 沒有提供顯式的 STRUCT 標籤。
  • 相反,STRUCT 表示為具有 NULLABLE 模式的 RECORD。

**注意** - 將 STRUCT 視為容器而非專用資料型別。

在模式中定義時,STRUCT 內部的元素將用“.”表示和選擇。此處,**模式**將為 -

{"locations", "RECORD", "NULLABLE"},
{"locations.store_no", "INTEGER", "NULLABLE},
{"locations.employee_count", "INTEGER", "NULLABLE"},
{"locations.store_name", "STRING", "NULLABLE"}

點表示法

要選擇 STRUCT 元素,需要在 FROM 子句中使用**點表示法** -

dot Notation

查詢執行後,您可能會得到如下**輸出** -

dot Notation
廣告

© . All rights reserved.