Udostępnij za pośrednictwem


Zasoby pakietów aktywów usługi Databricks

Pakiety zasobów usługi Databricks umożliwiają określenie informacji o zasobach usługi Azure Databricks używanych w ramach pakietu w mapowaniu resources w ramach konfiguracji pakietu. Zobacz odwzorowanie zasobów i kluczowy odnośnik zasobów.

W tym artykule opisano obsługiwane typy zasobów dla pakietów oraz szczegółowe informacje i przykład dla każdego obsługiwanego typu. Aby uzyskać dodatkowe przykłady, zobacz przykłady konfiguracji pakietu .

Napiwek

Aby wygenerować kod YAML dla dowolnego istniejącego zasobu, użyj polecenia databricks bundle generate. Zobacz Generowanie pliku konfiguracji pakietu.

Obsługiwane zasoby

W poniższej tabeli wymieniono obsługiwane typy zasobów dla pakietów. Niektóre zasoby można utworzyć, definiując je w pakiecie i wdrażając pakiet, a niektóre zasoby można utworzyć tylko przez odwołanie do istniejącego zasobu do uwzględnienia w pakiecie.

Zasoby są definiowane przy użyciu żądania utworzenia obiektu odpowiedniego interfejsu API REST Databricks, w którym pola obsługiwane przez obiekt, wyrażone w formacie YAML, są obsługiwanymi właściwościami zasobu. Linki do dokumentacji ładunków odpowiadających poszczególnym zasobom są wymienione w tabeli.

Napiwek

Polecenie databricks bundle validate zwraca ostrzeżenia, jeśli w plikach konfiguracji pakietu znajdują się nieznane właściwości zasobu.

Zasób Odpowiedni obiekt interfejsu API REST
aplikacja obiekt aplikacji
klaster obiekt klastra
deska rozdzielcza Obiekt pulpitu nawigacyjnego
eksperyment obiekt eksperymentu
praca Obiekt zadania
model (starsza wersja) model (starsza wersja) obiektu
punkt_serwowania_modelu Model obsługujący obiekt punktu końcowego
pipelina potokowy obiekt
monitor_jakości obiekt monitora jakości
zarejestrowany_model (Unity Catalog) zarejestrowany obiekt modelu
schema (Katalog Unity) obiekt schematu
zakres_tajemnicy Obiekt tajnego zakresu
wolumin (Unity Catalog) Obiekt woluminu

aplikacja

Type: Map

Zasób aplikacji definiuje aplikację Databricks. Aby uzyskać informacje na temat usługi Databricks Apps, zobacz Aplikacje usługi Databricks.

Aby dodać aplikację, określ ustawienia do zdefiniowania aplikacji, w tym wymagane source_code_path.

Napiwek

Pakiet można zainicjować za pomocą aplikacji Streamlit Databricks przy użyciu następującego polecenia:

databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
apps:
  <app-name>:
    <app-field-name>: <app-field-value>
Klawisz Typ Opis
budget_policy_id Sznurek Identyfikator zasad budżetu dla aplikacji.
config Mapa Przestarzałe. Zdefiniuj polecenia konfiguracji aplikacji i zmienne środowiskowe w app.yaml pliku. Zobacz Konfigurowanie aplikacji usługi Databricks.
description Sznurek Opis aplikacji.
name Sznurek Nazwa aplikacji. Nazwa musi zawierać tylko małe litery alfanumeryczne i łączniki. Musi być unikatowa w obszarze roboczym.
permissions Kolejność Uprawnienia aplikacji. Zobacz uprawnienia.
resources Kolejność Zasoby obliczeniowe aplikacji. Zobacz apps.name.resources.
source_code_path Sznurek Ścieżka lokalna ./app kodu źródłowego aplikacji usługi Databricks. To pole jest wymagane.
user_api_scopes Kolejność Zakresy interfejsu API użytkownika.

aplikacje.name.zasoby

Type: Sequence

Zasoby obliczeniowe dla aplikacji.

Klawisz Typ Opis
description Sznurek Opis zasobu aplikacji.
job Mapa Ustawienia identyfikujące zasób zadania do użycia. Zobacz resources.job.
name Sznurek Nazwa zasobu aplikacji.
secret Mapa Ustawienia wpisu tajnego. Zobacz resources.secret.
serving_endpoint Mapa Ustawienia identyfikujące zasób punktu końcowego, który ma być użyty. Zobacz resources.serving_endpoint.
sql_warehouse Mapa Ustawienia identyfikujące zasób magazynu do użycia. Zobacz resources.sql_warehouse.

Przykład

Poniższy przykład tworzy aplikację o nazwie my_app, która zarządza zadaniem utworzonym przez pakiet:

resources:
  jobs:
    # Define a job in the bundle
    hello_world:
      name: hello_world
      tasks:
        - task_key: task
          spark_python_task:
            python_file: ../src/main.py
          environment_key: default

      environments:
        - environment_key: default
          spec:
            client: '1'

  # Define an app that manages the job in the bundle
  apps:
    job_manager:
      name: 'job_manager_app'
      description: 'An app which manages a job created by this bundle'

      # The location of the source code for the app
      source_code_path: ../src/app

      # The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
      resources:
        - name: 'app-job'
          job:
            id: ${resources.jobs.hello_world.id}
            permission: 'CAN_MANAGE_RUN'

app.yaml Odpowiednia konfiguracja określa uruchamianie aplikacji:

command:
  - flask
  - --app
  - app
  - run
  - --debug
env:
  - name: JOB_ID
    valueFrom: 'app-job'

Aby sprawdzić pełny pakiet przykładowy aplikacji Databricks, zobacz repozytorium GitHub bundle-examples.

klaster

Type: Map

Zasób klastra definiuje klaster.

clusters:
  <cluster-name>:
    <cluster-field-name>: <cluster-field-value>
Klawisz Typ Opis
apply_policy_default_values logiczny Gdy wartość true jest ustawiona, wartości stałe i domyślne z polityki będą używane dla pól, które są pominięte. Jeśli ustawiono na false, zostaną zastosowane tylko stałe wartości z zasad.
autoscale Mapa Parametry potrzebne do automatycznego skalowania klastrów w górę i w dół na podstawie obciążenia. Zobacz autoskalowanie.
autotermination_minutes Liczba całkowita Automatycznie wyłącza klaster po upływie ustawionego czasu nieaktywności, wyrażonego w minutach. Jeśli nie zostanie ustawiona, ten klaster nie zostanie automatycznie zakończony. Jeśli zostanie określony, próg musi należeć do zakresu od 10 do 10000 minut. Użytkownicy mogą również ustawić tę wartość na 0, aby jawnie wyłączyć automatyczne kończenie.
aws_attributes Mapa Atrybuty związane z klastrami uruchomionymi w usługach Amazon Web Services. Jeśli nie zostanie określony podczas tworzenia klastra, zostanie użyty zestaw wartości domyślnych. Zobacz aws_attributes.
azure_attributes Mapa Atrybuty związane z klastrami uruchomionymi na platformie Microsoft Azure. Jeśli nie zostanie określony podczas tworzenia klastra, zostanie użyty zestaw wartości domyślnych. Zobacz azure_attributes.
cluster_log_conf Mapa Konfiguracja dostarczania logów Spark do długoterminowego magazynu docelowego. Zobacz cluster_log_conf.
cluster_name Sznurek Nazwa klastra żądana przez użytkownika. Nie musi to być unikatowe. Jeśli nie zostanie określony podczas tworzenia, nazwa klastra będzie pustym ciągiem.
custom_tags Mapa Dodatkowe tagi dla zasobów klastra. Usługa Databricks oznaczy wszystkie zasoby klastra (np. instancje AWS i woluminy EBS) za pomocą tych tagów, oprócz default_tags. Zobacz custom_tags.
data_security_mode Sznurek Model zarządzania danymi stosowany podczas uzyskiwania dostępu do danych z klastra. Zobacz data_security_mode.
docker_image Mapa Niestandardowy obraz Dockera. Zobacz docker_image.
driver_instance_pool_id Sznurek Opcjonalny identyfikator puli wystąpień, do której należy sterownik klastra. Klaster basenowy używa puli instancji o identyfikatorze (instance_pool_id), jeśli pula sterowników nie została przypisana.
driver_node_type_id Sznurek Typ węzła sterownika Spark. Pamiętaj, że to pole jest opcjonalne; jeśli nie zostanie ustawione, typ węzła sterownika zostanie ustawiony na tę samą wartość, co node_type_id zdefiniowano powyżej. To pole wraz z node_type_id nie powinno być ustawione, jeśli virtual_cluster_size jest ustawiona. Jeśli określono zarówno driver_node_type_id, node_type_id, jak i virtual_cluster_size, pierwszeństwo mają driver_node_type_id i node_type_id.
enable_elastic_disk logiczny Autoskalowanie magazynu lokalnego: po włączeniu ten klaster będzie dynamicznie uzyskiwać dodatkowe miejsce na dysku, gdy procesy robocze Spark mają mało miejsca na dysku. Ta funkcja wymaga określonych uprawnień platformy AWS do poprawnego działania — zapoznaj się z podręcznikiem użytkownika, aby uzyskać więcej informacji.
enable_local_disk_encryption logiczny Czy włączyć LUKS na dyskach lokalnych maszyn wirtualnych klastra
gcp_attributes Mapa Atrybuty związane z klastrami uruchomionymi na platformie Google Cloud Platform. Jeśli nie zostanie określony podczas tworzenia klastra, zostanie użyty zestaw wartości domyślnych. Zobacz gcp_attributes.
init_scripts Kolejność Konfiguracja przechowywania skryptów inicjowania. Można określić dowolną liczbę miejsc docelowych. Skrypty są wykonywane sekwencyjnie w podanej kolejności. Zobacz init_scripts.
instance_pool_id Sznurek Opcjonalny identyfikator puli wystąpień, do której należy klaster.
is_single_node logiczny To pole może być używane tylko wtedy, gdy kind = CLASSIC_PREVIEW. Po ustawieniu wartości true Databricks automatycznie ustawi elementy związane z jednym węzłem custom_tags, spark_conf i num_workers
kind Sznurek Rodzaj obliczeń opisany przez tę specyfikację obliczeniową.
node_type_id Sznurek To pole koduje za pomocą jednej wartości zasoby dostępne dla każdego z węzłów platformy Spark w tym klastrze. Na przykład węzły platformy Spark można aprowizować i optymalizować pod kątem obciążeń intensywnie korzystających z pamięci lub obliczeń. Listę dostępnych typów węzłów można pobrać przy użyciu wywołania interfejsu API :method:clusters/listNodeTypes.
num_workers Liczba całkowita Liczba węzłów roboczych, które powinien mieć ten klaster. Klaster ma jeden sterownik Spark i num_workers funkcje wykonawcze dla łącznie num_workers + 1 węzłów Spark.
permissions Kolejność Uprawnienia klastra. Zobacz uprawnienia.
policy_id Sznurek Identyfikator zasad klastra użytych do utworzenia klastra, jeśli ma to zastosowanie.
runtime_engine Sznurek Określa aparat środowiska uruchomieniowego klastra, albo STANDARD, albo PHOTON.
single_user_name Sznurek Nazwa pojedynczego użytkownika, jeśli data_security_mode jest SINGLE_USER
spark_conf Mapa Obiekt zawierający zestaw opcjonalnych par klucz-wartość konfiguracji Spark określonych przez użytkownika. Użytkownicy mogą również przekazać ciąg dodatkowych opcji JVM do sterownika i funkcji wykonawczych odpowiednio za pośrednictwem spark.driver.extraJavaOptions i spark.executor.extraJavaOptions . Zobacz spark_conf.
spark_env_vars Mapa Obiekt zawierający zestaw opcjonalnych par klucz-wartość zmiennej środowiskowej określonej przez użytkownika.
spark_version Sznurek Wersja Spark używana w klastrze, np. 3.3.x-scala2.11. Listę dostępnych wersji platformy Spark można pobrać przy użyciu wywołania interfejsu API :method:clusters/sparkVersions.
ssh_public_keys Kolejność Zawartość klucza publicznego SSH, która zostanie dodana do każdego węzła Spark w tym klastrze. Odpowiednie klucze prywatne mogą służyć do logowania się przy użyciu nazwy ubuntu użytkownika na porcie 2200. Można określić maksymalnie 10 kluczy.
use_ml_runtime logiczny To pole może być używane tylko wtedy, gdy kind = CLASSIC_PREVIEW. effective_spark_version jest określany przez spark_version (wydanie DBR), to pole use_ml_runtime, i czy node_type_id jest węzłem gpu, czy nie.
workload_type Mapa Atrybuty klastra wyświetlane dla typów obciążeń klastrów. Zobacz workload_type.

Przykłady

Poniższy przykład tworzy dedykowany (pojedynczy użytkownik) klaster dla bieżącego użytkownika z usługą Databricks Runtime 15.4 LTS i zasadami klastra:

resources:
  clusters:
    my_cluster:
      num_workers: 0
      node_type_id: 'i3.xlarge'
      driver_node_type_id: 'i3.xlarge'
      spark_version: '15.4.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'
      autotermination_minutes: 60
      enable_elastic_disk: true
      single_user_name: ${workspace.current_user.userName}
      policy_id: '000128DB309672CA'
      enable_local_disk_encryption: false
      data_security_mode: SINGLE_USER
      runtime_engine": STANDARD

W tym przykładzie tworzony jest prosty klaster my_cluster i jest on ustawiany jako klaster do uruchomienia notatnika w my_job.

bundle:
  name: clusters

resources:
  clusters:
    my_cluster:
      num_workers: 2
      node_type_id: 'i3.xlarge'
      autoscale:
        min_workers: 2
        max_workers: 7
      spark_version: '13.3.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'

  jobs:
    my_job:
      tasks:
        - task_key: test_task
          notebook_task:
            notebook_path: './src/my_notebook.py'
          existing_cluster_id: ${resources.clusters.my_cluster.id}

panel sterowania

Type: Map

Zasób umożliwia zarządzanie dashboardami AI/BI w pakiecie. Aby uzyskać informacje na temat pulpitów nawigacyjnych AI/BI, zobacz Dashboards.

Uwaga / Notatka

W przypadku korzystania z pakietów zasobów Databricks z obsługą dashboardów Git, zapobiegaj generowaniu zduplikowanych dashboardów, dodając mapowanie synchronizacji, aby wykluczyć dashboardy z synchronizacji jako pliki.

sync:
  exclude:
    - src/*.lvdash.json
dashboards:
  <dashboard-name>:
    <dashboard-field-name>: <dashboard-field-value>
Klawisz Typ Opis
display_name Sznurek Nazwa pulpitu nawigacyjnego.
etag Sznurek Etag dla konsoli. Można opcjonalnie podać podczas aktualizacji, aby upewnić się, że pulpit nawigacyjny nie został zmodyfikowany od czasu ostatniego odczytu.
file_path Sznurek Lokalna ścieżka zasobu pulpitu nawigacyjnego, w tym nazwa pliku. Wyeksportowane pulpity nawigacyjne zawsze mają rozszerzenie .lvdash.jsonpliku .
permissions Kolejność Uprawnienia pulpitu nawigacyjnego. Zobacz uprawnienia.
serialized_dashboard Jakikolwiek Zawartość pulpitu nawigacyjnego w postaci serializowanego ciągu.
warehouse_id Sznurek Identyfikator magazynu używany do uruchamiania pulpitu nawigacyjnego.

Przykład

Na poniższym przykładzie przedstawiono sposób wdrożenia przykładowego pulpitu nawigacyjnego NYC Taxi Trip Analysis w obszarze roboczym usługi Databricks.

resources:
  dashboards:
    nyc_taxi_trip_analysis:
      display_name: 'NYC Taxi Trip Analysis'
      file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
      warehouse_id: ${var.warehouse_id}

Jeśli używasz interfejsu użytkownika do modyfikowania pulpitu nawigacyjnego, modyfikacje wprowadzone za pośrednictwem interfejsu użytkownika nie są stosowane do pliku JSON pulpitu nawigacyjnego w pakiecie lokalnym, chyba że jawnie zaktualizujesz go przy użyciu bundle generate. Możesz użyć opcji --watch, aby stale sprawdzać zmiany i pobierać je z pulpitu nawigacyjnego. Zobacz Generowanie pliku konfiguracji pakietu.

Ponadto w przypadku próby wdrożenia pakietu zawierającego plik JSON pulpitu nawigacyjnego, który różni się od tego w zdalnym obszarze roboczym, wystąpi błąd. Aby wymusić wdrożenie i zastąpienie pulpitu nawigacyjnego w zdalnym obszarze roboczym jego lokalną wersją, użyj opcji --force. Zobacz Wdrażanie pakietu.

eksperyment

Type: Map

Zasób do eksperymentów umożliwia zdefiniowanie eksperymentów MLflow w ramach pakietu. Aby uzyskać informacje na temat eksperymentów MLflow, zobacz Organizowanie przebiegów trenowania za pomocą eksperymentów MLflow.

experiments:
  <experiment-name>:
    <experiment-field-name>: <experiment-field-value>
Klawisz Typ Opis
artifact_location Sznurek Lokalizacja, w której są przechowywane artefakty eksperymentu.
name Sznurek Przyjazna nazwa identyfikująca eksperyment.
permissions Kolejność Uprawnienia eksperymentu. Zobacz uprawnienia.
tags Kolejność Dodatkowe pary klucz-wartość metadanych. Zobacz tagi.

Przykład

W poniższym przykładzie zdefiniowano eksperyment, który może wyświetlać wszyscy użytkownicy:

resources:
  experiments:
    experiment:
      name: my_ml_experiment
      permissions:
        - level: CAN_READ
          group_name: users
      description: MLflow experiment used to track runs

zadanie

Type: Map

Zasób pracy umożliwia zdefiniowanie prac i odpowiadających im zadań w pakiecie. Aby uzyskać informacje o zadaniach, zobacz Zadania lakeflow. Aby zapoznać się z samouczkiem, który używa szablonu pakietów zasobów usługi Databricks do utworzenia zadania, zobacz Tworzenie zadania za pomocą pakietów zasobów usługi Databricks.

jobs:
  <job-name>:
    <job-field-name>: <job-field-value>
Klawisz Typ Opis
budget_policy_id Sznurek Identyfikator zasad budżetu określonych przez użytkownika do zastosowania dla tego zadania. Jeśli nie zostanie określony, podczas tworzenia lub modyfikowania zadania można zastosować domyślne zasady budżetu. Zobacz effective_budget_policy_id zasady budżetu używane przez to obciążenie.
continuous Mapa Opcjonalna nieprzerwana właściwość dla tego zadania. Właściwość continuous gwarantuje, że zawsze jest wykonywane jedno uruchomienie. Można użyć tylko jednego z schedule elementów i continuous . Zobacz ciągłe.
deployment Mapa Informacje o wdrażaniu zadań zarządzanych przez źródła zewnętrzne. Zobacz wdrażanie.
description Sznurek Opcjonalny opis zadania. Maksymalna długość wynosi 27700 znaków w kodowaniu UTF-8.
edit_mode Sznurek Tryb edycji zadania: albo UI_LOCKED, albo EDITABLE.
email_notifications Mapa Opcjonalny zestaw adresów e-mail, który jest powiadamiany o rozpoczęciu lub ukończeniu tego zadania, a także po usunięciu tego zadania. Zobacz email_notifications.
environments Kolejność Lista specyfikacji środowiska wykonawczego, które mogą być przywoływane przez funkcje bezserwerowe tego projektu. Środowisko musi być obecne w przypadku zadań bezserwerowych. W przypadku zadań notesu bezserwerowego środowisko jest dostępne w panelu środowiska notesu. W przypadku innych zadań bezserwerowych środowisko zadań jest wymagane do określenia przy użyciu environment_key w ustawieniach zadania. Zobacz środowiska.
format Sznurek Format zadania.
git_source Mapa Opcjonalna specyfikacja zdalnego repozytorium Git zawierającego kod źródłowy używany przez zadania.
Ważne:git_source Pole oraz pole zadania source ustawione na wartość GIT nie są zalecane w przypadku pakietów, ponieważ lokalne ścieżki względne mogą nie wskazywać na tę samą zawartość w repozytorium Git. Pakiety oczekują, że wdrożone zadanie ma taką samą zawartość jak lokalna kopia, z której zostało pierwotnie wdrożone.
Zamiast tego sklonuj repozytorium lokalnie i skonfiguruj projekt pakietu w tym repozytorium, aby źródło zadań stanowił obszar roboczy.
health Mapa Opcjonalny zestaw reguł zdrowotnych, które można zdefiniować dla tego zadania. Zobacz kondycję.
job_clusters Kolejność Lista specyfikacji klastra zadań, które mogą być współużytkowane i ponownie używane przez zadania tego zadania. Zobacz klastry.
max_concurrent_runs Liczba całkowita Opcjonalnie maksymalna liczba współbieżnych uruchomień tego zadania. Ustaw tę wartość, jeśli chcesz mieć możliwość współbieżnego wykonywania wielu uruchomień tego samego zadania. Zobacz max_concurrent_runs.
name Sznurek Opcjonalna nazwa zadania. Maksymalna długość to 4096 bajtów w kodowaniu UTF-8.
notification_settings Mapa Opcjonalne ustawienia powiadomień używane podczas wysyłania powiadomień do każdego z elementów email_notifications i webhook_notifications dla tego zadania. Zobacz notification_settings.
parameters Kolejność Definicje parametrów na poziomie zadania. Zobacz parametry.
performance_target Sznurek PerformanceTarget definiuje, jak wydajne lub ekonomiczne powinno być wykonywanie procesów na rozwiązaniach bezserwerowych.
permissions Kolejność Uprawnienia pracy. Zobacz uprawnienia.
queue Mapa Ustawienia kolejki zadania. Zobacz kolejkę.
run_as Mapa Ustawienie tylko do zapisu. Określa użytkownika lub jednostkę usługi, który wykonuje zadanie. Jeśli użytkownik nie zostanie określony, zadanie zostanie uruchomione za użytkownika, który utworzył zadanie. Należy określić wartość user_name lub service_principal_name . Jeśli nie, zostanie zgłoszony błąd. Zobacz Określ tożsamość przebiegu dla przepływu pracy pakietów zasobów usługi Databricks.
schedule Mapa Opcjonalny harmonogram okresowy dla tego zadania. Domyślne zachowanie polega na tym, że zadanie jest uruchamiane tylko po wyzwoleniu, klikając 'Uruchom teraz' w panelu zadań albo wysyłając żądanie interfejsu API do runNow. Zobacz harmonogram.
tags Mapa Mapa tagów skojarzonych z zadaniem. Są one przekazywane do klastra jako tagi klastra dla klastrów zadań i podlegają tym samym ograniczeniom co tagi klastra. Do zadania można dodać maksymalnie 25 tagów.
tasks Kolejność Lista specyfikacji zadań, które mają być wykonane w ramach tego zlecenia. Zobacz Dodawanie zadań do zadań w pakietach zasobów usługi Databricks.
timeout_seconds Liczba całkowita Opcjonalny limit czasu stosowany do każdego uruchomienia tego zadania. Wartość oznacza brak limitu 0 czasu.
trigger Mapa Konfiguracja wyzwalania przebiegu po spełnieniu określonych warunków. Zobacz wyzwalacz.
webhook_notifications Mapa Kolekcja identyfikatorów powiadomień systemowych do powiadamiania o rozpoczęciu lub ukończeniu tego zadania. Zobacz webhook_notifications.

Przykłady

W poniższym przykładzie zdefiniowano zadanie z kluczem zasobu hello-job z jednym zadaniem w notatniku:

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          notebook_task:
            notebook_path: ./hello.py

W poniższym przykładzie zdefiniowano zadanie za pomocą notesu SQL:

resources:
  jobs:
    job_with_sql_notebook:
      name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
      tasks:
        - task_key: notebook
          notebook_task:
            notebook_path: ./select.sql
            warehouse_id: 799f096837fzzzz4

Aby uzyskać dodatkowe przykłady konfiguracji zadań, zobacz Konfiguracja zadania.

Aby uzyskać informacje na temat definiowania zadań pracy i nadpisywania ustawień pracy, odwołaj się do:

model (starsza wersja)

Type: Map

Zasób dotyczący modelu pozwala na definiowanie starszych modeli w pakietach. Usługa Databricks zaleca zamiast tego korzystanie z zarejestrowanych modeli w Katalogu Unity.

punkt_serwowania_modelu

Type: Map

Zasób model_serving_endpoint umożliwia zdefiniowanie modelu obsługującego punkty końcowe. Zobacz Zarządzanie modelem obsługującym punkty końcowe.

model_serving_endpoints:
  <model_serving_endpoint-name>:
    <model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
Klawisz Typ Opis
ai_gateway Mapa Konfiguracja bramy sztucznej inteligencji dla punktu końcowego obsługującego. UWAGA: Obecnie obsługiwane są tylko zewnętrzne modele i punkty końcowe z konfigurowaną przepływnością. Zobacz ai_gateway.
config Mapa Podstawowa konfiguracja punktu końcowego obsługującego. Zobacz konfigurację.
name Sznurek Nazwa obsługującego punktu końcowego. To pole jest wymagane i musi być unikatowe w obszarze roboczym usługi Databricks. Nazwa punktu końcowego może zawierać znaki alfanumeryczne, kreski i podkreślenia.
permissions Kolejność Model obsługujący uprawnienia punktu końcowego. Zobacz uprawnienia.
rate_limits Kolejność Przestarzałe. Limity szybkości, które mają być stosowane do punktu końcowego obsługi. Użyj AI Gateway do zarządzania limitami ilościowymi.
route_optimized logiczny Włącz optymalizację tras dla punktu końcowego obsługi.
tags Kolejność Tagi, które mają być dołączone do punktu końcowego obsługi i automatycznie propagowane do dzienników rozliczeniowych. Zobacz tagi.

Przykład

W poniższym przykładzie zdefiniowano punkt końcowy serwowania modelu w Katalogu Unity.

resources:
  model_serving_endpoints:
    uc_model_serving_endpoint:
      name: 'uc-model-endpoint'
      config:
        served_entities:
          - entity_name: 'myCatalog.mySchema.my-ads-model'
            entity_version: '10'
            workload_size: 'Small'
            scale_to_zero_enabled: 'true'
        traffic_config:
          routes:
            - served_model_name: 'my-ads-model-10'
              traffic_percentage: '100'
      tags:
        - key: 'team'
          value: 'data science'

przewód

Type: Map

Zasób potoku umożliwia tworzenie deklaratywnych potoków Lakeflow. Aby uzyskać informacje na temat rurociągów, zobacz Lakeflow Deklaratywnych Rurociągów. Aby zapoznać się z samouczkiem korzystającym z szablonu pakietów zasobów Databricks do utworzenia potoku, odwołaj się do Tworzenie deklaratywnych potoków Lakeflow z pakietami zasobów Databricks.

pipelines:
  <pipeline-name>:
    <pipeline-field-name>: <pipeline-field-value>
Klawisz Typ Opis
allow_duplicate_names logiczny Jeśli ustawione na false, wdrożenie się nie powiedzie, jeśli nazwa będzie w konflikcie z innym potokiem.
catalog Sznurek Katalog w Unity Catalog do publikowania danych z tego potoku. Jeśli target zostanie określony, tabele w tym potoku są publikowane w schemacie target w ramach catalog (na przykład catalog.target.table). Jeśli target nie zostanie określony, żadne dane nie zostaną opublikowane w Unity Catalog.
channel Sznurek Kanał wydania Lakeflow Deklaratywnych Potoków określający, którą wersję Lakeflow Deklaratywnych Potoków należy używać.
clusters Kolejność Ustawienia konfiguracji klastra dla tego wdrożenia potoku. Zobacz klaster.
configuration Mapa Konfiguracja tego wykonania potoku.
continuous logiczny Określa, czy potok jest ciągły, czy wyzwalany. To zastępuje trigger.
deployment Mapa Typ wdrożenia tego ciągu technologicznego. Zobacz wdrażanie.
development logiczny Czy pipeline jest w trybie rozwoju. Wartość domyślna to fałsz.
dry_run logiczny Czy potok jest potokiem przebiegu suchego.
edition Sznurek Edycja produktu do zarządzania potokiem.
event_log Mapa Konfiguracja dziennika zdarzeń dla tego potoku. Zobacz event_log.
filters Mapa Filtry określające, które pakiety potoków mają zostać uwzględnione w wdrożonym grafie. Zobacz filtry.
id Sznurek Unikatowy identyfikator tego potoku.
ingestion_definition Mapa Konfiguracja zarządzanego potoku wprowadzania. Tych ustawień nie można używać z ustawieniami libraries, schema, targetlub catalog . Zobacz ingestion_definition.
libraries Kolejność Biblioteki lub kod wymagany przez to wdrożenie. Zobacz biblioteki.
name Sznurek Przyjazna nazwa tego pipeline'u.
notifications Kolejność Ustawienia powiadomień dla tej pipelinii. Zobacz powiadomienia.
permissions Kolejność Uprawnienia potoku. Zobacz uprawnienia.
photon logiczny Określa, czy dla tego kanału włączono Photon.
schema Sznurek Domyślny schemat (baza danych), w którym tabele są odczytywane z lub publikowane.
serverless logiczny Określa, czy dla tego potoku danych jest włączone przetwarzanie w trybie bezserwerowym.
storage Sznurek Katalog główny systemu plików DBFS do przechowywania punktów kontrolnych i tabel.
target Sznurek Docelowy schemat (baza danych) do dodawania tabel w tej ścieżce przetwarzania. Należy określić dokładnie jeden z schema lub target. Aby opublikować w Unity Catalog, określ również wartość catalog. To starsze pole jest przestarzałe na potrzeby tworzenia potoku na rzecz pola schema.
trigger Mapa Przestarzałe. Który wyzwalacz potoku ma być używany. Użyj continuous zamiast tego.

Przykład

W poniższym przykładzie zdefiniowano rurkę o kluczu zasobu hello-pipeline:

resources:
  pipelines:
    hello-pipeline:
      name: hello-pipeline
      clusters:
        - label: default
          num_workers: 1
      development: true
      continuous: false
      channel: CURRENT
      edition: CORE
      photon: false
      libraries:
        - notebook:
            path: ./pipeline.py

Aby zapoznać się z dodatkowymi przykładami konfiguracji potoku, zobacz Konfiguracja potoku.

quality_monitor (wykaz aparatu Unity)

Type: Map

Zasób quality_monitor umożliwia zdefiniowanie monitora tabeli Unity Catalog. Aby uzyskać informacje o monitorach, zobacz Introduction to Databricks Lakehouse Monitoring.

quality_monitors:
  <quality_monitor-name>:
    <quality_monitor-field-name>: <quality_monitor-field-value>
Klawisz Typ Opis
assets_dir Sznurek Katalog do przechowywania zasobów monitorowania (np. pulpit nawigacyjny, tabele metryk).
baseline_table_name Sznurek Nazwa tabeli bazowej, z której są obliczane metryki dryfu. Kolumny w monitorowanej tabeli powinny być również obecne w tabeli bazowej.
custom_metrics Kolejność Niestandardowe metryki do obliczenia na monitorowanej tabeli. Mogą to być metryki zagregowane, metryki pochodne (pochodzące z metryk zagregowanych) lub metryki dryfu (porównujące metryki w różnych oknach czasowych). Zobacz custom_metrics.
inference_log Mapa Konfiguracja monitorowania dzienników wnioskowania. Zobacz inference_log.
notifications Mapa Ustawienia powiadomień dla monitora. Zobacz powiadomienia.
output_schema_name Sznurek Schemat, w którym są tworzone tabele metryk wyjściowych.
schedule Mapa Harmonogram automatycznego aktualizowania i odświeżania tabel metryk. Zobacz harmonogram.
skip_builtin_dashboard logiczny Czy pominąć tworzenie domyślnego pulpitu nawigacyjnego podsumowującego metryki jakości danych.
slicing_exprs Kolejność Lista wyrażeń kolumn do podziału danych na potrzeby skupionej analizy. Dane są pogrupowane niezależnie od każdego wyrażenia, co powoduje utworzenie oddzielnego wycinka dla każdego predykatu i jego uzupełnień. W przypadku kolumn o wysokiej kardynalności tylko 100 pierwszych unikatowych wartości według częstotliwości spowoduje wygenerowanie wycinków.
snapshot Mapa Konfiguracja do monitorowania tabel migawek.
table_name Sznurek Pełna nazwa tabeli.
time_series Mapa Konfiguracja monitorowania tabel szeregów czasowych. Zobacz time_series.
warehouse_id Sznurek Opcjonalny argument określający magazyn na potrzeby tworzenia pulpitu nawigacyjnego. Jeśli nie zostanie określony, zostanie użyty pierwszy uruchomiony magazyn.

Przykłady

Pełny przykładowy pakiet, który definiuje element quality_monitor, zobacz pakiet mlops_demo.

W poniższych przykładach zdefiniowano monitory jakości dla InferenceLog, TimeSeriesi typy profilów migawki.

# InferenceLog profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      inference_log:
        granularities: [1 day]
        model_id_col: model_id
        prediction_col: prediction
        label_col: price
        problem_type: PROBLEM_TYPE_REGRESSION
        timestamp_col: timestamp
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC
# TimeSeries profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      time_series:
        granularities: [30 minutes]
        timestamp_col: timestamp
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC
# Snapshot profile type
resources:
  quality_monitors:
    my_quality_monitor:
      table_name: dev.mlops_schema.predictions
      output_schema_name: ${bundle.target}.mlops_schema
      assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
      snapshot: {}
      schedule:
        quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
        timezone_id: UTC

registered_model (wykaz aparatu Unity)

Type: Map

Zasób zarejestrowanego modelu umożliwia definiowanie modeli w katalogu Unity. Aby uzyskać informacje na temat modeli zarejestrowanych w katalogu Unity, zobacz Zarządzanie cyklem życia modelu w katalogu Unity.

registered_models:
  <registered_model-name>:
    <registered_model-field-name>: <registered_model-field-value>
Klawisz Typ Opis
catalog_name Sznurek Nazwa wykazu, w którym znajduje się schemat i zarejestrowany model.
comment Sznurek Komentarz dołączony do zarejestrowanego modelu.
grants Kolejność Dotacje powiązane z zarejestrowanym modelem. Zobacz granty.
name Sznurek Nazwa zarejestrowanego modelu.
schema_name Sznurek Nazwa schematu, w którym znajduje się zarejestrowany model.
storage_location Sznurek Lokalizacja w chmurze, w której są przechowywane pliki danych wersji modelu.

Przykład

W poniższym przykładzie zdefiniowano zarejestrowany model w katalogu Unity.

resources:
  registered_models:
    model:
      name: my_model
      catalog_name: ${bundle.target}
      schema_name: mlops_schema
      comment: Registered model in Unity Catalog for ${bundle.target} deployment target
      grants:
        - privileges:
            - EXECUTE
          principal: account users

schemat (Unity Catalog)

Type: Map

Typ zasobu schematu umożliwia zdefiniowanie schematów Unity Catalog dla tabel i innych zasobów w przepływach pracy i potokach tworzonych w ramach pakietu. Schemat, inny niż inne typy zasobów, ma następujące ograniczenia:

  • Właściciel zasobu schematu jest zawsze użytkownikiem wdrożenia i nie można go zmienić. Jeśli run_as zostanie określony w pakiecie, zostanie on zignorowany przez operacje w schemacie.
  • Dla zasobu schematu są dostępne tylko pola obsługiwane przez odpowiedni obiekt Schemas create API. Na przykład enable_predictive_optimization nie jest obsługiwany, ponieważ jest dostępny tylko w aktualizacji API .
schemas:
  <schema-name>:
    <schema-field-name>: <schema-field-value>
Klawisz Typ Opis
catalog_name Sznurek Nazwa katalogu nadrzędnego.
comment Sznurek Opis tekstowy w formie dowolnej podany przez użytkownika.
grants Kolejność Dotacje związane ze schematem. Zobacz granty.
name Sznurek Nazwa schematu względem katalogu nadrzędnego.
properties Mapa Mapa właściwości typu klucz-wartość dołączona do schematu.
storage_root Sznurek Główny adres URL magazynu dla tabel zarządzanych w schemacie.

Przykłady

W poniższym przykładzie zdefiniowano potok z kluczem zasobu my_pipeline, który tworzy schemat Unity Catalog z kluczem my_schema jako element docelowy.

resources:
  pipelines:
    my_pipeline:
      name: test-pipeline-{{.unique_id}}
      libraries:
        - notebook:
            path: ../src/nb.ipynb
        - file:
            path: ../src/range.sql
      development: true
      catalog: ${resources.schemas.my_schema.catalog_name}
      target: ${resources.schemas.my_schema.id}

  schemas:
    my_schema:
      name: test-schema-{{.unique_id}}
      catalog_name: main
      comment: This schema was created by Databricks Asset Bundles.

Mapowanie uprawnień najwyższego poziomu nie jest obsługiwane przez pakiety zasobów usługi Databricks, więc jeśli chcesz ustawić uprawnienia dla schematu, zdefiniuj uprawnienia dla schematu w ramach mapowania schemas. Aby uzyskać więcej informacji na temat uprawnień, zobacz Pokazywanie, przyznawanie i cofanie przywilejów.

W poniższym przykładzie zdefiniowano schemat Unity Catalog z grantami.

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - SELECT
        - principal: my_team
          privileges:
            - CAN_MANAGE
      catalog_name: main

sekret_zakres

Type: Map

Zasób secret_scope umożliwia definiowanie tajnych zakresów w pakiecie. Aby uzyskać informacje o zakresach wpisów tajnych, zobacz Zarządzanie wpisami tajnymi.

secret_scopes:
  <secret_scope-name>:
    <secret_scope-field-name>: <secret_scope-field-value>
Klawisz Typ Opis
backend_type Sznurek Typ zaplecza technologicznego, za pomocą którego zostanie utworzony zakres. Jeśli nie zostanie określony, ta wartość domyślna to DATABRICKS.
keyvault_metadata Mapa Metadane zakresu wpisu tajnego, jeśli element backend_type ma wartość AZURE_KEYVAULT.
name Sznurek Nazwa zakresu żądana przez użytkownika. Nazwy zakresów są unikatowe.
permissions Kolejność Uprawnienia, które mają być zastosowane do zakresu tajnego. Uprawnienia są zarządzane za pośrednictwem wpisów ACL tajnych zakresu. Zobacz uprawnienia.

Przykłady

W poniższym przykładzie zdefiniowano zakres wpisów tajnych, który używa zaplecza magazynu kluczy:

resources:
  secret_scopes:
    secret_scope_azure:
      name: test-secrets-azure-backend
      backend_type: 'AZURE_KEYVAULT'
      keyvault_metadata:
        resource_id: my_azure_keyvault_id
        dns_name: my_azure_keyvault_dns_name

W poniższym przykładzie skonfigurowano niestandardową listę ACL przy użyciu zakresów sekretów i zezwoleń.

resources:
  secret_scopes:
    my_secret_scope:
      name: my_secret_scope
      permissions:
        - user_name: admins
          level: WRITE
        - user_name: users
          level: READ

Aby zobaczyć przykładowy pakiet, który pokazuje, jak zdefiniować zakres tajny oraz zadanie, które odczytuje z niego, przejdź do repozytorium GitHub bundle-examples.

wolumin (Unity Catalog)

Type: Map

Typ zasobu woluminu umożliwia definiowanie i tworzenie woluminów w Unity Catalog jako część pakietu. Podczas wdrażania pakietu z zdefiniowanym woluminem należy pamiętać, że:

  • Nie można odwołać się do woluminu w artifact_path dla pakietu, dopóki nie będzie on istniał w obszarze roboczym. W związku z tym, jeśli chcesz użyć pakietów zasobów usługi Databricks do utworzenia woluminu, musisz najpierw zdefiniować wolumin w pakiecie, wdrożyć go w celu utworzenia woluminu, a następnie odwołać się do niego w artifact_path w kolejnych wdrożeniach.
  • Woluminy w pakiecie nie są poprzedzone prefiksem dev_${workspace.current_user.short_name}, jeśli cel wdrożenia ma skonfigurowany mode: development. Można jednak ręcznie skonfigurować ten prefiks. Zobacz Niestandardowe ustawienia wstępne.
volumes:
  <volume-name>:
    <volume-field-name>: <volume-field-value>
Klawisz Typ Opis
catalog_name Sznurek Nazwa katalogu schematu i woluminu.
comment Sznurek Komentarz dołączony do woluminu.
grants Kolejność Granty skojarzone z objętością. Zobacz granty.
name Sznurek Nazwa woluminu.
schema_name Sznurek Nazwa schematu, w którym znajduje się wolumin.
storage_location Sznurek Lokalizacja magazynu w chmurze.
volume_type Sznurek Typ woluminu lub EXTERNALMANAGED. Wolumin zewnętrzny znajduje się w określonej lokalizacji zewnętrznej. Wolumin zarządzany znajduje się w domyślnej lokalizacji określonej przez schemat nadrzędny lub wykaz nadrzędny lub magazyn metadanych. Zobacz Zarządzane i zewnętrzne woluminy.

Przykład

Poniższy przykład tworzy wolumin Unity Catalog o kluczu my_volume:

resources:
  volumes:
    my_volume:
      catalog_name: main
      name: my_volume
      schema_name: my_schema

Przykładowy pakiet uruchamiający zadanie, które zapisuje do pliku w woluminie Unity Catalog, można znaleźć w repozytorium GitHub bundle-examples.

Typowe obiekty

dotacje

Type: Sequence

Klawisz Typ Opis
principal Sznurek Nazwa głównego podmiotu, któremu zostaną przyznane uprawnienia.
privileges Kolejność Uprawnienia do przyznania określonemu podmiotowi.