О команде dbt ls (list)
Команда dbt ls
перечисляет ресурсы в вашем проекте dbt. Она принимает аргументы селектора, которые аналогичны тем, что предоставляются в dbt run. dbt list
является псевдонимом для dbt ls
. Хотя dbt ls
будет читать ваш профиль подключения для разрешения логики, специфичной для target
, эта команда не будет подключаться к вашей базе данных или выполнять какие-либо запросы.
Использование
dbt ls
[--resource-type {model,semantic_model,source,seed,snapshot,metric,test,exposure,analysis,default,all}]
[--select SELECTION_ARG [SELECTION_ARG ...]]
[--models SELECTOR [SELECTOR ...]]
[--exclude SELECTOR [SELECTOR ...]]
[--selector YML_SELECTOR_NAME]
[--output {json,name,path,selector}]
[--output-keys KEY_NAME [KEY_NAME]]
Смотрите синтаксис выбора ресурсов для получения дополнительной информации о том, как выбирать ресурсы в dbt.
Аргументы:
--resource-type
: Этот флаг ограничивает "типы ресурсов", возвращаемые dbt в командеdbt ls
. По умолчанию все типы ресурсов включены в результатыdbt ls
, за исключением типа анализа.--select
: Этот флаг указывает один или несколько аргументов выбора, используемых для фильтрации узлов, возвращаемых командойdbt ls
.--models
: Как и флаг--select
, этот флаг используется для выбора узлов. Он подразумевает--resource-type=model
и будет возвращать только модели в результатах командыdbt ls
. Поддерживается только для обратной совместимости.--exclude
: Укажите селекторы, которые должны быть исключены из списка возвращаемых узлов.--selector
: Этот флаг указывает один именованный селектор, определенный в файлеselectors.yml
.--output
: Этот флаг управляет форматом вывода командыdbt ls
.--output-keys
: Если--output json
, этот флаг управляет тем, какие свойства узла включены в вывод.
Обратите внимание, что команда dbt ls
не включает модели, которые отключены, или тесты схем, которые зависят от отключе нных моделей. Все возвращаемые ресурсы будут иметь значение config.enabled
равное true
.
Примеры использования
Перечисление моделей по пакету
$ dbt ls --select snowplow.*
snowplow.snowplow_base_events
snowplow.snowplow_base_web_page_context
snowplow.snowplow_id_map
snowplow.snowplow_page_views
snowplow.snowplow_sessions
...
Перечисление тестов по имени тега
$ dbt ls --select tag:nightly --resource-type test
my_project.schema_test.not_null_orders_order_id
my_project.schema_test.unique_orders_order_id
my_project.schema_test.not_null_products_product_id
my_project.schema_test.unique_products_product_id
...
Перечисление тестов схем инкрементальных моделей
$ dbt ls --select config.materialized:incremental,test_type:schema
model.my_project.logs_parsed
model.my_project.events_categorized
Перечисление вывода в формате JSON
$ dbt ls --select snowplow.* --output json
{"name": "snowplow_events", "resource_type": "model", "package_name": "snowplow", ...}
{"name": "snowplow_page_views", "resource_type": "model", "package_name": "snowplow", ...}
...
Перечисление вывода в формате JSON с пользовательскими ключами
$ dbt ls --select snowplow.* --output json --output-keys "name resource_type description"
{"name": "snowplow_events", "description": "Это довольно крутая модель", ...}
{"name": "snowplow_page_views", "description": "Эта модель еще круче", ...}
...
Перечисление семантических моделей
Перечислите все ресурсы, находящиеся выше вашей семантической модели orders:
dbt ls -s +semantic_model:orders
Перечисление путей к файлам
dbt ls --select snowplow.* --output path
models/base/snowplow_base_events.sql
models/base/snowplow_base_web_page_context.sql
models/identification/snowplow_id_map.sql
...