在 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 workspace(创建开发工作区)。在创建开发工作区窗口中,执行以下操作:
在工作区 ID 字段中,输入
quickstart-workspace
。点击创建。
系统随即会显示“开发工作区”页面。
点击初始化工作区。
创建视图
在以下部分中,您将定义一个稍后将用作表数据源的视图。
创建用于定义视图的 SQLX 文件
在文件窗格中,点击
definitions/
旁边的 更多菜单。点击创建文件。
在创建新文件窗格中,执行以下操作:
在添加文件路径字段中,输入
definitions/quickstart-source.sqlx
。点击创建文件。
定义视图
在文件窗格中,展开“definitions”文件夹。
点击
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 文件
在文件窗格中,点击
definitions/
旁边的 更多菜单,然后选择创建文件。在添加文件路径字段中,输入
definitions/quickstart-table.sqlx
。点击创建文件。
定义表类型、结构和依赖项
在文件窗格中,展开
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
。当您在本教程的后面部分执行 SQL 工作流时,此错误将解决。
向 Dataform 授予对 BigQuery 的访问权限
如需在 BigQuery 中执行工作流,Dataform 服务账号必须具有以下所需角色:
- 对 Dataform 需要同时拥有读取和写入权限的项目的 BigQuery Data Editor。它们通常包括托管 Dataform 代码库的项目。
- 对 Dataform 需要具有只读访问权限的项目授予 BigQuery Data Viewer 角色。
- 托管 Dataform 代码库的项目中的 BigQuery Job User。
如需授予这些角色,请按以下步骤操作:
在 Google Cloud 控制台中,转到 IAM 页面。
点击 Add(添加)。
在新的主账号字段中,输入您的 Dataform 服务账号 ID。
在选择角色下拉列表中,选择 BigQuery Job User 角色。
点击添加其他角色,然后在选择角色下拉列表中选择 BigQuery Data Editor 角色。
点击添加其他角色,然后在选择角色下拉列表中选择 BigQuery Data Viewer 角色。
点击保存。
执行工作流
在 Google Cloud 控制台中,进入 Dataform 页面。
在
quickstart-workspace
页面上,点击开始执行。点击所有操作。
在执行窗格中,点击开始执行。
Dataform 使用默认代码库设置在名为
dataform
的 BigQuery 数据集中创建工作流的内容。
在 Dataform 中查看执行日志
在
quickstart-repository
页面上,点击工作流执行日志。如需查看执行详情,请点击最新的执行。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除在 BigQuery 中创建的数据集
为避免 BigQuery 资源产生费用,请删除名为 dataform
的数据集。
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器面板中,展开您的项目并选择
dataform
。点击
操作菜单,然后选择删除。在删除数据集对话框中,在字段中输入
delete
,然后点击删除。
删除 Dataform 开发工作区
创建 Dataform 开发工作区不会产生任何费用,但如需删除开发工作区,您可以按以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
点击
quickstart-repository
。在开发工作区标签页中,点击
quickstart-workspace
旁边的 更多菜单,然后选择删除。请点击删除来确认操作。
删除 Dataform 代码库
创建 Dataform 代码库不会产生任何费用,但如需删除代码库,您可以按照以下步骤操作:
在 Google Cloud 控制台中,进入 Dataform 页面。
在
quickstart-repository
旁边,点击 更多菜单,然后选择删除。在删除代码库窗口中,输入代码库的名称以确认删除。
请点击删除来确认操作。
后续步骤
如需详细了解 Dataform,请参阅 Dataform 概览。
如需详细了解 Dataform 功能,请参阅 Dataform 功能。
如需详细了解 Dataform 核心,请参阅 Dataform 核心概览。
如需了解如何替换代码库的默认 Dataform 设置,请参阅配置 Dataform 设置。
如需详细了解如何在 BigQuery 中管理数据集,请参阅管理数据集。
如需详细了解如何在 BigQuery 中管理表,请参阅管理表。