Databricks REST API başvurusu
Azure Databricks veri bilimi & mühendisliği ve databricks Machine Learning farklı görevler gerçekleştiren üç REST apı 'si vardır: &, 2,0ve 1,2. Genel Yönetim için 2,1 ve 2,0 API 'Lerini kullanın. API 1,2, komutları doğrudan Azure Databricks üzerinde çalıştırmanızı sağlar.
Önemli
Databricks REST API’lerine erişmek için kimlik doğrulaması yapmanız gerekir.
databricks veri bilimi mühendisliği ve databricks ile çalışırken kullandığınız REST apı 'leri için başvuru kılavuzlarıyla & Machine Learning ortamları bu bölüme dahildir. Ayrıca, en son sürüm veya 2,1, 2,0veya 1,2sürümleri için REST API giriş sayfalarına doğrudan atlayabilirsiniz. databricks SQL REST apı 'leri, databricks SQL apı başvurusundabulunan databricks SQL kılavuzuna dahildir. databricks Machine Learning, özellik deposu için bir Python apı 'si de sağlar; bkz. databricks feature store Python apı.
API'ler
- Kümeler API 2,0
- Küme Ilkeleri API 2,0
- DBFS API 2,0
- Global Init Betikleri API 2,0
- Gruplar API 2,0
- Örnek havuzları API 2,0
- IP erişim listesi API 2,0
- İşler API 2,1, 2,0
- Kitaplıklar API 2,0
- MLflow API 2,0
- İzinler API 2,0
- Repos apı 2,0
- SCıM API 2,0
- Gizlilikler API 2,0
- Belirteç API 2,0
- Belirteç yönetimi API 2,0
- Çalışma alanı API 2,0
- API 1,2
Kimlik Doğrulaması
Kişisel erişim belirteçlerini kullanarak REST API kimlik doğrulaması hakkında daha fazla bilgi için bkz. Azure Databricks kişisel erişim belirteçlerini kullanarak kimlik doğrulaması.
Azure Active Directory belirteçlerini kullanarak REST API kimlik doğrulaması hakkında daha fazla bilgi için bkz. Azure Active Directory belirteçlerini kullanarak kimlik doğrulaması. Örnekler için bkz. Bir Kullanıcı için Azure AD erişim belirteci kullanma ve Hizmet sorumlusu için Azure AD erişim belirteci kullanma.
API örnekleri için API örnekleri bölümüne bakın.
Hız sınırları
Databricks, ağır yük altında yüksek düzeyde hizmet kalitesini sağlamak için tüm REST API çağrılarına hız sınırları uygular. Sınırlar, eşit kullanım ve yüksek kullanılabilirlik sağlamak için uç nokta ve çalışma alanı başına ayarlanır. Sınır artışı istemek için Databricks temsilcinizle iletişime geçin.
Hız sınırını aşan istekler, 429 yanıt durum kodunu alır.
Ayrıştırma çıkışı
JSON çıkışının parçalarını ayrıştırmak yararlı olabilir. Databricks, JSON ayrıştırma yardımcı programını önerir jq . jqLinux 'ta jqaracılığıyla, macos 'ta Homebrew ile brew install jq veya Chocolatey kullanarak Windows kullanarak yükleyebilirsiniz choco install jq . Hakkında daha fazla bilgi için jq bkz. jq.
Bu örnek, belirtilen çalışma alanındaki kullanılabilir kümelerin adlarını ve kimliklerini listeler. Bu örnekte . Netrc dosyasıkullanılmaktadır.
curl --netrc -X GET https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list \
| jq '[ .clusters[] | { id: .cluster_id, name: .cluster_name } ]'
[
{
"id": "1234-567890-batch123",
"name": "My Cluster 1"
},
{
"id": "2345-678901-rigs234",
"name": "My Cluster 2"
}
]
Uyumluluk
Aynı API sürümüne yönelik yanıtlar JSON çıktısından hiçbir alanı kaldırmaz. Ancak API, API sürümünü arttırmadan JSON çıktısına yeni alanlar ekleyebilir. Programlı iş akışlarınız bu eklemelerin farkında olmalı ve bilinmeyen alanları yoksaymalıdır.
Bazı STRING Alanlar (Kullanıcı arabirimi tarafından tüketilmesi amaçlanan hata ve açıklayıcı mesajlaşma) yapılandırılmamış olur ve programlı iş akışlarında bu alanların biçimine bağlı kullanmamalısınız.
Databricks 'i çağırmak için kıvrımlı kullanın REST API
kıvrımlı , sunuculara ve sunuculardan veri aktarmaya yönelik popüler bir araçtır. Bu bölümde, Databricks REST API çağırmak için kıvrımlı kullanma hakkında belirli bilgiler sağlanmaktadır.
Sorgu dizesi kullanarak GET çağırma
Çoğu API çağrısı, bir JSON gövdesi belirtmenizi gerektirir, çağrılar için, GET? URL 'yi tırnak içine alarak ve çevreleyen bir sorgu dizesi belirtebilirsiniz. Kullanırsanız curl , --get-G sorgu dizesiyle birlikte (veya) ve --data (veya) belirtebilirsiniz -d ; URL 'yi veya sorgu dizesini tırnak içine almanız gerekmez.
Aşağıdaki örneklerde, öğesini adb-1234567890123456.7.azuredatabricks.net Azure Databricks dağıtımınızın adb-1234567890123456.7.azuredatabricks.net ile değiştirin. İle başlamalıdır adb- . <azure-region-name> ile başlayan kullanım dışı bırakılan URL’yi kullanmayın. Yeni çalışma alanları için çalışmayabilir ve çalışma alanı URL’lerine kıyasla daha az güvenilirdir, daha düşük performans sergiler.
Bu örnek, belirtilen kümeyle ilgili bilgileri yazdırır. Bu örnekte . Netrc dosyasıkullanılmaktadır.
Şunu kullanarak ? :
curl --netrc 'https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/get?cluster_id=1234-567890-patch123'
--getVe kullanarak --data :
curl --netrc --get \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/get \
--data cluster_id=1234-567890-batch123
{
"cluster_id": "1234-567890-batch123",
"driver": {
"node_id": "123ab456789012345cd67e8e90123f45",
"instance_id": "234ab456789012345cd67e8e90123f45",
"start_timestamp": 1618448261567,
"host_private_ip": "10.0.0.0",
"private_ip": "10.0.0.0"
},
...
}
Bu örnek DBFS kökünün içeriğini listeler. Bu örnekte . Netrc dosyasıkullanılmaktadır.
curl --netrc --get \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/dbfs/list \
--data path=/
"files": [
{
"path": "/tmp",
"is_dir": true,
"file_size": 0,
"modification_time": 1547078156000
},
{
"path": "/my_file.txt",
"is_dir": false,
"file_size": 40,
"modification_time": 1541374426000
},
...
]
Databricks 'i çağırmak için Python kullanın REST API
istekler , Python 'da http istekleri yapmak için popüler bir kitaplıktır. Bu örnek, requests belirtilen Azure Databricks kümesiyle ilgili bilgileri listelemek için kitaplığı kullanır. Bu örnekte . Netrc dosyasıkullanılmaktadır.
import requests
import json
instance_id = 'adb-1234567890123456.7.azuredatabricks.net'
api_version = '/api/2.0'
api_command = '/clusters/get'
url = f"https://{instance_id}{api_version}{api_command}"
params = {
'cluster_id': '1234-567890-batch123'
}
response = requests.get(
url = url,
params = params
)
print(json.dumps(json.loads(response.text), indent = 2))
{
"cluster_id": "1234-567890-batch123",
"driver": {
...
},
"spark_context_id": 1234567890123456789,
...
}
Databricks 'i çağırmak için PowerShell 'i kullanın REST API
Bu örnek, belirtilen Azure Databricks kümesiyle ilgili bilgileri listelemek için PowerShell 'de Invoke-RestMethod cmdlet 'ini kullanır.
$Token = 'dapia1b2345678901c23456defa7bcde8fa9'
$ConvertedToken = $Token | ConvertTo-SecureString -AsPlainText -Force
$InstanceID = 'adb-1234567890123456.7.azuredatabricks.net'
$APIVersion = '/api/2.0'
$APICommand = '/clusters/get'
$Uri = "https://$InstanceID$APIVersion$APICommand"
$Body = @{
'cluster_id' = '1234-567890-batch123'
}
$Response = Invoke-RestMethod `
-Authentication Bearer `
-Token $ConvertedToken `
-Method Get `
-Uri $Uri `
-Body $Body
Write-Output $Response
cluster_id : 1234-567890-batch123
driver : ...
spark_context_id : 1234567890123456789
...
Çalışma zamanı sürümü dizeleri
Birçok API çağrısı, bir Databricks çalışma zamanı sürüm dizesi belirtmenizi gerektirir. Bu bölümde, Databricks REST API’deki bir sürüm dizesinin yapısı açıklanmaktadır.
<M>.<F>.x[-cpu][-esr][-gpu][-ml][-photon][-hls]-scala<scala-version>
konum
M: Databricks Runtime ana yayınF: Databricks Runtime Özellik sürümücpu: CPU sürümü (-mlyalnızca ile)esr: Genişletilmiş destekgpu:gpuml:mlphoton:photonhls:hls(kullanım dışı)scala-version: Spark derlemek için kullanılan Scala sürümü: 2,10, 2,11 veya 2,12
Örnek:
7.6.x-gpu-ml-scala2.12Machine Learning için Databricks Runtime 7,6 temsil eder, GPU etkindir ve Spark sürüm 3.0.1 derlemek için scala sürüm 2,12 kullanır6.4.x-esr-scala2.11Databricks Runtime 6,4 genişletilmiş desteğini temsil eder ve Spark sürüm 2.4.5 derlemek için Scala sürüm 2,11 kullanır
Desteklenen Databricks çalışma zamanı sürümleri ve destek zamanlaması ve Desteklenmeyen yayınlar tabloları, Databricks Runtime sürümleri çalışma zamanında bulunan Spark sürümüne eşlenir.
Çalışma zamanı sürümleri API 'sini çağırarak kullanılabilir Azure Databricks çalışma zamanı sürüm dizelerinin bir listesini alabilirsiniz.
Databricks Light
apache-spark.<M>.<F>.x-scala<scala-version>
konum
M: Apache Spark ana yayınF: Apache Spark özellik sürümüscala-version: Spark derlemek için kullanılan Scala sürümü: 2,10 veya 2,11
Örneğin, apache-spark-2.4.x-scala2.11.