Перейти к основному содержимому

Свойства моделей

Свойства моделей могут быть объявлены в файлах .yml в вашем каталоге models/ (как определено в конфигурации model-paths).

Вы можете назвать эти файлы как угодно, например, whatever_you_want.yml, и вкладывать их на любую глубину в подкаталоги внутри каталога models/.

Доступные свойства модели верхнего уровня

СвойствоТипОбязательноОписание
namestringДаИмя модели (должно совпадать с именем файла модели).
descriptionstringНетДокументация для модели.
columnsarrayНетСписок определений столбцов.
configobjectНетКонфигурация модели (материализация, теги и т. д.).
constraintsarrayНетОграничения на уровне модели (первичный ключ, внешний ключ и т. д.).
data_testsarrayНетТесты данных на уровне модели.
testsarrayНетУстаревший псевдоним для data_tests.
versionsarrayНетОпределения версий модели.
latest_versionstring/floatНетПоследняя версия модели.
deprecation_datestringНетДата, когда модель помечена как устаревшая.
accessstringНетУровень доступа: private, protected или public. Поддерживается только на верхнем уровне для обратной совместимости.
time_spineobjectНетКонфигурация временной оси для семантического слоя.
Loading table...

Пример файла

models/<filename>.yml

models:
# Имя модели должно совпадать с именем файла модели — с учётом регистра
- name: model_name
description: <markdown_string>
latest_version: <version_identifier>
deprecation_date: <YAML_DateTime>
config:
<model_config>: <config_value>
docs:
show: true | false
node_color: <color_id> # Используйте название (например, node_color: purple) или hex-код в кавычках (например, node_color: "#cd7f32")
access: private | protected | public
constraints:
- <constraint>
data_tests:
- <test>
- ... # объявите дополнительные data tests
columns:
- name: <column_name> # обязательно
description: <markdown_string>
quote: true | false
constraints:
- <constraint>
data_tests:
- <test>
- ... # объявите дополнительные data tests
config:
meta: {<dictionary>}
tags: [<string>]

# требуется только вместе с ключом time_spine
granularity: <любая поддерживаемая временная гранулярность>

- name: ... # объявите свойства дополнительных колонок

time_spine:
standard_granularity_column: <column_name>

versions:
- v: <version_identifier> # обязательно
defined_in: <definition_file_name>
description: <markdown_string>
constraints:
- <constraint>
config:
<model_config>: <config_value>
docs:
show: true | false
access: private | protected | public
data_tests:
- <test>
- ... # объявите дополнительные data tests
columns:
# включить/исключить колонки из свойств модели верхнего уровня
- include: <include_value>
exclude: <exclude_list>
# указать дополнительные колонки
- name: <column_name> # обязательно
quote: true | false
constraints:
- <constraint>
data_tests:
- <test>
- ... # объявите дополнительные data tests
tags: [<string>]
- v: ... # объявите дополнительные версии

Нашли ошибку?

0
Loading