关于 Google Cloud 中的旧版 Dataform 和 Dataform 之间的差异
Dataform 是一项无服务器服务,可供数据分析师用来开发表、增量表或视图并将其部署到 BigQuery。Dataform 为 SQL 工作流开发、与 GitHub、GitLab、Bitbucket 和 Azure DevOps Services 连接、持续集成、持续部署和工作流执行提供了一个 Web 环境。
Google Cloud 中的 Dataform 与旧版 Dataform 的不同之处体现在以下几个方面:
- Google Cloud 中的 Dataform 支持将 Dataform 代码库连接到 Bitbucket 代码库。
- 访问权限控制基于 IAM。
移除了
workflow_settings.yaml
中的查询并发限制 (concurrentQueryLimit
) 配置。在旧版 Dataform 中,并发限制阻止了 Dataform 向 BigQuery 发送过多的并发查询。如需在 Google Cloud 的 Dataform 中管理并发,我们建议您启用 BigQuery 查询队列。
旧环境被版本配置取代。
旧版时间表被工作流配置取代。
工作流失败提醒在 Cloud Logging 中配置。
Google Cloud 中的 Dataform 和旧版 Dataform 使用不同的 NPM 版本和不同格式的
package-lock.json
。如需在 Google Cloud 中使用旧版 Dataform 和 Dataform 开发 SQL 工作流,请使用旧版
package-lock.json
格式进行软件包安装。在完全迁移到 Google Cloud 中的 Dataform 之前,请勿在 Google Cloud 的 Dataform 中安装软件包。
如需详细了解 Google Cloud 中 Dataform 的功能,请参阅 Dataform 功能概览。
Google Cloud 目前不支持的旧版 Dataform 功能
目前,Google Cloud 的 Dataform 不支持旧版 Dataform 的以下功能:
- 手动运行单元测试。
在开发工作区中搜索文件内容。
随着 Google Cloud 中 Dataform 新功能的发布,此列表将不断更新。
已知限制
Google Cloud 中的 Dataform 存在以下已知限制:
Google Cloud 中的 Dataform 在普通的 V8 运行时上运行,不支持 Node.js 提供的其他功能和模块。如果您的现有代码库需要任何 Node.js 模块,您需要移除这些依赖项。
每次安装软件包时,
package.json
中没有 name 字段的项目都会在package-lock.json
上生成差异。为避免出现这种情况,您需要在package.json
中添加name
属性。package.json
中的依赖项不支持git
+https://
网址。将此类网址转换为普通的
https://
归档网址。例如,将git+https://github.com/dataform-co/dataform-segment.git#1.5
转换为https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz
。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 BigQuery and Dataform API。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 BigQuery and Dataform API。
所需的角色
如需获取导入旧版项目所需的权限,请让管理员授予您代码库的 Dataform Admin (roles/dataform.admin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
导入旧版项目
如需在 Google Cloud 的 Dataform 中导入旧版项目,请在 Google Cloud 控制台中执行以下步骤:
- 确保
app.dataform.co
中的 Dataform 项目已连接到 GitHub 或 GitLab。 在 Google Cloud 控制台中,前往 Dataform 页面。
将代码库连接到包含旧版项目的远程 Git 代码库。
配置导入的 Dataform 项目
如需在 Google Cloud 中将旧版项目调整为使用 Dataform,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Dataform 页面。
选择您的代码库。
前往开发工作区。
在
workflow_settings.yaml
中,添加defaultLocation
参数。此参数会被app.dataform.co
忽略。"defaultLocation": "DATASET_LOCATION",
将 DATASET_LOCATION 替换为 BigQuery 数据集的默认位置,例如
US
、EU
或us-east1
。删除
package-lock.json
。在
package.json
中,执行以下操作:- 将
@dataform/core
升级到3.0.0-beta.2
或更高版本。 请按以下格式添加软件包名称:
{ "name": "PACKAGE_NAME", "dependencies": { "@dataform/core": "^3.0.0-beta.2" } }
将 PACKAGE_NAME 替换为您的 Dataform 软件包的名称,例如您的项目名称。
将
package.json
依赖项中的git+https://
网址转换为普通的https://
归档网址。例如,将
git+https://github.com/dataform-co/dataform-segment.git#1.5
转换为https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz
。如果您在预构建的 Dataform 软件包中使用
git+https://
网址,请在这些软件包的发布页面(例如 dataform-segment 发布页面)上查看更新后的安装说明。
- 将
配置 BigQuery 权限和用户权限。
后续步骤
- 如需了解如何将旧环境和时间表迁移到 Google Cloud 中的 Dataform,请参阅迁移旧环境和时间表。
- 如需详细了解 Google Cloud 中的 Dataform,请参阅 Dataform 概览。
- 如需详细了解 Google Cloud 中 Dataform 的功能,请参阅 Dataform 功能概览。
- 如需了解如何创建仓库,请参阅创建 Dataform 仓库。
- 如需了解 Dataform 中的代码生命周期及其配置方法,请参阅 Dataform 中的代码生命周期简介。