Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu özellik Beta sürümündedir.
Databricks tarafından sağlanan SSH tüneli, çalışma alanınıza erişmenize ve SSH tüneli kullanarak IDE'lerden Databricks işlemindeki iş yüklerini etkileşimli olarak çalıştırmanıza olanak tanır. Kurulumu kolaydır, ortam yönetimi gereksinimini ortadan kaldırır ve databricks çalışma alanınızda tüm kodu ve verileri güvenli tutar.
Gereksinimler
SSH tünelini kullanarak Databricks sunucusuz veya klasik işlemlere bağlanmak için şunlara sahip olmanız gerekir:
- Databricks CLI sürüm 1.5.0 veya üzeri yerel makinenizde yüklü ve kimlik doğrulaması yapılandırılmış. Bkz. Databricks CLI'yı yükleme veya güncelleştirme.
- Aşağıdakilerden biri:
- Visual Studio Code sürümü: 1.110.0 (Evrensel) veya üzeri ve Uzak - SSH uzantısı (1.0.46+) yüklü.
- İmleç Sürümü: 2.6.11 (Evrensel) veya üzeri.
Sunucusuz GPU hesaplamasına bağlanmak için AI Çalışma Zamanı özelliğinin etkinleştirilmesi gerekir. Bkz. AI Runtime.
Klasik (ayrılmış, tek kullanıcılı) işlemlere bağlanmak için:
- İşlem Databricks Runtime 17.0 veya üzerini çalıştırıyor olmalıdır. Bkz. Ayrılmış işlem genel bakışı
- Unity Kataloğu etkinleştirilmelidir.
- Bir hesaplama ilkesi varsa, işlerin yürütülmesine engel olmamalıdır.
-
Ayrılmış işlem için Databricks Container Services kullanırken Docker görüntünüzün yüklü olması
openssh-servergerekir.
Sunucusuz hesaplama ile bağlantı kurma
Sunucusuz işlemle bağlantı kurmak için komutunu IDE'nizin içindeki bir terminalden çalıştırın databricks ssh connect . Ayrı bir kurulum adımı gerekmez.
databricks ssh connect komutu hakkında daha fazla bilgi için ssh komut grubuna bakın.
databricks ssh connect
--accelerator AI Çalışma Zamanı'na bağlanmak için seçeneğini kullanın:
databricks ssh connect --accelerator=GPU_1xA10
databricks ssh connect size tek bir düğümde etkileşimli bir oturum sağlar. Uzun süreli eğitim işleri veya çok düğümlü dağıtık eğitim için iş yükünü bunun yerine air CLI aracılığıyla gönderin. Bkz. AI Runtime CLI.
Bağlandıktan sonra geliştirme ortamınızı ayarlamayı tamamlayın. Bkz. Projeleri açma.
Sunucusuz işlem altyapısına bağlanmak ve oturumu Visual Studio Code veya Cursor'da başlatmak için --ide seçeneğini kullanın. CLI, ana çalışma alanı klasörünü işaret eden bir IDE penceresi açar.
databricks ssh connect --ide=vscode
Klasik bilgi işleme bağlanın
Klasik işlemle bağlantı kurmak için önce SSH bağlantısını ayarlayın, ardından IDE'nizi kullanarak veya terminalden bağlanın.
SSH bağlantısını ayarlama
Uyarı
SSH bağlantısının ayarlanması yalnızca klasik işlemlere bağlanıyorsanız gereklidir.
İlk olarak , databricks ssh kurulum komutunu kullanarak SSH tünelini ayarlayın. Bağlantı için bir ad sağlayın, örneğin şununla <connection-name>değiştirinmy-connection:
databricks ssh setup --name <connection-name>
CLI sizden bir küme seçmenizi ister. Doğrudan --cluster <cluster-id> ile de belirtebilirsiniz:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Uyarı
Databricks, IntelliJ kullanıcıları için kurulum komutuna --auto-start-cluster=false eklemenizi ve bağlanmadan önce kümeyi manuel olarak başlatmanızı önerir. Bunun nedeni JetBrains IDE'lerinin tüm yapılandırılmış kümeleri başlatması ve bu da beklenmeyen işlem ücretlerine neden olabilir.
Visual Studio Code veya İmleç kullanarak bağlanma
Visual Studio Code için Uzak SSH uzantısını yükleyin. İmleç varsayılan olarak bir uzaktan SSH uzantısı içerir.
IDE ana menüsündeKomut Paletini> tıklayın. Uzak-SSH: Ayarlar'ı seçin. Alternatif olarak, Tercihler: Kullanıcı Ayarları'nı (JSON) açın seçeneğini seçerek doğrudan
settings.jsondeğiştirebilirsiniz.Remote.SSH: Varsayılan Uzantılar (veya
remote.SSH.defaultExtensionsiçindesettings.json),ms-Python.Pythonvems-toolsai.jupyterekleyin.Eğer
settings.jsondeğiştiriyorsanız:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Uyarı
İsteğe bağlı olarak, zaman aşımı hatalarının olasılığını daha da azaltmak için Remote.SSH: Connect Timeout (veya
remote.SSH.connectTimeoutiçindesettings.json) değerini artırın. Varsayılan zaman aşımı 360'tır.Komut Paleti'nde Uzak SSH: Konağa Bağlan'ı seçin.
Açılan menüden, ilk adımda ayarladığınız bağlantıyı seçin. IDE yeni bir pencerede bağlanmaya devam eder.
IntelliJ IDE'lerini kullanarak bağlanma
- Ayarlamak için Uzak sunucu kılavuzunu izleyin.
- Yeni bağlantı ekranında şunu girin:
-
Kullanıcı adı:
root -
Konak:
<connection-name>
-
Kullanıcı adı:
Terminal kullanarak bağlanma
ssh <connection-name>
Projeleri açma
Varsayılan olarak, databricks ssh connect komut kısa ömürlü bir dizine açılır. Çalışma alanı dosyalarına erişmek için IDE veya terminalden çalışma alanı dizininize gidin:
- Visual Studio Code veya Cursor’da, Komut Paleti’nden (Cmd/Ctrl+Shift+P) Klasör Aç seçeneğini seçin ve
/Workspace/Users/<your-username>konumuna gidin. - Terminal penceresinde dizininizi değiştirin:
cd /Workspace/Users/<your-username>.
Uyarı
/Workspace, /Volumes ve /dbfs içindeki dosyalar, kümede yeniden başlatmalar sırasında kalıcı olur. , /homeve diğer yerel yollardaki /rootdosyalar kısa ömürlü olur ve yeniden başlatmada kaybolur.
Kodu çalıştır (Visual Studio Code veya Cursor)
SSH tüneli kullanarak kod çalıştırmak için Databricks sanal ortamının ayarlanması gerekir. Bu ortam, tüm yerleşik DBR kitaplıklarını ve hesaplama kapsamındaki kitaplıkları içerir.
Komut Paleti'ni (Cmd/Ctrl+Shift+P) açın ve Python: Yorumlayıcı'yı seçin.
Listeden
pythonEnv-xxxsanal ortamı seçin. bayrağını kullanarak--base-environmentPython bağımlılıkları ayarlarsanız, seçenekler listesinden daha uzun sanal ortam adını seçin. Sanal ortam görünmüyorsa:IDE içindeki bir terminalden çalıştırın
echo $DATABRICKS_VIRTUAL_ENV.Örnek çıkış:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonÇıktının tamamını, Python: Select Interpreter isteminde yorumlayıcı yolu olarak yapıştırın.
Yeni bir terminal açtığınızda sanal ortam otomatik olarak etkinleştirilmelidir.
Jupyter not defterini çalıştırmak için sanal ortamın çekirdek olarak seçildiğinden emin olun. Not defterinin sağ üst kısmındaki Çekirdek Seç'e tıklayın.
Standart Python ve .ipynb Jupyter uzantılarını kullanarak Python dosyaları ve not defterlerini çalıştırın ve hatalarını ayıklayın.
Spark'ı sunucusuz işlemdeki bir Python dosyasında kullanmak için oturumu açıkça başlatın:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Bağımlılıkları yönetme
İşlem türünüz ve gereksinimlerinize bağlı olarak çalışma alanı temel ortamını, küme kitaplıklarını, başlatma betiklerini veya not defterlerini kullanarak bağımlılıkları yönetin.
Çalışma alanı temel ortamları (sunucusuz ve AI Çalışma Zamanı için önerilir)
Uyarı
Bu özellik , İşler önizlemesinde Sunucusuz çalışma alanı temel ortamı desteğinin etkinleştirilmesini gerektirir. Bkz. Azure Databricks önizlemelerini yönetme.
Python bağımlılıklarını önceden yapılandırmak için sunucusuz ortam sürüm 4 veya altındaki çalışma alanı temel ortamını kullanın. Çalışma alanı kullanıcı arabirimini veya Databricks CLI databricks ortamlarını create-workspace-base-environment komutunu kullanarak bir temel ortam oluşturun.
Bağlanırken seçeneğini --base-environment kullanarak ortamı belirtin:
databricks ssh connect --base-environment my-workspace-env
Kabul edilen biçimler hakkında daha fazla bilgi için bkz. databricks ssh connect.
Küme kitaplıkları (klasik işlem için önerilir)
İşlem > Kitaplıkları altındaki çalışma alanı kullanıcı arabirimini kullanarak bağımlılıkları yükleyin. Bunlar, kümenin yeniden başlatılması sırasında kalıcıdır ve pythonEnv-xxx içinde kullanılabilir. Bkz. Küme kitaplıkları.
Python olmayan bağımlılıklar
Python olmayan bağımlılıkları kalıcı hale getirmek için işlem başladığında paketleri yükleyen bir init betiği kullanın. İsteğe bağlı olarak, paketleri bir Unity Kataloğu biriminde depolayın ve init betiğinden bunlara başvurun. Bkz. Başlatma betikleri nedir?.
Projeye özel not defteri kurulumu
Proje kapsamlı bağımlılıklar için, her oturumun başında %pip install komutlar içeren bir not defteri açın:
# Install from pyproject.toml
%pip install .
# Install from a requirements file
%pip install -r requirements.txt
# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl
%pip komutları, Databricks'e özgü korumaları içerir ve bağımlılıkları Spark yürütücü düğümlerine aktarır. Bu, özel bağımlılıklarla kullanıcı tanımlı işlevleri (UDF) etkinleştirir.
Daha fazla örnek için bkz. Kitaplıkları komutlarla %pip yönetme.
Oturum 10 dakika içinde yeniden bağlanırsa not defterini yeniden çalıştırmanız gerekmez. Bu, SSH yapılandırmanızda kullanılarak -shutdown-delay yapılandırılabilir.
Uyarı
Aynı kümedeki birden çok SSH oturumu bir sanal ortamı paylaşır.
Git'i kullanma
Uyarı
Bu özellik, Git klasörleri önizlemesi için Git CLI desteğinin etkinleştirilmesini gerektirir. Bkz. Azure Databricks önizlemelerini yönetme.
SSH tünelindeki Git CLI'sini yeni oluşturulan Git klasörleri ve Databricks çalışma alanında yapılandırdığınız Git kimlik bilgileriyle kullanabilirsiniz. Bkz. Git CLI komutlarını kullanma.
CLI, kimlik bilgilerini otomatik olarak algılamak yerine sizden isterse Git sağlayıcınızı Databricks'e bağlamanız gerekir. Bkz. Git sağlayıcınızı Databricks'e bağlama.
Sınırlamalar
Databricks tarafından sağlanan SSH tüneli aşağıdaki sınırlamalara sahiptir:
- Paylaşılan kümeler desteklenmez.
- Visual Studio Code ve SSH tüneli için Databricks uzantısı henüz uyumlu değildir ve birlikte kullanılmamalıdır.
-
/Workspace,/Volumesve/dbfsdışında düzenlenen dosyalar küme yeniden başlatıldığında kaybolur. - Küme başına en fazla 10 SSH bağlantısına izin verilir.
- Etkin olmayan oturumlar 1 saat sonra sona erebilir.
- SSH tüneli diğer uzak ortamlardan veya Docker kapsayıcılarından başlatılamaz.
- Üç veya daha fazla Jupyter not defteri aynı anda açıldığında performans veya bağlantı sorunlarıyla karşılaşabilirsiniz. Bu sınırlama gelecekteki bir sürümde ele alınacaktır.
Databricks Not Defteri farklılıkları
SSH tüneli kullanılırken not defterlerinde bazı farklılıklar vardır:
- Python dosyaları herhangi bir Databricks globali (örneğin
sparkveyadbutils) tanımlamaz. Bunlarıfrom databricks.sdk.runtime import sparkile açıkça içeri aktarmanız gerekir. - ipynb not defterleri için şu özellikler kullanılabilir:
- Databricks genel ayarları:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlSQL hücrelerini çalıştırmak için sihirli komut
- Databricks genel ayarları:
Python kaynağı "not defterleri" ile çalışmak için:
Öğesini arayın
jupyter.interactiveWindow.cellMarker.codeRegexve şu şekilde ayarlayın:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Öğesini arayın
jupyter.interactiveWindow.cellMarker.defaultve şu şekilde ayarlayın:# COMMAND ----------
Sorun giderme
Bu bölüm, yaygın sorunları çözme hakkında bilgi içerir.
SSH bağlantısı başarısız oluyor veya zaman aşımına uğradı
- Kümenin çalışma alanı kullanıcı arabiriminde çalıştığını doğrulayın.
- Dizüstü bilgisayarınızda, ağınızda ve VPN'nizde giden bağlantı noktası 22'nin açık ve izin verilip verilmediğini denetleyin.
- SSH zaman aşımını artırın. Bkz. Visual Studio Code veya İmleç kullanarak bağlanma.
- Anahtar uyuşmazlığı hataları için
~/.databricks/ssh-tunnel-keyssilin vedatabricks ssh setuptekrar çalıştırın. - "Uzak konak belirlemesi değişti" hataları için, kümenizle ilgili dosya ve silme girdilerini denetleyin
~/.ssh/known_hosts. - SSH oturumları 1 saat sonra düşebilir ve tek bir kümeye 10'dan fazla SSH bağlantısı yapılamaz. Bkz. Sınırlamalar.
code komutu bulunamadı
ifadesini görürseniz Error: exec: "code": executable file not found in $PATHKomut Paleti'ni (Cmd/Ctrl+Shift+P) açın, Kabuk Komutu: PATH'de 'code' komutunu yükle'yi seçin ve IDE veya terminal oturumunuzu yeniden başlatın.
CLI kimlik doğrulaması hataları
- Kullanarak
databricks auth loginDatabricks CLI profilinizin geçerli olduğunu onaylayın. -
CAN MANAGEKüme üzerinde izinlerinizin olduğunu onaylayın.
Kodum çalışmıyor
- Databricks sanal ortamını ayarladığınızdan emin olun, Kod Çalıştırma (Visual Studio Code veya Kursor) bölümüne bakın.
- IPYNB not defterleri ve
*.pyDatabricks not defterleri Databricks genel ayarlarına erişebilir, ancak Python*.pydosyalarına erişemez. Bkz. Databricks Not Defterleri farklılıkları.
Küme yeniden başlatıldıktan sonra dosyalar kaybolur veya ortam sıfırlanır
-
/Workspace,/Volumesve/dbfsbağlamalarındaki dosyalar, küme yeniden başlatmaları arasında kalıcılık gösterir. ,/homeve diğer yerel yollardaki/rootdosyalar kısa ömürlü olur ve yeniden başlatmada kaybolur. - Kalıcı bağımlılıklar için küme kitaplığı yönetimini kullanın. Gerekirse init betiklerini kullanarak yeniden yüklemeleri otomatikleştirin. Bkz. Başlatma betikleri nedir?.
SSH kurulumu Windows (WSL) üzerinde başarısız oluyor
databricks ssh setup WSL içinde değil doğrudan Windows üzerinde çalıştırın. Windows Visual Studio Code örneği, WSL tarafında oluşturulan SSH yapılandırmalarını bulamıyor.
FAQ
SSH tünelinin Databricks Connect'ten farkı nedir?
Databricks Connect, Spark API'lerini kullanarak kod yazmanızı ve bunları yerel Spark oturumu yerine Databricks işlem üzerinde uzaktan çalıştırmanızı sağlar. Databricks Visual Studio Code uzantısı, Databricks'te kullanıcı kodunda yerleşik hata ayıklama sağlamak için Databricks Connect'i kullanır.
SSH tüneli, IDE'nizden çalışma alanına erişmenize olanak tanır ve tüm geliştirme ortamınızı işlem ortamınıza taşır( Python, çekirdek ve tüm yürütme işlemleri Databricks üzerinde çalışır ve işlem kaynaklarına tam erişim sağlar.
Kodum ve verilerim nasıl güvenli hale getirildi?
Tüm kodLar Databricks bulut VPC'nizde çalışır. Hiçbir veri veya kod güvenli ortamınızdan ayrılmaz. SSH trafiği tamamen şifrelenir.
Hangi IDE'ler desteklenir?
Visual Studio Code ve İmleç resmi olarak desteklenir. SSH özelliklerine sahip tüm IDE'ler uyumludur, ancak yalnızca VS Code ve İmleç test edilir.
Tüm Databricks not defteri özellikleri IDE'den kullanılabilir mi?
, display()ve dbutils gibi %sqlbazı özellikler sınırlamalar veya el ile kurulum ile kullanılabilir. Bkz. Databricks Not Defterleri farklılıkları.
SSH tünelini kullanarak bağlandığımda kümem otomatik olarak başlatılacak mı?
Evet, ancak kümenin başlatılması, bağlantı zaman aşımından daha uzun sürerse bağlantı girişimi başarısız olur. Bunu önlemek için, zaman aşımı hatalarının olasılığını daha da azaltmak amacıyla komut paletinden Remote.SSH: Bağlantı Zaman Aşımı değerini arttırın (veya remote.SSH.connectTimeout içinde settings.json).
Kümemin çalışıp çalışmadığını nasıl anlarım?
Databricks çalışma alanı kullanıcı arabiriminde İşlem'e gidin ve kümenin durumunu denetleyin. Kümede SSH bağlantısının çalışması için Çalışıyor gösterilmelidir.
SSH/IDE oturumumu nasıl kesebilirim?
IDE pencerenizi kapatarak, IDE'nizdeki Bağlantıyı Kes seçeneğini kullanarak, SSH terminalinizi kapatarak veya terminalde komutunu çalıştırarak oturumun exit bağlantısını kesebilirsiniz.
Çalışmadığım zamanlarda kümeyi nasıl durdururum ve ücretlerden nasıl kaçınebilirim?
Hemen durdurmak için çalışma alanı kullanıcı arabiriminden kümeyi sonlandırın. Databricks çalışma alanı kullanıcı arabiriminde İşlem'e gidin, kümenizi bulun ve Sonlandır veya Durdur'a tıklayın.
Çalışma alanı kullanıcı arabiriminden kümenizde kısa bir otomatik sonlandırma ilkesi ayarlayın. Bağlantıyı kestikten sonra SSH sunucusu süreyi bekler shutdown-delay (varsayılan: 10 dakika), ardından kümenin boşta kalma zaman aşımı uygulanır.
Kalıcı bağımlılıkları nasıl işlemem gerekir?
Bir oturum sırasında yüklenen bağımlılıklar küme yeniden başlatıldıktan sonra kaybolur. Gereksinimler ve kurulum betikleri için kalıcı depolama (/Workspace/Users/<your-username>) kullanın. Otomasyon için küme kitaplıklarını veya başlatma betiklerini kullanın.
Hangi kimlik doğrulama yöntemleri desteklenir?
Kimlik doğrulaması Databricks CLI'sini ve profil dosyanızı ~/.databrickscfg kullanır. SSH anahtarları SSH tüneli tarafından işlenir.
Kümeden dış veritabanlarına veya hizmetlere bağlanabilir miyim?
Evet, küme ağınız giden bağlantılara izin verdiği ve gerekli kitaplıklara sahip olduğunuz sürece.
Ek IDE uzantıları kullanabilir miyim?
Uzantıların çoğu, IDE'nize ve kümenize bağlı olarak uzak SSH oturumunuz içinde yüklendiğinde çalışır. Visual Studio Code varsayılan olarak uzak konaklara yerel uzantılar yüklemez. Uzantılar panelini açıp uzak konakta yerel uzantılarınızı etkinleştirerek bunları el ile yükleyebilirsiniz. Ayrıca Visual Studio Code'u her zaman belirli uzantıları uzaktan yükleyecek şekilde yapılandırabilirsiniz. Bkz . Databricks'e bağlanma.
SSH tüneli Özel Bağlantı destekliyor mu?
Evet, ancak çalışma alanı yöneticilerinin Visual Studio Code ve İmleç uzantısı marketlerinin URL'lerine izin vermesi gerekir. Yerel makinenizin İnternet'e erişebilmesi de gerekir.