创建 Dataform 开发工作区

本文档可帮助您执行以下操作:

开发工作区概览

在 Dataform 中,您可以在开发工作区中与工作流代码互动,开发工作区是您自己的可修改的代码库副本。在工作区中,您可以创建、修改或删除代码库的内容,而不会影响在同一代码库中工作的其他人,然后将更改提交并推送到代码库。

您可以使用 Dataform 核心JavaScript 开发工作流。 Dataform 会实时将您的代码编译为 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:包含 Google Cloud 项目 ID 和用于发布资产的 BigQuery 架构的默认 Dataform 配置文件。您可以替换默认设置,根据自己的需求进行自定义,但自定义并不是开始使用 Dataform 的必要条件。

  • package.json:包含最新版 @dataform/core 的默认 Dataform 依赖项配置文件。您可以使用此文件导入软件包

  • definitions/sample.sqlx:一个示例 SQLX 文件,可帮助您入门。

如需创建新的 Dataform 开发工作区,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Dataform 页面。

    前往 Dataform

  2. 选择要在其中创建新开发工作区的代码库。

  3. 在代码库页面上,点击创建开发工作区

  4. 创建开发工作区窗口中,执行以下操作:

    1. 工作区 ID 字段中,输入开发工作区的唯一 ID。

      ID 只能包含数字、字母、连字符和下划线。

    2. 点击创建

在 Dataform 代码库中初始化工作区

如需初始化 Dataform 开发工作区,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Dataform 页面。

    前往 Dataform

  2. 选择要初始化空工作区的代码库。

  3. 开发工作区标签页中,点击要初始化的空白工作区的名称。

  4. 在开发工作区页面上,点击初始化工作区

删除 Dataform 工作区

创建 Dataform 开发工作区不会产生任何相关费用。不过,如果您想删除开发工作区,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Dataform 页面。

    前往 Dataform

  2. 选择包含要删除的工作区的代码库。

  3. 为避免删除未提交的更改,请提交更改并将其推送到 Git 代码库

  4. 开发工作区标签页中,选择要删除的开发工作区,然后点击删除所选工作区

    您可以一次性删除多个工作区。

  5. 请点击删除来确认操作。

后续步骤