- BigQuery 教程
- BigQuery - 首页
- BigQuery - 概述
- BigQuery - 初始设置
- BigQuery 与本地 SQL 引擎
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 层次结构
- 什么是 Dremel?
- 什么是 BigQuery Studio?
- BigQuery - 数据集
- BigQuery - 表
- BigQuery - 视图
- BigQuery - 创建表
- BigQuery - 基本模式设计
- BigQuery - 修改表
- BigQuery - 复制表
- 删除和恢复表
- BigQuery - 填充表
- 标准 SQL 与传统 SQL
- BigQuery - 编写第一个查询
- BigQuery - CRUD 操作
- 分区和聚类
- BigQuery - 数据类型
- BigQuery - 复杂数据类型
- BigQuery - STRUCT 数据类型
- BigQuery - ARRAY 数据类型
- BigQuery - JSON 数据类型
- BigQuery - 表元数据
- BigQuery - 用户定义函数
- 连接到外部数据源
- 集成计划查询
- 集成 BigQuery API
- BigQuery - 集成 Airflow
- 集成连接的表格
- 集成数据传输
- BigQuery - 物化视图
- BigQuery - 角色和权限
- BigQuery - 查询优化
- BigQuery - BI 引擎
- 监控使用情况和性能
- BigQuery - 数据仓库
- 挑战和最佳实践
- BigQuery 资源
- BigQuery - 快速指南
- BigQuery - 资源
- BigQuery - 讨论
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 子句中使用**点表示法** -
查询执行后,您可能会得到如下**输出** -
广告