本文档介绍了如何在将 SQL 查询执行到 BigQuery 之前,先在 Dataform 工作区中预览查询的输出。
Dataform 中的查询预览简介
当您使用 Dataform 核心在 SQLX 或 JavaScript 文件中开发查询时,Dataform 会将查询实时编译为 SQL。如需在将编译后的 SQL 查询执行到 BigQuery 之前测试其输出,您可以在 Dataform 工作区中运行查询预览。
当您预览查询时,Dataform 会在 BigQuery 中运行作业,以便在临时目标表中执行已编译的查询,并在工作区中显示查询结果。您可以在触发执行以将表发布到 BigQuery 之前检查查询的输出。系统最多会在 24 小时内自动删除包含预览查询的临时表。如需详细了解 BigQuery 作业,请参阅 BigQuery 作业简介。
在 Dataform 中运行查询预览会在 BigQuery 中产生费用。 如需详细了解 BigQuery 价格,请参阅 BigQuery 价格。
在查询预览期间,Dataform 会使用您的用户凭据在 BigQuery 中运行作业。不过,在工作流执行期间,Dataform 会使用您的服务账号凭据在 BigQuery 中创建或更新资产。
Dataform 会在工作区的查询结果面板中显示当前浏览器会话期间预览的所有查询的结果。在查询结果面板中,您可以查看当前浏览器会话期间预览的每条查询的以下信息:
- 作业信息
- 查询结果
- 查询输出的 JSON 表示法
此外,在查询结果面板中,您可以前往每个预览查询的源文件,并前往 BigQuery Studio 查看预览作业。
准备工作
所需的角色
如需获得预览查询所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
-
Dataform Editor (
roles/dataform.editor
) - 工作区 -
BigQuery Job User (
roles/bigquery.jobUser
) - 项目
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
预览查询
如需在执行前在 Dataform 中检查查询结果,请在工作区中预览查询。如果当前修改的文件包含多个查询,请选择要预览的查询。您一次只能预览一条查询。
对于包含断言的表,运行预览的方式略有不同。如需了解详情,请参阅预览包含断言的表。
如需在 Dataform 工作区中预览 SQL 查询并查看查询结果,请按以下步骤操作:
- 在文件窗格中,展开
definitions/
。 - 选择 SQLX 或 JavaScript 文件。
- 点击运行。
- 如果文件包含多个查询,请在下拉菜单中选择要预览的查询。
- 在查询结果窗格中检查预览结果。
- 如需检查作业详情,请选择作业信息标签页。
- 如需检查查询结果,请选择结果标签页。
- 如需查看查询的 JSON 输出,请选择 JSON 标签页。
- 如需在 SQL 工作区中查看预览作业,请依次点击 更多菜单 > 在 SQL 工作区中查看作业。
预览包含断言的表格
在包含断言的 SQLX 表定义文件中,您可以预览表创建查询和定义的断言查询。
Dataform 会将表定义查询视为默认查询。如需预览表创建查询,请在工作区中点击运行。如需预览断言查询,您需要在运行按钮旁边的下拉菜单中选择该查询。您一次只能预览一条查询。
如需在 Dataform 工作区中使用断言在表定义文件中预览查询,请按以下步骤操作:
- 在文件窗格中,展开
definitions/
。 - 选择包含断言的表的定义文件。
- 运行预览:
- 如需预览表创建查询,请点击运行。
- 如需预览断言查询,请点击运行旁边的下拉图标,然后选择要预览的查询。
- 在查询结果窗格中检查预览结果。
- 如需检查作业详情,请选择作业信息标签页。
- 如需检查查询结果,请选择结果标签页。
- 如需查看查询的 JSON 输出,请选择 JSON 标签页。
- 如需在 SQL 工作区中查看预览作业,请依次点击 更多菜单 > 在 SQL 工作区中查看作业。
后续步骤
- 如需详细了解 BigQuery 价格,请参阅 BigQuery 价格。
- 如需详细了解 Dataform 的价格,请参阅价格。
- 如需详细了解 Dataform 中的工作区,请参阅工作区开发简介。
- 如需了解如何使用断言测试表查询,请参阅使用断言测试表。