本文档可帮助您执行以下操作:
开发工作区概览
在 Dataform 中,您可以在开发工作区中与工作流代码进行交互,开发工作区是您自己的代码库可修改副本。在工作区中,您可以创建、修改或删除代码库的内容,而不会影响在同一代码库中工作的其他人,然后提交更改并将其推送到代码库。
您可以使用 Dataform 核心或 JavaScript开发工作流。Dataform 会实时将您的代码编译为 SQL 查询。
在开发工作区中,您可以执行以下任务:
- 配置 Dataform 设置。
- 创建表,类型为所有受支持的类型。
- 记录表。
- 对表进行分区。
- 向表中添加 BigQuery 标签 和 政策标记。
- 替换表设置。
- 配置其他操作。
- 为工作流声明数据源。
- 向工作流添加自定义 SQL 操作和 标记。
- 触发执行 工作流或其所选操作。
- 监控执行日志。
开发工作区的组件
Dataform 开发工作区由以下部分中介绍的标签页组成。
“代码”标签页
您可以使用代码 标签页中的开发环境来浏览文件、开发查询、对更改进行版本控制,以及触发对 BigQuery 的执行。该标签页包含以下组件,可让您开发工作流:
- 文件 窗格:显示工作区的文件结构,并自动将您对文件结构所做的修改保存到文件结构中。所选文件会在开发窗格的标签页中打开。在输入以搜索 字段中,您可以按路径搜索工作区中的文件或目录。
- 版本控制 窗格:显示工作区的版本控制状态和版本控制选项。
- 开发 窗格:在标签页中显示打开的文件。自动将您对已修改文件所做的更改保存到文件中。
- 运行 按钮:运行已编译的 SQL 查询的 预览。
- 格式 按钮:设置 Dataform 核心或 JavaScript 代码的格式。
- 编译 状态:显示工作区中代码的编译状态。
- 元数据 窗格:显示已修改文件的元数据。
- 已编译的查询 窗格:将已修改文件中的查询编译为 SQL。如果查询编译失败,该窗格会显示编译错误。如果查询编译成功,该窗格会显示已编译的查询,并通过针对 BigQuery 的试运行来验证这些查询。如果查询验证失败,该窗格会显示验证错误。如果查询验证成功,该窗格会显示将查询执行到 BigQuery 所需的字节数。
- 开始执行 菜单:显示用于触发工作区中整个工作流或其所选元素的执行的选项。
“已编译的图表”标签页
在已编译的图表 标签页中,您可以将工作区中定义的已编译工作流视为交互式有向无环图 (DAG)。该图显示了工作流中的所有操作以及它们之间的关系。如果工作流中存在编译错误,该标签页会显示错误消息,而不是图。
您可以在图表中放大和缩小,并使用拖放导航。
您可以按以下属性过滤图表:
- 名称
- 标记
- 类型
- 断言
- 声明
- 增量表
- 物化视图
- 运维
- 表
- 未知
- 查看
您可以一次选择多个过滤器。Dataform 会使用 OR 条件应用这些过滤器。
您可以点击图表中的操作,以在以下窗格中查看其详细信息:
- 元数据 窗格:显示所选操作的完整名称、类型、依赖项和被依赖项。
- 查询 窗格:显示所选操作的已编译 SQL 查询。
“执行”标签页
此标签页显示在工作区中触发的所有执行的日志。您还可以查看所选执行的操作及其详细信息。如需了解详情,请参阅 监控执行日志。
工作区中的版本控制
在工作区中,您可以通过基于 Git 的版本控制与代码库进行交互。您对工作区中的文件所做的修改最初是未提交的本地更改,您可以提交这些更改,然后将其推送到代码库,以便所有代码库用户都可以使用这些更改。
如果您的代码库已连接到远程 Git 提供商,您可以将工作区中的更改推送到主开发分支。在将代码库连接到远程 Git 提供商时,您可以选择主分支。在未连接的 Dataform 代码库中,您可以将更改推送到默认分支。
您还可以从 Dataform 代码库或远程代码库中拉取任何更改,并将其与开发工作区中的本地更改合并。如需详细了解 Dataform 中的版本控制,请参阅 对代码进行版本控制。
准备工作
如果您尚未创建, 请创建 Dataform 代码库。
所需角色
如需获得创建、初始化和删除开发工作区所需的权限,请让您的管理员向您授予工作区的Dataform Editor (roles/dataform.editor) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
创建 Dataform 开发工作区
首次在新的代码库中创建开发工作区时,Dataform 会提示您使用 Dataform 正常运行所需的一组配置文件来初始化开发工作区。
初始化的开发工作区包含以下目录和文件:
definitions/:用于资产定义的目录,采用 Dataform 核心或 JavaScript。includes/:一个空目录,用于存储您可以在整个代码库中重复使用的脚本和变量。workflow_settings.yaml:默认的 Dataform 配置文件 其中包含 Google Cloud 项目 ID 和 BigQuery 架构,用于发布 资产。您可以 替换默认设置 以根据需要进行自定义,但自定义不是 开始使用 Dataform 的必要条件。package.json:默认的 Dataform 依赖项配置文件,其中包含最新版本的@dataform/core。您可以使用此文件来 导入软件包。definitions/sample.sqlx:一个示例 SQLX 文件,可帮助您入门。
如需创建新的 Dataform 开发工作区,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择要在其中创建新开发工作区的代码库。
在代码库页面上,点击创建开发工作区 。
在创建开发工作区 窗口中,执行以下操作:
在工作区 ID 字段中,输入开发工作区的唯一 ID。
ID 只能包含数字、字母、连字符和下划线。
点击创建 。
在 Dataform 代码库中初始化工作区
如需初始化 Dataform 开发工作区,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择要在其中初始化空工作区的代码库。
在开发工作区 标签页中,点击要初始化的空工作区的名称。
在开发工作区页面上,点击初始化工作区 。
删除 Dataform 工作区
创建 Dataform 开发工作区不会产生任何相关费用。但是,如果要删除开发工作区,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择包含要删除的工作区的代码库。
为避免删除未提交的更改, 请提交更改并将其推送到 Git 代码库。
在开发工作区 标签页中,选择要删除的开发工作区,然后点击删除所选工作区 。
您可以一次删除多个工作区。
请点击删除 来确认操作。