使用临时表查询 Google 云端硬盘数据

如需在不创建永久表的情况下查询外部数据源,请运行命令以便进行以下组合:

  • 将表定义文件与查询组合
  • 将内嵌架构定义与查询组合
  • 将 JSON 架构定义文件与查询组合

系统会使用表定义文件或提供的架构来创建临时外部表,然后对临时外部表运行查询。bq 命令行工具和 API 支持使用临时表查询外部数据源。

使用临时外部表时,并不会在您的某个 BigQuery 数据集中创建表。由于该表不会永久存储在数据集内,因此无法与他人共享。使用临时表查询外部数据源适用于对外部数据进行一次性临时查询,或执行提取、转换和加载 (ETL) 过程。

所需权限

当您使用临时表在 Google 云端硬盘中查询外部数据时,您需要拥有相关权限才能在项目级或更高级层运行查询作业,并且需要对指向该外部数据的表所属数据集的访问权限。在 Google 云端硬盘中查询数据时,您还需要拥有对包含您数据的 Google 云端硬盘文件的访问权限。

BigQuery 权限

如需使用临时表在 BigQuery 中查询外部表,您至少需要拥有以下权限。

  • bigquery.tables.getData
  • bigquery.jobs.create

以下预定义的 IAM 角色具有 bigquery.tables.getData 权限:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

以下预定义的 IAM 角色具有 bigquery.jobs.create 权限:

  • bigquery.user
  • bigquery.jobUser
  • bigquery.admin

此外,如果用户具有 bigquery.datasets.create 权限,则当该用户创建数据集时,系统会为其授予该数据集的 bigquery.dataOwner 访问权限。具有 bigquery.dataOwner 访问权限的用户可以在数据集中创建和访问外部表,但若要查询数据,用户仍需具备 bigquery.jobs.create 权限。

发表评论

邮箱地址不会被公开。 必填项已用*标注