关于 Google Cloud 中的旧版 Dataform 和 Dataform 之间的差异
Dataform 是一种无服务器服务,可供数据分析师开发表、增量表或视图并将其部署到 BigQuery。Dataform 为 SQL 工作流开发、与 GitHub、GitLab 和 Bitbucket Cloud 连接、持续集成、持续部署和工作流执行提供了一个 Web 环境。
Google Cloud 中的 Dataform 与旧版 Dataform 的不同之处体现在以下几个方面:
- Google Cloud 中的 Dataform 支持将 Dataform 代码库连接到 Bitbucket Cloud 代码库。
- 访问权限控制以 IAM 为基础。
移除了
dataform.json
中查询并发限制 (concurrentQueryLimit
) 的配置。在旧版 Dataform 中,并发限制阻止了 Dataform 向 BigQuery 发送过多的并发查询。如需在 Google Cloud 中管理 Dataform 中的并发,我们建议您启用 BigQuery 查询队列。
旧环境已被版本配置取代。
旧版时间表已被工作流配置取代。
工作流失败提醒在 Cloud Logging 中配置。
Google Cloud 中的 Dataform 和旧版 Dataform 使用不同的 NPM 版本和不同格式的
package-lock.json
。如需同时使用旧版 Dataform 和 Google Cloud 中的 Dataform 开发 SQL 工作流,请使用旧版
package-lock.json
格式进行软件包安装。在完全迁移到 Google Cloud 中的 Dataform 之前,请勿在 Google Cloud 的 Dataform 中安装软件包。
如需详细了解 Google Cloud 中 Dataform 的功能,请参阅 Dataform 功能概览。
Google Cloud 目前尚不支持的旧版 Dataform 功能
目前,Google Cloud 的 Dataform 不支持旧版 Dataform 的以下功能:
配置一致的出站 IP 地址。若要允许使用 Dataform IP 与第三方远程代码库,必须配置一致的出站 IP 地址。
目前不支持在开发工作区的 Code 标签页中设置代码格式。
手动运行单元测试。
目前不支持在开发工作区中搜索文件名和文件内容。
目前不支持在开发工作区中使用标签页。
随着 Google Cloud 中 Dataform 的新功能的发布,此列表将不断更新。
已知限制
Google Cloud 中的 Dataform 具有以下已知限制:
Google Cloud 中的 Dataform 在普通的 V8 运行时上运行,不支持 Node.js 提供的其他功能和模块。如果您的现有代码库需要任何 Node.js 模块,您需要移除这些依赖项。
每次安装软件包时,
package.json
中不含名称字段的项目都会在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 页面。
选择您的代码库。
进入开发工作区。
在
dataform.json
中,添加defaultLocation
参数。此参数会被app.dataform.co
忽略。"defaultLocation": "DATASET_LOCATION",
将 DATASET_LOCATION 替换为 BigQuery 数据集的默认位置,例如
US
、EU
或us-east1
。删除
package-lock.json
。在
package.json
中,执行以下操作:- 将
@dataform/core
升级到2.3.2
或更高版本。 请按以下格式添加软件包名称:
{ "name": "PACKAGE_NAME", "dependencies": { "@dataform/core": "^2.3.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 中的代码生命周期简介。