Sdílet prostřednictvím


Definujte nastavení artefaktů v balíčcích prostředků Databricks

Tento článek popisuje, jak přepsat nastavení artefaktů v sadách prostředků Databricks. Viz Co jsou balíčky prostředků Databricks?

V Azure Databricks svazku konfiguračních souborůmůžete přepsat nastavení artefaktů v mapování nejvyšší úrovně artifacts nastavením artefaktů v mapování targets, například:

# ...
artifacts:
  <some-unique-programmatic-identifier-for-this-artifact>:
    # Artifact settings.

targets:
  <some-unique-programmatic-identifier-for-this-target>:
    artifacts:
      <the-matching-programmatic-identifier-for-this-artifact>:
        # Any more artifact settings to join with the settings from the
        # matching top-level artifacts mapping.

Pokud je v mapování artifacts nejvyšší úrovně i v mapování targets pro stejný artefakt definováno jakékoli nastavení artefaktu, bude mít nastavení v mapování targets přednost před nastavením v mapování nejvyšší úrovně artifacts.

Příklad 1: Nastavení artefaktů definovaná pouze v mapování artefaktů nejvyšší úrovně

Abychom si ukázali, jak to funguje v praxi, v následujícím příkladu se path definuje v mapování artifacts nejvyšší úrovně, které definuje všechna nastavení artefaktu (tři tečky označují vynechaný obsah pro stručnost):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package
# ...

Při spuštění databricks bundle validate v tomto příkladu je výsledný graf následující:

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_package",
      "...": "..."
    }
  },
  "...": "..."
}

Příklad 2: Konfliktní nastavení artefaktů definovaná v nastaveních mapování více artefaktů

V tomto příkladu je path definován jak v mapování artifacts nejvyšší úrovně, tak v mapování artifacts v targets. V tomto příkladu má path v mapování artifacts v targets přednost před path v mapování artifacts nejvyšší úrovně k definování nastavení artefaktu (tři tečky označují vynechaný obsah pro stručnost):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package

targets:
  dev:
    artifacts:
      my-artifact:
        path: ./my_other_package
    # ...

Při spuštění databricks bundle validate v tomto příkladu je výsledný graf (tři tečky označují vynechaný obsah pro stručnost):

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_other_package",
      "...": "..."
    }
  },
  "...": "..."
}