关于 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。
移除了工作流设置文件中的查询并发限制 (
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
中没有名称字段的项目都会在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 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
启用 BigQuery and Dataform API。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
启用 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
参数:
defaultLocation: DATASET_LOCATION,
将 DATASET_LOCATION 替换为 BigQuery 数据集的默认位置,例如 US
、EU
或 us-east1
。
app.dataform.co
会忽略 defaultLocation
参数。
dataform.json
按以下格式添加 defaultLocation
参数:
"defaultLocation": "DATASET_LOCATION",
将 DATASET_LOCATION 替换为 BigQuery 数据集的默认位置,例如 US
、EU
或 us-east1
。
app.dataform.co
会忽略 defaultLocation
参数。
- 删除
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 中的代码生命周期简介。