BigQuery - 表元数据

虽然能够分析和理解组织数据的范围和内容很重要,但对于 SQL 开发人员来说,了解使用 BigQuery 的性能和存储成本方面也是必不可少的。

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

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

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

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

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

对于 INFORMATION_SCHEMA 和 __TABLES__,请注意表引用的语法不同。

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

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

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

Project Dataset Table

它将获取以下 输出

Project Dataset Table

TABLES 视图

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

Bigquery TABLES 视图

它将获取以下输出

Bigquery TABLES 视图输出

基于现有表创建模式

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

基于现有表创建模式