Kitaplıklar API’si

Kitaplıklar API'si kitaplıkları yükp kaldırmanızı ve bir kümede kitaplıkların durumunu alamanızı sağlar.

Önemli

Databricks REST API’lerine erişmek için kimlik doğrulaması yapmanız gerekir.

Tüm küme durumları

Uç Nokta HTTP Yöntemi
2.0/libraries/all-cluster-statuses GET

Tüm kümelerde tüm kitaplıkların durumunu al. API veya kitaplıklar kullanıcı arabirimi aracılığıyla kümelere yüklenmiş tüm kitaplıklar ve kitaplıklar kullanıcı arabirimi aracılığıyla tüm kümelere yüklenmek için ayarlanmış kitaplıklar için bir durum kullanılabilir. Bir kitaplık tüm kümelere yüklenmek için ayarlanmışsa, kitaplık bu kümeye de yüklenmiş olsa is_library_for_all_clusters true bile olur.

Örnek yanıt

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

Yanıt yapısı

Alan Adı Tür Açıklama
Durum ClusterLibraryStatuses dizisi Küme durumlarının listesi.

Küme durumu

Uç Nokta HTTP Yöntemi
2.0/libraries/cluster-status GET

Kümede kitaplıkların durumunu almak. API veya kitaplıklar kullanıcı arabirimi aracılığıyla kümeye yüklenmiş tüm kitaplıklar için bir durum kullanılabilir ve kitaplıklar kullanıcı arabirimi aracılığıyla tüm kümelere yüklenmek için ayarlanmış kitaplıklar kullanılabilir. Bir kitaplık tüm kümelere yüklenmek için ayarlanmışsa, kitaplık kümede de yüklü olsa is_library_for_all_clusters true bile olur.

Örnek istek

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

Örnek yanıt

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

İstek yapısı

Alan Adı Tür Açıklama
cluster_id STRING Durumu alınarak kümenin benzersiz tanımlayıcısı. Bu alan gereklidir.

Yanıt yapısı

Alan Adı Tür Açıklama
cluster_id STRING Kümenin benzersiz tanımlayıcısı.
library_statuses LibraryFullStatus dizisi Kümede tüm kitaplıkların durumu.

Yükleme

Uç Nokta HTTP Yöntemi
2.0/libraries/install POST

Kitaplıkları bir kümeye yükleyin. Yükleme zaman uyumsuz, istekten sonra arka planda tamamlanır.

Önemli

Küme sonlandırılırsa bu çağrı başarısız olur.

Bir kümeye tekerlek kitaplığı yüklemek, komutunu doğrudan sürücü pip ve yürütücüler üzerinde tekerlek dosyasında çalıştırmaya benzer. Kitaplık dosyasında belirtilen tüm bağımlılıklar yüklenir ve bu, tekerlek dosya adı kuralına setup.py karşılamak için kitaplık adını gerektirir.

Yürütücülere yükleme yalnızca yeni bir görev başlatıldı olduğunda gerçekleşir. 7.1 ve Databricks Runtime 7.1 ve altı ile kitaplıkların yükleme sırası belirsizdir. Tekerlek kitaplıkları için, tüm tekerlek dosyalarını içeren son eke sahip bir zip dosyası oluşturarak belirlenmci .wheelhouse.zip bir yükleme sırası sunayabilirsiniz.

Örnek istek

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

İstek yapısı

Alan Adı Tür Açıklama
cluster_id STRING Bu kitaplıkların yükln olduğu kümenin benzersiz tanımlayıcısı. Bu alan gereklidir.
kitaplıklar Kitaplık dizisi Yüklenilen kitaplıklar.

Kaldırma

Uç Nokta HTTP Yöntemi
2.0/libraries/uninstall POST

Kitaplıkların bir kümede kaldırılmasını ayarlayın. Küme yeniden başlatana kadar kitaplıklar kaldırılmaz. Kümede yüklü olan kitaplıkların kaldırılmasının herhangi bir etkisi yoktur ancak bu bir hata değildir.

Örnek istek

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

İstek yapısı

Alan Adı Tür Açıklama
cluster_id STRING Bu kitaplıkların kaldırılanın küme için benzersiz tanımlayıcısı. Bu alan gereklidir.
kitaplıklar Kitaplık dizisi Kaldırıla kitaplıklar.

Veri yapıları

Bu bölümdeki konular:

ClusterLibraryStatuses

Alan Adı Tür Açıklama
cluster_id STRING Kümenin benzersiz tanımlayıcısı.
library_statuses LibraryFullStatus dizisi Kümede tüm kitaplıkların durumu.

Kitaplığı

Alan Adı Tür Açıklama
jar veya yumurg veya WHL veya Pypı veya Maven ya da Cran STRING OR veya ya da STRING STRING PythonPyPiLibrary ya da Mavenlibrary veya rcranlibrary Eğer jar ise, yüklenecek JAR 'in URI 'SI. DBFS ve ADLS ( abfss ) URI 'leri desteklenir. Örneğin: { "jar": "dbfs:/mnt/databricks/library.jar" } veya
{ "jar": "abfss://my-bucket/library.jar" }. ADLS kullanılıyorsa, kümenin kitaplıkta okuma erişimine sahip olduğundan emin olun.

Eğer yumurg, ' nin yükleneceği yumurg 'nin URI 'SI. DBFS ve ADLS URI 'Leri desteklenir. Örneğin: { "egg": "dbfs:/my/egg" } veya
{ "egg": "abfss://my-bucket/egg" }.

WHL ise, tekerleğin URI 'SI veya daraltılmış tekerlekler. DBFS ve ADLS URI 'Leri desteklenir. Örneğin: { "whl": "dbfs:/my/whl" } veya
{ "whl": "abfss://my-bucket/whl" }. ADLS kullanılıyorsa, kümenin kitaplıkta okuma erişimine sahip olduğundan emin olun. Ayrıca, tekerlek dosyası adının doğru kuralıkullanması gerekir. Daraltılmış tekerlekler yüklenegerekliyse, dosya adı soneki olmalıdır .wheelhouse.zip .

Eğer pypi ise, yüklenecek bir Pypı kitaplığı belirtimi. Alanın belirtilmesi repo isteğe bağlıdır ve belirtilmemişse, varsayılan PIP dizini kullanılır. Örneğin:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Maven ise, yüklenecek bir Maven kitaplığı belirtimi. Örneğin:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Cran ise, bir CRAN kitaplığının yükleneceği belirtim.

Libraryfullstatus

Belirli bir kümedeki kitaplığın durumu.

Alan Adı Tür Açıklama
kitaplık Kitaplığı Kitaplık için benzersiz tanımlayıcı.
durum Libraryınstallstatus Kitaplığı kümeye yükleme durumu.
sayısı Bir dizisi STRING Bu kitaplıkta şimdiye kadar oluşan tüm bilgi ve uyarı iletileri.
is_library_for_all_clusters BOOL Kitaplığın, kitaplıklar Kullanıcı arabirimi aracılığıyla tüm kümelere yüklenmek üzere ayarlanmış olup olmadığı.

Mavenlibrary

Alan Adı Tür Açıklama
koordinatlar STRING Gradle stili Maven koordinatları. Örneğin: org.jsoup:jsoup:1.7.2. Bu alan gereklidir.
Depo STRING Maven paketini şuradan yüklemeye yönelik Maven deposu. Atlanırsa, hem Maven merkezi depo hem de Spark paketleri aranır.
Dış Bir dizisi STRING Hariç tutulacak bağımlıons listesi. Örneğin: ["slf4j:slf4j", "*:hadoop-client"].

Maven bağımlılığı dışlamaları: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html .

PythonPyPiLibrary

Alan Adı Tür Açıklama
package STRING Yüklenecek Pypı paketinin adı. İsteğe bağlı bir tam sürüm belirtimi de desteklenir. Örnekler: simplejson ve simplejson==3.8.0 . Bu alan gereklidir.
Depo STRING Paketin bulunabileceği depo. Belirtilmemişse, varsayılan PIP dizini kullanılır.

Rcranlibrary

Alan Adı Tür Açıklama
package STRING Yüklenecek CRAN paketinin adı. Bu alan gereklidir.
Depo STRING Paketin bulunabileceği depo. Belirtilmezse, varsayılan CRAN depo kullanılır.

Libraryınstallstatus

Belirli bir kümedeki bir kitaplığın durumu.

Durum Açıklama
PENDING Kitaplığı yüklemek için henüz bir eylem yapılmadı. Bu durum çok kısa süreli olmalıdır.
LEDIĞINDEN Kitaplığı yüklemek için gereken meta veriler, belirtilen depodan alınıyor.

Jar, Egg ve WHL kitaplıkları için bu adım bir op değildir.
YÜKLEMENIN Kitaplık, Spark 'a kaynak ekleyerek veya Spark düğümlerinin içindeki Sistem komutlarını yürüterek etkin bir şekilde yükleniyor.
YÜKLENDIYSE Kitaplık başarıyla yüklendi.
ATLANMıŞ Scala sürümü uyumsuzluğu nedeniyle Databricks Runtime 7,0 veya üzeri bir küme üzerinde Yükleme atlandı.
BAŞARISIZ Yüklemede bir adım başarısız oldu. İletiler alanında daha fazla bilgi bulunabilir.
UNINSTALL_ON_RESTART Kitaplık kaldırılmak üzere işaretlendi. Kitaplıklar yalnızca kümeler yeniden başlatıldığında kaldırılabilir, bu nedenle bu durumu giren kitaplıklar küme yeniden başlatılana kadar kalır.