营销型网站主页定制,企业网站建设与网页设计学什么的,wordpress高级自适应主题下载,nginx wordpress 管理DBT-core是一个命令行工具#xff0c;它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个强大特性是seed命令#xff0c;它可以将CSV文件(称为“seed”)加载到数据仓库中。本教程将带你完成使用dbt seed命令的过程。 在dbt中#xff0c;seed是可以加载到数据仓… DBT-core是一个命令行工具它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个强大特性是seed命令它可以将CSV文件(称为“seed”)加载到数据仓库中。本教程将带你完成使用dbt seed命令的过程。 在dbt中seed是可以加载到数据仓库中的CSV文件。它们对于处理不经常更改的静态数据特别有用。例如您可能有一个CSV文件其中包含国家代码列表及其对应的国家名称。这些数据可以作为seed加载到仓库中并在dbt模型中引用。
dbt seed 应用场景
代码映射
正如我们在前节描述的我们可以使用seed将产品代码映射到产品名称。这可以扩展到任何需要将代码映射到更具描述性名称的场景。例如你可以利用seed将错误代码映射到错误描述或将缩写映射到它们的完整形式。
排除部分分析数据
假设有一些测试电子邮件地址或用户id列表您希望将其从分析中排除。首先提供这些电子邮件地址或用户id创建一个seed然后使用dbt seed命令将此数据加载到仓库中。在dbt模型中您可以从分析中排除这些测试电子邮件地址或用户id。
载入少量数据集
如果您有不经常更改的小型参考数据集那么通过seed加载到仓库中可能比source表方式加载更有效。举例你可能要在dbt模型中使用的关于汇率小数据集直接保存在CSV文件中利用seed命令加载效率更高。
数据验证
您可以使用seed来验证仓库中的数据。例如您可能有seed数据其中包含某个计算的预期结果。然后您可以创建一个dbt测试将仓库中的实际结果与种子中的预期结果进行比较。
机器学习模型测试
如果你是数据科学家或机器学习工程师可以使用seed将测试数据加载到仓库中。然后您可以使用这些测试数据来评估机器学习模型的性能。
dbt seed 示例实战
让我们创建一个用作种子的CSV文件。在本教程中我们将使用一个简单的CSV文件其中包含产品代码及其对应的产品名称。将以下数据保存在名为“product_codes.csv”的文件中:
product_code,product_name
PRD01,Apple iPhone 13
PRD02,Samsung Galaxy S21
PRD03,Google Pixel 6将该文件放在dbt项目的seed文件夹中。
载入数据仓库
通过下面命令加载seed数据到数据仓库
$ dbt seed该命令将把seeds目录中的所有CSV文件加载到数据仓库中。如果要加载特定的seed文件可以使用–select标志后跟seed文件名称(不带.csv扩展名)。例如:
$ dbt seed --select product_codes引用seed数据
一旦将seed数据加载到数据仓库中就可以使用ref函数在dbt模型中引用它。例如如果你有一个需要与product_codesseed连接的模型你可以这样做:
select orders.*, product_codes.product_name
from {{ ref(orders) }} as orders
left join {{ ref(product_codes) }} as product_codeson orders.product_code product_codes.product_code配置测试
您可以在**dbt_project.yml**文件中配置seed。例如您可以指定应该加载seed数据的目标schema。您还可以通过在YAML中声明属性增加文档描述和测试seed。下面示例是给seed增加描述信息可以添加测试在文档职工生成更多描述信息。详细配置可参考官方文档。
seeds/filename.yml
version: 2seeds:- name: stringdescription: markdown_stringdocs:show: true | falsenode_color: color_id # Use name (such as node_color: purple) or hex code with quotes (such as node_color: #cd7f32)config:seed_config: config_valuetests:- test- ... # declare additional testscolumns:- name: column namedescription: markdown_stringmeta: {dictionary}quote: true | falsetags: [string]tests:- test- ... # declare additional tests- name: ... # declare properties of additional columns- name: ... # declare properties of additional seeds总结
dbt seed命令是将静态数据加载到数据仓库中的强大工具。通过使用seed可以在dbt中保持转换逻辑确保数据转换是一致的、版本控制的和代码可审查的。期待您的真诚反馈更多内容请阅读数据分析工程专栏。