BigQuery - 表元数据



能够分析和理解组织数据的范围和内容固然重要,但对于SQL 开发人员而言,了解使用 BigQuery 的性能和存储成本方面也至关重要。

这时,查询 BigQuery 表元数据对于开发人员来说可能很有用,对于寻求充分利用 SQL 引擎的组织来说更是宝贵。

对于那些没有广泛使用元数据的人来说:元数据顾名思义,是关于数据的数据。通常这与围绕资源性能或监控等方面的统计数据有关。

BigQuery 提供了多个元数据存储,用户可以查询这些存储以更好地了解其项目如何消耗资源,其中包括:

  • INFORMATION_SCHEMA
  • __TABLES__ 视图
  • BigQuery 审计日志

每个表都可以像查询存储数据一样进行查询。

对于 INFORMATION_SCHEMA 和 __TABLES__,需要注意的是表引用的语法有所不同。

不是遵循典型的:project.dataset.table 表示法,INFORMATION_SCHEMA 和 __TABLES__ 的元素是在结束反引号后引用的。

INFORMATION_SCHEMA 是一个数据源,它有几个分支资源,例如 COLUMNS 或 JOBS_BY_PROJECT

例如,引用 INFORMATION_SCHEMA 看起来像这样:

Project Dataset Table

它将获取以下输出

Project Dataset Table

TABLES 视图

TABLES 视图提供表级别的信息,例如表创建时间和最后访问表的用户。需要注意的是,TABLES 视图可在数据集级别访问。

Bigquery TABLES View

它将获取以下输出

Bigquery TABLES View Output

基于现有表创建模式

INFORMATION_SCHEMA.COLUMNS 的一个有用的用例是能够使用此查询基于现有表创建模式:

Creating a Schema Based on an Existing Table
广告