Libraries API 2.0

A Kódtárak API-val kódtárakat telepíthet és távolíthat el, valamint lekértheti a fürtön a kódtárak állapotát.

Fontos

A Databricks REST API-k eléréséhez hitelesítenie kell.

A fürt összes állapota

Végpont HTTP-metódus
2.0/libraries/all-cluster-statuses GET

Leheti az összes fürt összes kódtárának állapotát. Az állapot elérhető lesz a fürtökre az API-n vagy a kódtárak felhasználói felületén keresztül telepített összes kódtárhoz, valamint a kódtárak felhasználói felületén keresztül az összes fürtre telepíthető kódtárakhoz. Ha egy kódtár úgy van beállítva, hogy az összes fürtre telepítve legyen, a lesz, akkor is, ha a kódtár is telepítve van is_library_for_all_clusterstrue az adott fürtön.

Példa

Kérés

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/libraries/all-cluster-statuses \
| jq .

Cserélje <databricks-instance> le a helyére Azure Databricks munkaterület <databricks-instance>adb-1234567890123456.7.azuredatabricks.net például: .

Ez a példa egy .netrc-fájlt ésegy jq fájlt használ.

Reagálás

{
  "statuses": [
    {
      "cluster_id": "11203-my-cluster",
      "library_statuses": [
        {
          "library": {
            "jar": "dbfs:/mnt/libraries/library.jar"
          },
          "status": "INSTALLING",
          "messages": [],
          "is_library_for_all_clusters": false
        }
      ]
    },
    {
      "cluster_id": "20131-my-other-cluster",
      "library_statuses": [
        {
          "library": {
            "egg": "dbfs:/mnt/libraries/library.egg"
          },
          "status": "ERROR",
          "messages": ["Could not download library"],
          "is_library_for_all_clusters": false
        }
      ]
    }
  ]
}

Válaszstruktúra

Mezőnév Típus Description
Állapotok ClusterLibraryStatuses tömb Fürtállapotok listája.

Fürt állapota

Végpont HTTP-metódus
2.0/libraries/cluster-status GET

Le kell kapnia a fürtön a kódtárak állapotát. Az állapot a fürtre telepített összes kódtárhoz elérhető lesz az API-n vagy a kódtárak felhasználói felületén keresztül, valamint a kódtárak felhasználói felületén keresztül az összes fürtre való telepítésre beállított kódtárak számára. Ha egy kódtár úgy van beállítva, hogy az összes fürtre telepítve legyen, a lesz, akkor is, ha a kódtár is telepítve van is_library_for_all_clusterstrue a fürtön.

Példa

Kérés

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/libraries/cluster-status?cluster_id=<cluster-id>' \
| jq .

Vagy:

curl --netrc --get \
https://<databricks-instance>/api/2.0/libraries/cluster-status \
--data cluster_id=<cluster-id> \
| jq .

Cserélje le ezt:

  • <databricks-instance> a Azure Databricks példány <databricks-instance>például adb-1234567890123456.7.azuredatabricks.net : .
  • <cluster-id> a Azure Databricks munkaterület-azonosítójával, 1234-567890-example123 például: .

Ez a példa egy .netrc-fájlt ésegy jq fájlt használ.

Reagálás

{
  "cluster_id": "11203-my-cluster",
  "library_statuses": [
    {
      "library": {
        "jar": "dbfs:/mnt/libraries/library.jar"
      },
      "status": "INSTALLED",
      "messages": [],
      "is_library_for_all_clusters": false
    },
    {
      "library": {
        "pypi": {
          "package": "beautifulsoup4"
        },
      },
      "status": "INSTALLING",
      "messages": ["Successfully resolved package from PyPI"],
      "is_library_for_all_clusters": false
    },
    {
      "library": {
        "cran": {
          "package": "ada",
          "repo": "https://cran.us.r-project.org"
        },
      },
      "status": "FAILED",
      "messages": ["R package installation is not supported on this spark version.\nPlease upgrade to Runtime 3.2 or higher"],
      "is_library_for_all_clusters": false
    }
  ]
}

Kérelemstruktúra

Mezőnév Típus Description
cluster_id STRING Annak a fürtnek az egyedi azonosítója, amelynek az állapotát le kellkérni. A mező kitöltése kötelező.

Válaszstruktúra

Mezőnév Típus Description
cluster_id STRING A fürt egyedi azonosítója.
library_statuses A LibraryFullStatus tömbje A fürt összes kódtárának állapota.

Telepíteni

Végpont HTTP-metódus
2.0/libraries/install POST

Kódtárak telepítése fürtön. A telepítés aszinkron – a kérést követően a háttérben fejeződik be.

Fontos

A hívás sikertelen lesz, ha a fürt leáll.

A kerekes kódtár fürtön való telepítése olyan, mintha közvetlenül a illesztőn és a végrehajtón futtatja a parancsot pip a kerekfájlon. A kódtárfájlban megadott összes függőség telepítve van, és ehhez a kódtár neve szükséges, hogy megfeleljen a setup.pysetup.py

A végrehajtókra való telepítés csak akkor történik meg, ha új feladat indul el. A Databricks Runtime 7.1-es és az alatti rendszerekben a kódtárak telepítési sorrendje nemdeterminális. A wheel-kódtárak esetén egy olyan zip-fájl létrehozásával biztosíthatja a determinisztikus telepítési sorrendet, amely tartalmazza az összes .wheelhouse.zip kerekfájlt tartalmazó utótagot.

Példa

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/libraries/install \
--data @install-libraries.json

install-libraries.json:

{
  "cluster_id": "10201-my-cluster",
  "libraries": [
    {
      "jar": "dbfs:/mnt/libraries/library.jar"
    },
    {
      "egg": "dbfs:/mnt/libraries/library.egg"
    },
    {
      "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
    },
    {
      "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2",
        "exclusions": ["slf4j:slf4j"]
      }
    },
    {
      "pypi": {
        "package": "simplejson",
        "repo": "https://my-pypi-mirror.com"
      }
    },
    {
      "cran": {
        "package": "ada",
        "repo": "https://cran.us.r-project.org"
      }
    }
  ]
}

Cserélje le ezt:

  • <databricks-instance> a Azure Databricks példány <databricks-instance>például adb-1234567890123456.7.azuredatabricks.net : .
  • A tartalma install-libraries.json és a megoldásnak megfelelő mezők.

Ez a példa egy .netrc fájlt használ.

Kérelemstruktúra

Mezőnév Típus Description
cluster_id STRING Annak a fürtnek az egyedi azonosítója, amelyre ezeket a kódtárakat telepíteni kell. A mező kitöltése kötelező.
kódtárak Kódtár tömbje A telepítend kell a kódtárakat.

Uninstall

Végpont HTTP-metódus
2.0/libraries/uninstall POST

Állítsa be a fürtön eltávolítható kódtárakat. A kódtárak csak a fürt újraindítása után távolíthatók el. A fürtre nem telepített kódtárak eltávolítása nincs hatással, de nem hiba.

Példa

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/libraries/uninstall \
--data @uninstall-libraries.json

uninstall-libraries.json:

{
  "cluster_id": "10201-my-cluster",
  "libraries": [
    {
      "jar": "dbfs:/mnt/libraries/library.jar"
    },
    {
      "cran": "ada"
    }
  ]
}

Cserélje le ezt:

  • <databricks-instance> a Azure Databricks példány <databricks-instance>például adb-1234567890123456.7.azuredatabricks.net : .
  • A tartalma uninstall-libraries.json és a megoldásnak megfelelő mezők.

Ez a példa egy .netrc fájlt használ.

Kérelemstruktúra

Mezőnév Típus Description
cluster_id STRING Annak a fürtnek az egyedi azonosítója, amelyen el kell távolítani ezeket a kódtárakat. A mező kitöltése kötelező.
kódtárak Kódtár tömbje Az eltávolítható kódtárak.

Adatstruktúrák

Ebben a szakaszban:

ClusterLibraryStatuses

Mezőnév Típus Description
cluster_id STRING A fürt egyedi azonosítója.
library_statuses A LibraryFullStatus tömbje A fürt összes kódtárának állapota.

Könyvtár

Mezőnév Típus Description
jar OR egg OR whl OR pypi OR maven OR cran STRING VAGY STRING VAGY STRING VAGY STRING VAGY STRING VAGY STRING Ha jar, a telepítenie kell a JAR URI-ját. A DBFS és az ADLS ( abfss ) URI-k támogatottak. Például: { "jar": "dbfs:/mnt/databricks/library.jar" } vagy
{ "jar": "abfss://my-bucket/library.jar" }. Ha ADLS-t használ, győződjön meg arról, hogy a fürt olvasási hozzáféréssel rendelkezik a kódtárban.

Ha a akkor van telepítve, akkor a telepítenünk kell a padlizsán URI-ját. A DBFS és az ADLS URI-k támogatottak. Például: { "egg": "dbfs:/my/egg" } vagy
{ "egg": "abfss://my-bucket/egg" }.

Ha igen, a telepítenünk kell a kerek URI-ját vagy tömörített kerekeit. A DBFS és az ADLS URI-k támogatottak. Például: { "whl": "dbfs:/my/whl" } vagy
{ "whl": "abfss://my-bucket/whl" }. Ha ADLS-t használ, győződjön meg arról, hogy a fürt olvasási hozzáféréssel rendelkezik a kódtárban. A wheel fájlnévnek is a megfelelő konvenciót kell használnia. Ha tömörített kerekeket kell telepíteni, a fájlnév utótagja legyen .wheelhouse.zip .

Pypi esetén a telepítve lesz a PyPI-kódtár specifikációja. A mező megadása nem kötelező, és ha nincs megadva, a rendszer az repo alapértelmezett pip indexet használja. Például:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Maven esetén a telepítve kell lennie egy Maven-kódtár specifikációinak. Például:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Cran használata esetén a telepítenünk kell egy CRAN-kódtár specifikációját.

LibraryFullStatus

A kódtár állapota egy adott fürtön.

Mezőnév Típus Description
kódtár Könyvtár A kódtár egyedi azonosítója.
status LibraryInstallStatus A kódtár fürtre telepítésének állapota.
üzenet A tömbje STRING A kódtár összes információja és figyelmeztető üzenete.
is_library_for_all_clusters BOOL Azt határozza meg, hogy a kódtár az összes fürtre telepítve legyen-e a kódtárak felhasználói felületén keresztül.

MavenLibrary

Mezőnév Típus Description
koordináták STRING Gradle stílusú Maven-koordináták. Példa: org.jsoup:jsoup:1.7.2. A mező kitöltése kötelező.
Repo STRING Maven-repo a Maven-csomag telepítéséhez. Ha nincs megadva, a rendszer a Maven központi adattárában és a Spark-csomagokban is keres.
Kizárások A tömbje STRING A kizárni akaró függőségek listája. Példa: ["slf4j:slf4j", "*:hadoop-client"].

A Maven függőségi kizárásai: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html .

PythonPyPiLibrary

Mezőnév Típus Description
package STRING A telepíteni szükséges PyPI-csomag neve. Opcionálisan pontos verzióspecifikáció is támogatott. Példák: simplejson és simplejson==3.8.0 . A mező kitöltése kötelező.
Repo STRING Az adattár, ahol a csomag megtalálható. Ha nincs megadva, a rendszer az alapértelmezett pip-indexet használja.

RCranLibrary (RCranLibrary)

Mezőnév Típus Description
package STRING A telepíteni szükséges CRAN-csomag neve. A mező kitöltése kötelező.
Repo STRING Az adattár, ahol a csomag megtalálható. Ha nincs megadva, a rendszer az alapértelmezett CRAN-adattitkot használja.

LibraryInstallStatus

Egy adott fürtön található kódtár állapota.

Állapot Leírás
PENDING Még nem történt művelet a kódtár telepítéséhez. Ennek az állapotnak nagyon rövid életűnek kell lennie.
MEGOLDÁSA A kódtár telepítéséhez szükséges metaadatokat a rendszer a megadott adattárból olvassa be.

Jar-, Egg- és Whl-kódtárakhoz ez a lépés nem művelet.
TELEPÍTÉSE A kódtár aktív telepítése folyamatban van, vagy erőforrások hozzáadásával a Sparkhoz, vagy rendszerparancsok végrehajtásával a Spark-csomópontokon belül.
TELEPÍTETT A kódtár telepítése sikeresen megtörtént.
KIMARAD A 7.0 Databricks Runtime vagy újabb verziójú fürtön való telepítés a Scala-verzió inkompatibilitása miatt kimaradt.
SIKERTELEN A telepítés egy lépése sikertelen volt. További információt az üzenetek mezőben talál.
UNINSTALL_ON_RESTART A kódtár eltávolításra van megjelölve. A kódtárak csak a fürtök újraindításakor távolíthatók el, így az ebbe az állapotba lépő kódtárak a fürt újraindításáig megmaradnak.