Biblioteks-API

Med biblioteks-API: et kan du installera och avinstallera bibliotek och hämta status för bibliotek i ett kluster.

Viktigt

För att få åtkomst till Databricks REST API:er måste du autentisera.

Alla kluster statusar

Slutpunkt HTTP-metod
2.0/libraries/all-cluster-statuses GET

Hämta status för alla bibliotek i alla kluster. En status är tillgänglig för alla bibliotek som är installerade i kluster via API: et eller biblioteks gränssnittet samt bibliotek som är inställda på att installeras på alla kluster via biblioteks gränssnittet. Om ett bibliotek har ställts in för att installeras på alla kluster, är is_library_for_all_clusters true det även om biblioteket också har installerats på det här klustret.

Exempelsvar

{
  "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
        }
      ]
    }
  ]
}

Svars struktur

Fältnamn Typ Description
status En matris med ClusterLibraryStatuses En lista över kluster status.

Kluster status

Slutpunkt HTTP-metod
2.0/libraries/cluster-status GET

Hämta status för bibliotek i ett kluster. En status är tillgänglig för alla bibliotek som är installerade i klustret via API: et eller biblioteks gränssnittet samt bibliotek som är inställda på att installeras på alla kluster via biblioteks gränssnittet. Om ett bibliotek har ställts in för att installeras på alla kluster, är is_library_for_all_clusters true det även om biblioteket också har installerats på klustret.

Exempelbegäran

/libraries/cluster-status?cluster_id=11203-my-cluster

Exempelsvar

{
  "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
    }
  ]
}

Begär struktur

Fältnamn Typ Description
cluster_id STRING Unikt ID för det kluster vars status ska hämtas. Det här fältet är obligatoriskt.

Svars struktur

Fältnamn Typ Description
cluster_id STRING Unikt ID för klustret.
library_statuses En matris med LibraryFullStatus Status för alla bibliotek i klustret.

Installera

Slutpunkt HTTP-metod
2.0/libraries/install POST

Installera bibliotek i ett kluster. Installationen är asynkron – den slutförs i bakgrunden efter begäran.

Viktigt

Anropet fungerar inte om klustret avslutas.

Att installera ett hjul bibliotek i ett kluster är som att köra pip kommandot mot hjul filen direkt på driv rutin och körningar. Alla beroenden som anges i biblioteks setup.py filen är installerade och detta kräver att biblioteks namnet uppfyller hjul fil namns konventionen.

Installationen av körningarna sker bara när en ny aktivitet startas. Med Databricks Runtime 7,1 och tidigare är installations ordningen för bibliotek icke deterministisk. För hjul bibliotek kan du säkerställa en deterministisk installations ordning genom att skapa en zip-fil med suffix .wheelhouse.zip som innehåller alla Wheel-filer.

Exempelbegäran

{
  "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"
      }
    }
  ]
}

Begär struktur

Fältnamn Typ Description
cluster_id STRING Unik identifierare för det kluster där dessa bibliotek ska installeras. Det här fältet är obligatoriskt.
bibliotek En matris med bibliotek De bibliotek som ska installeras.

Avinstallera

Slutpunkt HTTP-metod
2.0/libraries/uninstall POST

Ange bibliotek som ska avinstalleras i ett kluster. Biblioteken avinstalleras inte förrän klustret startas om. Om du avinstallerar bibliotek som inte är installerade på klustret påverkas ingen påverkan, men det är inget fel.

Exempelbegäran

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

Begär struktur

Fältnamn Typ Description
cluster_id STRING Unik identifierare för det kluster där dessa bibliotek ska avinstalleras. Det här fältet är obligatoriskt.
bibliotek En matris med bibliotek Biblioteken som ska avinstalleras.

Data strukturer

I det här avsnittet:

ClusterLibraryStatuses

Fältnamn Typ Description
cluster_id STRING Unikt ID för klustret.
library_statuses En matris med LibraryFullStatus Status för alla bibliotek i klustret.

Bibliotek

Fältnamn Typ Description
jar-eller ägg-eller WHL-eller pypi-eller Maven-eller cran STRING ELLER eller eller STRING STRING PythonPyPiLibrary eller MavenLibrary eller RCranLibrary Om jar, DBFS-URI för JAR ska installeras. Till exempel: { "jar": "dbfs:/mnt/databricks/library.jar" }.

Om ägg, DBFS-URI för det ägg som ska installeras. Till exempel: { "egg": "dbfs:/my/egg" }.

Om WHL, är URI för hjulet eller de zippade hjulen installerade. Endast DBFS-URI: er stöds. Till exempel: { "whl": "dbfs:/my/whl" }.

Namnet på hjul filen måste använda rätt konvention. Om de zippade hjulen ska installeras ska fil namns suffixet vara .wheelhouse.zip .

Om pypi, specifikation av ett PyPI-bibliotek som ska installeras. Exempel:
{ "package": "simplejson" }

Om maven, specifikation av ett maven-bibliotek som ska installeras. Exempel:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Om cran, specifikation av ett CRAN-bibliotek som ska installeras.

LibraryFullStatus

Bibliotekets status i ett enskilt kluster.

Fältnamn Typ Description
bibliotek Bibliotek Unikt ID för biblioteket.
status LibraryInstallStatus Status för att installera biblioteket på klustret.
meddelanden En matris med STRING Alla informations-och varnings meddelanden som har inträffat hittills i det här biblioteket.
is_library_for_all_clusters BOOL Om biblioteket har ställts in för att installeras på alla kluster via biblioteks gränssnittet.

MavenLibrary

Fältnamn Typ Description
koordinater STRING Maven-koordinater för Gradle-format. Till exempel: org.jsoup:jsoup:1.7.2. Det här fältet är obligatoriskt.
lagrings platsen STRING Maven lagrings platsen för att installera maven-paketet från. Om detta utelämnas genomsöks både maven Central lagrings plats och Spark-paket.
undantag En matris med STRING Lista över beroenden som ska undantas. Till exempel: ["slf4j:slf4j", "*:hadoop-client"].

Undantag för maven-beroenden: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html .

PythonPyPiLibrary

Fältnamn Typ Description
package STRING Namnet på det PyPI-paket som ska installeras. En valfri exakt versions specifikation stöds också. Exempel: simplejson och simplejson==3.8.0 . Det här fältet är obligatoriskt.
lagrings platsen STRING Databasen där paketet kan hittas. Om inget värde anges används standard-pip-indexet.

RCranLibrary

Fältnamn Typ Description
package STRING Namnet på det CRAN-paket som ska installeras. Det här fältet är obligatoriskt.
lagrings platsen STRING Databasen där paketet kan hittas. Om inget värde anges används standard-CRAN-lagrings platsen.

LibraryInstallStatus

Status för ett bibliotek på ett enskilt kluster.

Status Beskrivning
PENDING Ingen åtgärd har ännu vidtagits för att installera biblioteket. Det här läget bör vara mycket kort.
LÖSA Metadata som krävs för att installera biblioteket hämtas från den angivna lagrings platsen.

Det här steget är en no-op för JAR-, ägg-och WHL-bibliotek.
INSTALLERA Biblioteket installeras aktivt, antingen genom att lägga till resurser i Spark eller köra system kommandon i Spark-noderna.
INSTALLERAS Biblioteket har installerats.
HOPPADES Installationen på en Databricks Runtime 7,0-eller över ett kluster hoppades över på grund av inkompatibilitet med Scala-versionen.
DET GICK INTE Vissa steg i installationen misslyckades. Mer information hittar du i fältet meddelanden.
UNINSTALL_ON_RESTART Biblioteket har marker ATS för borttagning. Bibliotek kan bara tas bort när kluster startas om, så bibliotek som anger det här läget är kvar tills klustret startas om.