如何运行多标签选择器

问题描述

我正在使用 dbt 0.18.1 并且我遵循有关标签的文档,但是我很想知道如何将多标签选择器作为参数运行。 根据这个: https://github.com/fishtown-analytics/dbt/pull/1014

混合使用标签、fqns 和父/子选择器进行选择: $ dbt run --model tag:nightly+ salesforce.*+

不幸的是,这并不是真正的“标签混合”。

我有 [mixpanel_tests,quality] 标签,我希望运行包含两个标签(未分开)的模型。如果我运行 dbt run -m tag:quality -t blabla

  1. 我会执行所有在标签数组中具有 QUALITY 的模型,无论它是单个参数还是多个参数,但我希望仅运行质量标记。如何做到这一点?
  2. 如何指定 2 个标签或 3 个标签选择器来运行带有上述标签的模型(即 mixpanel_tests、质量 - 但仅限于同时定义了两个标签的模型)。或多或少是 AND 子句而不是 OR 子句。
    嗯,我希望它很清楚。如何让多标签选择器只执行给定的标签组合?

解决方法

查看intersection operator。它是 dbt v0.18 中的新增功能,完全适用于这个用例。

dbt run -m tag:mixpanel_tests,tag:quality