开源软件DBT中文社区
微信号:DBT_CN
QQ群:551308350
种子Seeds使用说明
-
种子是 dbt 项目中的 CSV 文件(通常在seeds目录中),dbt 可以使用命令dbt seed将其加载到您的seeds数据仓库。种子用于保存一些静态数据文件资源。
种子可以在下游模型中引用,方法与引用模型相同 — 通过使用 ref 函数。
由于这些 CSV 文件位于 dbt 存储库中,因此它们受版本控制且代码可审查。种子最适合不经常更改的静态数据。
dbt种子的良好用例:
- 国家/地区代码到国家/地区名称的映射列表
- 要从分析中排除的测试电子邮件列表
- 员工帐户 ID 列表
dbt 种子的不良用例:
- 加载已导出到 CSV 的原始数据
- 包含敏感信息的任何类型的生产数据。例如个人身份信息和密码。
示例
-
1、将文件添加到您的目录中seeds/country_codes.csv
country_code,country_name
US,United States
CA,Canada
GB,United Kingdom
... -
2、运行命令dbt seed country_codes,将在目标架构的仓库中创建,名为country_codes.
$ dbt seed
Found 2 models, 3 tests, 0 archives, 0 analyses, 53 macros, 0 operations, 1 seed file14:46:15 | Concurrency: 1 threads (target='dev')
14:46:15 |
14:46:15 | 1 of 1 START seed file analytics.country_codes........................... [RUN]
14:46:15 | 1 of 1 OK loaded seed file analytics.country_codes....................... [INSERT 3 in 0.01s]
14:46:16 |
14:46:16 | Finished running 1 seed in 0.14s.Completed successfully
Done. PASS=1 ERROR=0 SKIP=0 TOTAL=1
- 3、使用ref函数在下游模型中引用种子。
models/orders.sql
select * from {{ ref('country_codes') }}