
- 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 - 复杂数据类型
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
处理这些类型的方法将在接下来的章节中解释。
广告