В этой статье представлена разбивка структуры определения для элементов задания dbt (DataBuildToolJob).
Части определения
В этой таблице перечислены части определения.
| Путь к части определения |
type |
Обязательно |
Description |
dbtjob-content.json |
ContentDetails (JSON) |
true |
Описание свойств и параметров элемента, например профиля и операции |
.platform |
PlatformDetails (JSON) |
false |
Описание общих сведений об элементе |
ContentDetails
Описание содержимого полезных данных
| Имя |
Тип |
Description |
| project |
DbtJobProject |
Параметры проекта элемента задания dbt. |
| profile |
DbtJobProfile |
Параметры профиля элемента задания dbt. |
| command |
DbtJobCommand |
Параметры команды элемента задания dbt. |
Описание содержимого DbtJobProject
| Имя |
Тип |
Обязательно |
Description |
| Тип проекта |
String |
true |
Тип проекта dbt. Возможные значения: OneLake, Lakehouse. |
| folderPath |
String |
false |
Путь к папке проекта dbt. |
| connectionSettings |
DbtJobConnectionSettings |
true |
Параметры подключения для проекта dbt. |
Описание содержимого DbtJobProfile
Описывает поля для профиля dbt. Здесь, в зависимости от типа, можно использовать connectionSettings или externalReferences.
| Имя |
Тип |
Обязательно |
Description |
| тип профиля |
String |
true |
Тип профиля dbt. |
| schema |
String |
false |
Указывает схему. |
| база данных |
String |
false |
Имя базы данных . |
| внешниеСсылки |
ExternalReferences |
false |
Параметры подключения для профиля dbt. |
| connectionSettings |
DbtJobConnectionSettings |
false |
Параметры подключения для профиля dbt. |
Описание содержимого DbtJobCommand
| Имя |
Тип |
Обязательно |
Description |
| Операция |
String |
true |
Тип команды dbt. Возможные значения: run, build, showseed, compile, test. snapshot |
| arguments |
DbtJobCommandArgument |
false |
Другие аргументы для команды dbt. |
Описание содержимого DbtJobCommandArgument
| Имя |
Тип |
Обязательно |
Description |
| select |
String |
false |
Разделенный запятыми список моделей для включения. |
| исключать |
String |
false |
Разделенный запятыми список моделей, которые следует исключить. |
| fullRefresh |
Boolean |
false |
Указывает, должна ли dbt перестроить все модели. |
| failFast |
Boolean |
false |
Указывает, должен ли dbt выйти из строя, как только модель завершается сбоем. |
| threads |
Целое число |
false |
Указывает количество используемых потоков. |
| selectorName |
String |
false |
Указывает используемый селектор. |
Описание содержимого ExternalReferences
| Имя |
Тип |
Обязательно |
Description |
| connection |
String (GUID) |
true |
Указывает идентификатор подключения. |
Описание содержимого DbtJobConnectionSettings
Описывает поля для параметров подключения.
| Имя |
Тип |
Обязательно |
Description |
| type |
String |
true |
Описывает тип подключения. |
| properties |
DbtJobConnectionTypeProperties |
true |
Описывает свойства подключения. |
Описание содержимого DbtJobConnectionTypeProperties
| Имя |
Тип |
Обязательно |
Description |
| workspaceId |
String (GUID) |
true |
Указывает идентификатор рабочей области, в которой существует подключенный элемент. |
| artifactId |
String (GUID) |
true |
Указывает идентификатор подключенного элемента. |
| корневая папка |
String |
false |
Указывает корневую папку. |
| endpoint |
String |
false |
Указывает конечную точку. |
Пример 1 ContentDetails
{
"project": {
"projectType": "OneLake",
"connectionSettings": {
"type": "OneLake"
}
},
"profile": {
"profileType": "DataWarehouse",
"schema": "analytics_schema",
"connectionSettings": {
"type": "DataWarehouse",
"properties": {
"workspaceId": "00000000-0000-0000-0000-000000000000",
"artifactId": "cccccccc-3333-4444-5555-dddddddddddd"
}
}
},
"command": {
"operation": "run",
"arguments": {
"select": "model_a,model_b",
"fullRefresh": true,
"threads": 4
}
}
}
Пример 2 ContentDetails
{
"project": {
"projectType": "OneLake",
"connectionSettings": {
"type": "OneLake"
}
},
"profile": {
"profileType": "PostgreSql",
"schema": "analytics_schema",
"externalReferences": {
"connection": "bbbbbbbb-9999-aaaa-bbbb-cccccccccccc"
}
},
"command": {
"operation": "build",
"arguments": {
"fullRefresh": true,
"failFast": true
}
}
}