Sdílet prostřednictvím


Závislosti knihovny sady prostředků Databricks

Tento článek popisuje syntaxi pro deklarování závislostí knihovny Sady prostředků Databricks. Sady prostředků umožňují programovou správu pracovních postupů Azure Databricks. Podívejte se, co jsou sady prostředků Databricks?

Kromě poznámkových bloků budou vaše úlohy Azure Databricks pravděpodobně záviset na knihovnách, aby fungovaly podle očekávání. Závislosti sady prostředků Databricks pro místní vývoj jsou zadány v requirements*.txt souboru v kořenovém adresáři projektu sady prostředků, ale závislosti knihovny úloh jsou deklarovány v konfiguračních souborech sady prostředků a často jsou nezbytné jako součást specifikace typu úlohy.

Sady prostředků poskytují podporu pro následující závislosti knihoven pro úlohy Azure Databricks:

  • Soubor kolečka Pythonu
  • Soubor JAR (Java nebo Scala)
  • Balíčky PyPI, Maven nebo CRAN

Poznámka:

To, jestli je knihovna podporovaná, závisí na konfiguraci clusteru pro úlohu a zdroj knihovny. Úplné informace o podpoře knihoven najdete v tématu Knihovny.

Soubor kolečka Pythonu

Pokud chcete do úlohy úlohy přidat soubor kola Pythonu, zadejte mapování pro každou knihovnuwhl, libraries která se má nainstalovat. Soubor kola můžete nainstalovat ze souborů pracovního prostoru, svazků katalogu Unity, cloudového úložiště objektů nebo místní cesty k souboru.

Důležité

Knihovny je možné nainstalovat z DBFS při použití Databricks Runtime 14.3 LTS a níže. Každý uživatel pracovního prostoru ale může upravovat soubory knihovny uložené v DBFS. Aby se zlepšilo zabezpečení knihoven v pracovním prostoru Azure Databricks, ukládání souborů knihovny v kořenovém adresáři DBFS je ve výchozím nastavení v Databricks Runtime 15.1 a novějších zakázaných. Viz Ukládání knihoven v kořenovém adresáři DBFS je ve výchozím nastavení zastaralé a zakázané.

Místo toho databricks doporučuje nahrát všechny knihovny, včetně knihoven Pythonu, souborů JAR a konektorů Spark, do souborů pracovních prostorů nebo svazků katalogu Unity nebo pomocí úložišť balíčků knihoven. Pokud vaše úloha tyto vzory nepodporuje, můžete také použít knihovny uložené v cloudovém úložišti objektů.

Následující příklad ukazuje, jak nainstalovat tři soubory kol Pythonu pro úlohu úlohy.

  • První soubor kolečka Pythonu se buď předtím nahrál do pracovního prostoru Azure Databricks, nebo se přidal jako include položka v sync mapování a je ve stejné místní složce jako konfigurační soubor sady.
  • Druhý soubor kola Pythonu je v zadaném umístění souborů pracovního prostoru v pracovním prostoru Azure Databricks.
  • Třetí soubor kola Pythonu se dříve nahrál do svazku pojmenovaného my-volume v pracovním prostoru Azure Databricks.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - whl: ./my-wheel-0.1.0.whl
            - whl: /Workspace/Shared/Libraries/my-wheel-0.0.1-py3-none-any.whl
            - whl: /Volumes/main/default/my-volume/my-wheel-0.1.0.whl

Soubor JAR

Pokud chcete přidat soubor JAR do úlohy úlohy, zadejte mapování pro každou knihovnujar, libraries která se má nainstalovat. Soubor JAR můžete nainstalovat ze souborů pracovního prostoru, svazků katalogu Unity, cloudového úložiště objektů nebo místní cesty k souboru.

Důležité

Knihovny je možné nainstalovat z DBFS při použití Databricks Runtime 14.3 LTS a níže. Každý uživatel pracovního prostoru ale může upravovat soubory knihovny uložené v DBFS. Aby se zlepšilo zabezpečení knihoven v pracovním prostoru Azure Databricks, ukládání souborů knihovny v kořenovém adresáři DBFS je ve výchozím nastavení v Databricks Runtime 15.1 a novějších zakázaných. Viz Ukládání knihoven v kořenovém adresáři DBFS je ve výchozím nastavení zastaralé a zakázané.

Místo toho databricks doporučuje nahrát všechny knihovny, včetně knihoven Pythonu, souborů JAR a konektorů Spark, do souborů pracovních prostorů nebo svazků katalogu Unity nebo pomocí úložišť balíčků knihoven. Pokud vaše úloha tyto vzory nepodporuje, můžete také použít knihovny uložené v cloudovém úložišti objektů.

Následující příklad ukazuje, jak nainstalovat soubor JAR, který byl dříve nahraný na svazek pojmenovaný my-volume v pracovním prostoru Azure Databricks.

resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar

Balíček PyPI

Pokud chcete do definice úlohy přidat balíček PyPI, zadejte pypi mapování pro každý balíček PyPI, librarieskterý se má nainstalovat. Pro každé mapování zadejte následující:

  • Zadejte packagenázev balíčku PyPI, který se má nainstalovat. Podporuje se také volitelná přesná specifikace verze.
  • Volitelně můžete zadat repoúložiště, ve kterém lze najít balíček PyPI. Pokud není zadaný, použije se výchozí pip index (https://pypi.org/simple/).

Následující příklad ukazuje, jak nainstalovat dva balíčky PyPI.

  • První balíček PyPI používá zadanou verzi balíčku a výchozí pip index.
  • Druhý balíček PyPI používá zadanou verzi balíčku a explicitně zadaný pip index.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - pypi:
                package: wheel==0.41.2
            - pypi:
                package: numpy==1.25.2
                repo: https://pypi.org/simple/

Balíček Maven

Pokud chcete do definice úlohy přidat balíček Maven, zadejte maven mapování librariespro každý balíček Maven, který se má nainstalovat. Pro každé mapování zadejte následující:

  • Zadejte coordinatessouřadnice Mavenu ve stylu Gradle pro balíček.
  • Volitelně můžete zadat repoúložiště Maven pro instalaci balíčku Maven z. Pokud tento parametr vynecháte, vyhledá se centrální úložiště Maven i úložiště balíčků Spark.
  • Volitelně můžete zadat exclusionsvšechny závislosti, které se mají explicitně vyloučit. Podívejte se na vyloučení závislostí Mavenu.

Následující příklad ukazuje, jak nainstalovat dva balíčky Maven.

  • První balíček Maven používá zadané souřadnice balíčku a hledá tento balíček v centrálním úložišti Mavenu i v úložišti balíčků Spark.
  • Druhý balíček Maven používá zadané souřadnice balíčku, vyhledá tento balíček pouze v centrálním úložišti Mavenu a neobsahuje žádné závislosti tohoto balíčku, které odpovídají zadanému vzoru.
resources:
  jobs:
    my_job:
      # ...
      tasks:
        - task_key: my_task
          # ...
          libraries:
            - maven:
                coordinates: com.databricks:databricks-sdk-java:0.8.1
            - maven:
                coordinates: com.databricks:databricks-dbutils-scala_2.13:0.1.4
                repo: https://mvnrepository.com/
                exclusions:
                  - org.scala-lang:scala-library:2.13.0-RC*