会话简介
本指南介绍如何在 BigQuery 会话中启用、创建和跟踪更改。它面向熟悉 BigQuery 和 GoogleSQL 的用户。
您可以在 BigQuery 会话中捕获 SQL 活动。可在整个会话期间使用临时表、临时函数和变量来以交互方式构建一个或多个查询。多个会话可同时处于活跃状态,并且会保存每个会话的历史记录。您可以在会话终止后最长 20 天内查看该会话的历史记录。
会话的典型用法包括:
维护瞬时会话数据。定义一次变量和临时表,然后在整个会话期间使用。
按会话查找查询历史记录。如需跟踪会话期间特定时间发生的行为,您可以查看会话期间所做更改的历史记录。
针对多个查询创建多语句事务。在一次会话中,您可以在决定提交或回滚之前开始事务、进行更改和查看临时结果。您可以在会话中对多个查询执行此操作。如果您不使用会话,则需要在单个查询中完成多语句事务。
价格
使用会话无需额外费用。
对于使用按需价格的项目,针对
INFORMATION_SCHEMA
的查询会产生费用。如需了解详情,请参阅INFORMATION_SCHEMA
价格。您需要为在会话中创建的临时表付费。存储费用取决于表中存储的数据量。如需了解存储价格,请参阅存储价格。
限制
会话中的每个查询都在创建会话的位置运行。
目前,会话在处于非活跃状态 24 小时之后自动终止。
目前,会话在创建 7 天后自动终止。
会话变量的大小上限为 1 MB,会话中使用的所有变量的大小上限为 10 MB。
不允许在同一会话中进行并发查询。
角色与权限
本部分介绍通过会话执行操作所需的 Identity and Access Management (IAM) 权限和 IAM 角色。
操作 | 所需权限 | 默认角色 |
---|---|---|
创建新会话。 使用您创建的现有会话。 | bigquery.jobs.create |
bigquery.user bigquery.Jobuser bigquery.admin |
终止您创建的会话。 | bigquery.jobs.create |
bigquery.user bigquery.Jobuser bigquery.admin |
终止其他用户创建的会话。 |
bigquery.jobs.create bigquery.jobs.update |
bigquery.admin |
查看项目中的会话列表。
此列表包含您在项目中使用 INFORMATION_SCHEMA.JOBS_BY_USER 创建的会话的 ID。 |
bigquery.jobs.list |
bigquery.user bigquery.Jobuser bigquery.admin |
查看项目中所有用户的所有会话。
此列表包含在项目中使用 INFORMATION_SCHEMA.JOBS 创建的所有会话的 ID。 |
bigquery.jobs.listAll |
bigquery.admin
|
使用 INFORMATION_SCHEMA.SESSIONS_BY_USER 查看当前项目中当前用户创建的会话的元数据。 |
bigquery.jobs.list |
bigquery.user bigquery.Jobuser bigquery.admin |
使用 INFORMATION_SCHEMA.SESSIONS_BY_PROJECT 查看当前项目中的所有会话的元数据。 |
bigquery.jobs.listAll |
bigquery.admin
|