在 Dataform 中创建和执行 SQL 工作流
本快速入门将引导您在 Dataform 中完成以下过程 创建 SQL 工作流并在 BigQuery 中执行该工作流:
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
所需的角色
如需获取执行本教程中的所有任务所需的权限, 请让管理员向您授予 项目的以下 IAM 角色:
-
Dataform Admin (
roles/dataform.admin
) - 代码库 -
Dataform Editor (
roles/dataform.editor
) - 工作区和工作流调用
如需详细了解如何授予角色,请参阅管理访问权限。
创建 Dataform 代码库
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
创建制品库。在创建代码库页面上,执行以下操作:
在代码库 ID 字段中,输入
quickstart-repository
。在区域列表中,选择
europe-west4
。点击创建。
创建并初始化 Dataform 开发工作区
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-repository
。点击
Create Development 工作区。在创建开发工作区窗口中,执行以下操作:
在工作区 ID 字段中,输入
quickstart-workspace
。点击创建。
系统随即会显示开发工作区页面。
点击初始化工作区。
创建视图
在以下部分中,您将定义一个视图,稍后该视图会用作数据 表的源。
创建用于定义视图的 SQLX 文件
在 Files 窗格中,点击
definitions/
旁边的 更多菜单。点击创建文件。
在创建新文件窗格中,执行以下操作:
在添加文件路径字段中,输入
definitions/quickstart-source.sqlx
。点击创建文件。
定义视图
在文件窗格中,展开定义文件夹。
点击
definitions/quickstart-source.sqlx
。在文件中输入以下代码段:
config { type: "view" } SELECT "apples" AS fruit, 2 AS count UNION ALL SELECT "oranges" AS fruit, 5 AS count UNION ALL SELECT "pears" AS fruit, 1 AS count UNION ALL SELECT "bananas" AS fruit, 0 AS count
点击格式。
创建表
在以下部分中,您将在 SQLX 文件中定义表类型,然后
编写 SELECT
语句以在同一文件中定义表结构。
创建用于表定义的 SQLX 文件
在 Files 窗格中,点击
definitions/
旁边的 更多菜单,然后选择创建文件。在添加文件路径字段中,输入
definitions/quickstart-table.sqlx
。点击创建文件。
定义表类型、结构和依赖项
在 Files 窗格中,展开
definitions/
目录。选择
quickstart-table.sqlx
,然后输入以下表类型和SELECT
语句:config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
点击格式。
定义表类型后,Dataform 会抛出查询验证错误
因为 BigQuery 中尚不存在 quickstart-source
。这个
错误解决。
向 Dataform 授予对 BigQuery 的访问权限
为了在 BigQuery 中执行工作流,Dataform 服务账号必须具有以下必需角色:
- BigQuery 数据编辑者 。他们 通常包括托管 Dataform 代码库的项目。
- BigQuery 数据查看者 (针对 Dataform 需要只读访问权限的项目)。
- BigQuery 作业用户 对托管 Dataform 代码库的项目执行此步骤。
如需授予这些角色,请按以下步骤操作:
在 Google Cloud 控制台中,转到 IAM 页面。
点击添加。
在新的主账号字段中,输入您的 Dataform 服务 账号 ID。
在选择角色下拉列表中, BigQuery Job User 角色。
点击添加其他角色,然后在选择角色下拉菜单中 列表中,选择 BigQuery Data Editor 角色。
点击添加其他角色,然后在选择角色下拉菜单中 列表中,选择 BigQuery Data Viewer 角色。
点击保存。
执行工作流
在 Google Cloud 控制台中,前往 Dataform 页面。
在
quickstart-workspace
页面上,点击开始执行。点击所有操作。
在执行窗格中,点击开始执行。
Dataform 使用默认代码库设置来创建 名为
dataform
。
在 Dataform 中查看执行日志
在
quickstart-repository
页面上,点击工作流执行日志。如需查看执行的详细信息,请点击最新的执行。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除在 BigQuery 中创建的数据集
为避免 BigQuery 资产产生费用,请删除
数据集名称为 dataform
。
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器面板中,展开您的项目并选择
dataform
。点击
操作菜单,然后选择 删除。在删除数据集对话框中的字段中输入
delete
,然后 点击删除。
删除 Dataform 开发工作区
Dataform 开发工作区创建不会产生任何费用,但会删除 在开发工作区中,您可以按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
点击
quickstart-repository
。在 Development workspaces 标签页中,点击
更多菜单quickstart-workspace
,然后选择删除。请点击删除来确认操作。
删除 Dataform 代码库
Dataform 代码库创建不会产生任何费用,但会删除 您可以按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
quickstart-repository
,点击 的更多菜单, 然后选择删除。在删除代码库窗口中,输入代码库的名称以确认删除。
请点击删除来确认操作。
后续步骤
如需详细了解 Dataform,请参阅 Dataform 概览。
如需详细了解 Dataform 功能,请参阅概览 Dataform 功能。
如需详细了解 Dataform Core,请参阅 Dataform 核心。
如需了解如何覆盖 请参阅配置 Dataform 设置。
要详细了解如何管理 BigQuery 中的数据集,请参阅管理 数据集。
要详细了解如何管理 BigQuery 中的表,请参阅管理 表格。