- 发行说明
- 在开始之前
- 入门指南
- 集成
- 使用流程应用程序
- 创建应用程序
- 正在加载数据
- 自定义流程应用程序
- 发布流程应用程序
- 应用程序模板
- 其他资源
转换
流程应用程序的转换包含一个 dbt 项目。 下面是 dbt 项目文件夹内容的说明。
文件夹/文件 |
包含 |
---|---|
|
pm_utils 包及其宏。
|
|
运行 dbt时创建的日志。 |
|
自定义宏。 |
|
.sql 文件,用于定义转换。
|
|
.yml 文件,用于定义数据测试。
|
|
.csv 包含配置设置的文件。
|
|
dbt项目的设置。 |
请参见下图。
models\
目录的.sql
文件中定义。 数据转换组织在一组标准的子目录中:
1_input
,2_entities
,3_events
,4_event_logs
,5_business_logic
。
请参阅转换结构。
.sql
文件以 Jinja SQL 编写,允许您在普通 SQL 查询中插入 Jinja 语句。 当 dbt 运行所有.sql
文件时,每个.sql
文件都会在数据库中生成一个新视图或新表。
.sql
文件具有以下结构:
-
With 语句:一个或多个 with 语句,用于包含所需的子表。
{{ ref(‘My_table) }}
引用由另一个 .sql 文件定义的表 文件。{{ source(var("schema_sources"), 'My_table') }}
引用输入表。
- 主查询:定义新表的查询。
-
最终查询:通常在最后使用
Select * from table
等查询。 这样可以在调试时轻松进行子选择。
有关如何有效编写转换的更多提示,请参阅关于编写 SQL 的提示
models\schema\sources.yml
中。 这样,其他模型可以使用{{ source(var("schema_sources"), 'My_table') }}
引用它。 有关示例,请参见下图。
sources.yml
中列出每个新的源表。
有关在查询中使用源表的更多信息,请参阅转换结构: 1. 输入。 有关更详细的信息,请参阅有关 来源 的 官方 dbt 文档 。
数据转换必须输出相应应用程序所需的数据模型;每个预期的表格和字段都必须存在。
models\5_business_logic
中的表。 此外,不应删除相应查询中的输出字段。
如果要向流程应用程序添加新字段,可以在转换中添加这些字段。
dbt docs
命令为 dbt 项目生成文档站点,并在默认浏览器中打开该站点。该文档站点还包含一个沿袭图,此图提供了一个实体关系图,以图形方式表示项目中每个数据表之间的沿袭。
dbt docs
上的官方 dbt 文档。
宏使重用常见 SQL 结构变得容易。 有关详细信息,请参阅有关 Jinja 宏的 官方 dbt 文档 。
pm_utils.optional()
宏的 Jinja 代码示例。
csv
文件。 有关详细信息,请参阅有关 Jinja 种子的官方 dbt 文档。
在 Process Mining中,这通常用于在转换中轻松配置映射。
编辑种子文件后,这些文件不会立即在数据库中自动更新。 要指示 dbt 将新的种子文件内容加载到数据库中,请运行
dbt seed
- 仅更新种子文件表,或-
dbt build
- 还将运行所有模型和测试。注意: 如果种子文件最初没有数据记录,则数据库中的数据类型可能未正确设置。 要解决此问题,请调用run dbt seed --full-refresh
。 这还将更新数据库中的列集。
sources.yml
中的测试。 这样做是为了检查输入数据的格式是否正确。
数据转换用于将输入数据转换为适合Process Mining的数据。 Process Mining中的转换将写入dbt项目。
本页介绍 dbt。 有关更多详细信息,请参阅 官方 dbt 文档。
pm_utils
的dbt包。 此pm-utils
包包含适用于 Process Mining dbt项目的实用程序函数和宏。 有关pm_utils
的更多信息,请参阅ProcessMining-pm-utils 。
pm-utils
包。
pm-utils
包的新版本时,建议您更新转换中使用的版本,以确保使用 pm-utils
包的最新函数和宏。
pm-utils
包的最新版本的版本号。
pm-utils
版本。
-
下载
pm-utils
版本中的源代码 (zip)。 -
提取
zip
文件并将文件夹重命名为pm_utils 。 -
从内联的数据转换编辑器导出转换并提取文件。
-
将导出的转换中的pm_utils文件夹替换为新的pm_utils文件夹。
-
再次压缩转换的内容,并将其导入到数据转换编辑器中。