Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tunel Databricks SSH je v beta verzi.
Tunel Databricks SSH umožňuje připojit integrované vývojové prostředí (IDE) k výpočetním prostředkům Databricks. Nastavení je jednoduché, umožňuje interaktivně spouštět a ladit kód v clusteru, snižuje neshody prostředí a udržuje veškerý kód a data v pracovním prostoru Databricks zabezpečená.
Požadavky
Pokud chcete použít tunel SSH, musíte mít:
- Rozhraní příkazového řádku Databricks verze 0.269 nebo vyšší musí být nainstalováno na vašem místním počítači a ověřování nakonfigurováno. Viz Instalace.
- Spouštění výpočtů ve vašem pracovním prostoru Databricks s přístupovým režimem vyhrazeným pro jednoho uživatele. Viz Přehled vyhrazených výpočetních prostředků.
- Výpočetní prostředky musí používat Databricks Runtime 17.0 a vyšší.
- Musí být povolen katalog Unity.
- Pokud existuje výpočetní politika, nesmí zakazovat provádění úloh.
Nastavení tunelu SSH
Nejprve nastavte tunel SSH pomocí příkazu nastavení databricks ssh . Nahraďte <connection-name> názvem tunelu, my-tunnelnapříklad .
databricks ssh setup --name <connection-name>
Rozhraní příkazového řádku vás vyzve k výběru clusteru nebo můžete zadat ID clusteru předáním --cluster <cluster-id>.
Poznámka:
Pro IntelliJ doporučuje Databricks zahrnout –-auto-start-cluster=false do instalačního příkazu. Spuštění integrovaného vývojového prostředí JetBrains automaticky spustí všechny clustery, což může vést k nezamýšleným nákladům na výpočetní prostředky. Pokud nastavíte tuto možnost, musíte spustit cluster v pracovním prostoru, aby se spustil tunel SSH.
Připojení k Databricks
Dále se připojte k Databricks pomocí integrovaného vývojového prostředí nebo terminálu.
Připojení pomocí editoru Visual Studio Code nebo kurzoru
Pro Visual Studio Code nainstalujte rozšíření SSH pro vzdálený přístup. Kurzor obsahuje rozšíření pro vzdálené SSH.
V hlavní nabídce integrovaného vývojového prostředí klepněte na příkaz Zobrazit>paletu příkazů. Vyberte Remote-SSH: Nastavení. Případně můžete vybrat Předvolby: Otevřít uživatelská nastavení (JSON) a upravit
settings.jsonho přímo.V části Remote.SSH: Výchozí rozšíření (nebo
remote.SSH.defaultExtensionsvsettings.json), přidatms-Python.Pythonams-toolsai.jupyter.Pokud upravujete
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Poznámka:
Volitelně můžete zvýšit hodnotu Remote.SSH: Časový limit připojení (nebo
remote.SSH.connectTimeoutvsettings.json) a tím se dále sníží pravděpodobnost chyb časového limitu. Výchozí časový limit je 360.Na paletě příkazů vyberte Remote-SSH: Připojit k hostiteli.
V rozevíracím seznamu vyberte tunel, který jste nastavili v prvním kroku. Integrované vývojové prostředí se bude připojovat v novém okně.
Poznámka:
Pokud výpočetní prostředky nejsou spuštěné, spustí se. Pokud však spuštění výpočetních prostředků trvá déle, než je časový limit, pokus o připojení SSH selže.
Po zobrazení výzvy k zadání typu serveru vyberte linux .
Připojení pomocí prostředí IntelliJ IDEs
Postupujte podle kurzu vzdáleného vývoje a nastavte se.
Na nové obrazovce připojení zadejte následující:
Uživatelské jméno:
rootHostitel:<connection-name>
Připojení pomocí terminálu
Pokud se chcete připojit k Databricks z příkazového řádku, zadejte ssh název připojení, například:
ssh my-tunnel
Otevřené projekty
- Počáteční připojení otevře prázdné okno integrovaného vývojového prostředí bez otevřené složky. V editoru Visual Studio Code otevřete požadovaný projekt pomocí příkazu Otevřít složku z palety příkazů .
- K trvalému úložišti použijte připojení pracovního prostoru (
/Workspace/Users/<your-username>).
Spuštění kódu (Visual Studio Code)
- Pokud otevřete projekt Pythonu, rozšíření Pythonu dokáže automaticky rozpoznat virtuální prostředí, ale přesto je potřeba ručně aktivovat správné prostředí. Vyberte příkaz Interpret z palety příkazů a zvolte prostředí
pythonEnv-xxx. To má přístup ke všem integrovaným knihovnám Databricks Runtime nebo ke všemu, co jste v clusteru nainstalovali globálně. - V některých případech rozšíření Pythonu nedokáže automaticky rozpoznat virtuální prostředí (
venv), například když otevřete složku, která se nedá rozpoznat jako projekt Pythonu. Pokud chcete tento problém vyřešit, otevřete terminál a spusťteecho $DATABRICKS_VIRTUAL_ENV, zkopírujte cestu a použijte ji v Pythonu: Výběr interpreta příkazu.
Po výběru venv je možné spustit soubory nebo poznámkové bloky Pythonu s běžnými akcemi spuštění nebo ladění, které poskytují rozšíření pro Python nebo Jupyter.
Správa závislostí Pythonu
Nejjednodušší způsob instalace požadovaných závislostí spočívá v uživatelském rozhraní pracovního prostoru. Viz knihovny s vymezeným výpočetním oborem. Díky tomuto přístupu nainstalujete závislosti pro cluster globálně. Při každém restartování clusteru nemusíte přeinstalovat knihovny.
Pro programovou instalaci, která je vymezena na konkrétní projekt, však použijte instalaci s vymezeným poznámkovým blokem.
Poznámkový blok nastavení specifický pro projekt
Správa závislostí pro konkrétní projekt:
Vytvořte soubor
setup.ipynbve vašem projektu.Rozhraní příkazového řádku ssh vytvoří prostředí Pythonu (
pythonEnv-xxx), které už obsahuje integrované knihovny Databricks Runtime nebo knihovny v oboru výpočetních prostředků. Připojte poznámkový blok k tomutopythonEnv-xxxprostředí.K instalaci závislostí použijte
%pip installpříkazy:-
%pip install .pokud mátepyproject.toml(%pip install .<group>abyste to omezili) -
%pip install -r dependencies.txtpokud mátedependencies.txt -
%pip install /Volumes/your/wheel.whl(nebo/Workspacecesty) pokud jste vytvořili a nahráli vlastní knihovnu jako kolo
%pipPříkazy mají logiku specifickou pro Databricks s dalšími mantinely. Logika také zajišťuje, aby závislosti byly k dispozici pro všechny uzly exekutoru Sparku, nejen pro uzel ovladače, ke kterému jste připojení. To umožňuje uživatelem definované funkce (UDF) s vlastními závislostmi.Další příklady použití najdete v tématu Správa knihoven pomocí
%pippříkazů.-
Tento poznámkový blok spusťte pokaždé, když vytvoříte novou relaci SSH. Pokud dojde k vyřazení existující relace SSH a opětovné připojení ke clusteru během 10 minut, nemusíte znovu instalovat závislosti. (Čas je možné konfigurovat pomocí -shutdown-delay=10m možnosti v místní konfiguraci ssh.)
Poznámka:
Pokud máte více relací ssh připojených ke stejnému clusteru současně, používají stejné virtuální prostředí.
Omezení
Tunel SSH Databricks má následující omezení:
- Rozšíření Databricks pro Visual Studio Code a tunel Databricks SSH ještě nejsou kompatibilní a neměly by se používat společně.
- Všechny složky Git , které jste vytvořili ve svém pracovním prostoru prostřednictvím uživatelského rozhraní pracovního prostoru Databricks, nebudou rozpoznány jako úložiště Git CLI a integrace gitu IDE, protože tyto složky neobsahují metadata .git. Pokud chcete tento problém obejít, přečtěte si téma Jak používat Git s tunelem SSH?.
- Domovská a kořenová připojení ke clusteru, ke kterému se připojujete, jsou dočasné. Veškerý obsah v clusteru se při restartování clusteru nezachová.
Rozdíly v poznámkových blocích Databricks
Při použití tunelu SSH existují některé rozdíly v noteboocích:
- Soubory Pythonu nedefinují žádné globální objekty Databricks (například
sparknebodbutils). Je nutné je naimportovat explicitně pomocífrom databricks.sdk.runtime import spark. - Pro ipynb notebooky jsou k dispozici tyto funkce:
- Globální Databricks:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlmagický příkaz ke spouštění buněk SQL
- Globální Databricks:
Práce se zdrojovými poznámkovými bloky Pythonu:
Vyhledejte
jupyter.interactiveWindow.cellMarker.codeRegexa nastavte ho na:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Vyhledejte
jupyter.interactiveWindow.cellMarker.defaulta nastavte ho na:# COMMAND ----------
Řešení problémů
Tato část obsahuje informace o řešení běžných problémů.
Selhání nebo vypršení časového limitu připojení SSH
- Ujistěte se, že je váš cluster spuštěný v uživatelském rozhraní Databricks, a ne jenom zastavený nebo spuštěný.
- Zkontrolujte, že odchozí port 22 je otevřený a povolený na vašem přenosném počítači, síti nebo vpn.
- V integrovaném vývojovém prostředí zvyšte časový limit připojení SSH. Viz Připojení pomocí editoru Visual Studio Code nebo kurzoru.
- Pokud se zobrazí chyby neshody veřejného nebo privátního klíče, zkuste odstranit složku
~/.databricks/ssh-tunnel-keys. - Pokud se zobrazí chyby "Identifikace vzdáleného hostitele se změnila", zkontrolujte
~/.ssh/known_hostssoubor a odstraňte položky související s vaším clusterem. - Pokud se relace SSH po 1 hodině přeruší, jedná se o známé omezení. Viz Omezení.
- K jednomu clusteru není povoleno více než 10 připojení ssh.
Chyby ověřování CLI
- Ověřte, že je profil rozhraní příkazového řádku Databricks platný a ověřený (
databricks auth login). - Ujistěte se, že máte správná oprávnění ke clusteru, například
CAN MANAGE.
Po restartování clusteru se soubory zmizí nebo se resetuje prostředí.
- Pouze
/Workspace,/Volumesa/dbfspřipojení jsou trvalé. Všechna data v/home/root, atd. se vymažou po restartování. - Používejte správu knihovny clusteru pro trvalé závislosti. V případě potřeby automatizujte přeinstalace pomocí inicializačních skriptů. Viz Co jsou inicializační skripty?.
Chyba "Není úložiště Git" nebo chybějící funkce Gitu v integrovaném vývojovém prostředí
Git funguje jenom v případě, že při klonování do /Workspace/Users/<your-username> použijete terminál. Webové vytvořené složky nemají metadata .git. Podívejte se na Jak používat Git s SSH tunelem?.
Můj kód nefunguje
- Ujistěte se, že jste vybrali správný interpret Pythonu, který má přístup ke všem závislostem Databricks Runtime.
- Pokud otevřete projekt Pythonu, rozšíření Pythonu dokáže automaticky rozpoznat virtuální prostředí, ale přesto je potřeba ručně aktivovat správné prostředí. Spusťte Python: Vyberte příkaz Interpret a zvolte prostředí pythonEnv-xxx . Bude mít přístup ke všem integrovaným knihovnám Databricks Runtime nebo všemu, co jste v clusteru nainstalovali globálně.
- V některých případech rozšíření Pythonu nedokáže automaticky rozpoznat virtuální prostředí, například při otevření složky, která se nedá rozpoznat jako projekt Pythonu. Můžete otevřít terminál a spustit
echo $DATABRICKS_VIRTUAL_ENVa pak zkopírovat cestu a použít ji v Pythonu: Vybrat interpret příkazu.
- Poznámkové bloky IPYNB a
*.pypoznámkové bloky Databricks mají přístup ke globálním datům Databricks, ale soubory Python*.pyne. Prohlédněte si rozdíly poznámkových bloků Databricks.
Nejde nastavit připojení ssh ve Windows v rámci WSL
Databricks doporučuje provést nastavení SSH přímo ve Windows. Pokud ho nastavíte na straně WSL, ale použijete Windows verzi editoru Visual Studio Code, nenajde potřebné konfigurace SSH.
časté otázky
Jak je můj kód a data zabezpečená?
Veškerý kód běží v rámci vašeho virtuálního privátního cloudu Databricks (VPC). Žádná data ani kód neopustí vaše zabezpečené prostředí. Provoz SSH je plně šifrovaný.
Které ides se podporují?
Visual Studio Code a Kurzor jsou oficiálně podporované, ale tunel Databricks SSH je kompatibilní s libovolným integrovaným vývojovém prostředím s funkcemi SSH.
Jsou všechny funkce poznámkového bloku Databricks dostupné v integrovaném vývojovém prostředí (IDE)?
Některé funkce, jako display(), dbutils a %sql, jsou k dispozici s omezeními nebo manuálním nastavením. Prohlédněte si rozdíly poznámkových bloků Databricks.
Může se na stejném clusteru vyvíjet více uživatelů najednou?
Ne.
Spustí se cluster automaticky, když se připojím přes tunel SSH?
Ano, ale pokud spuštění clusteru trvá déle, než je časový limit připojení, pokus o připojení selže.
Jak poznám, jestli je cluster spuštěný?
Přejděte do výpočetního prostředí v uživatelském rozhraní pracovního prostoru Databricks a zkontrolujte stav clusteru. Cluster musí zobrazit stav Running, aby fungovala připojení tunelu SSH.
Jak můžu odpojit relaci SSH/IDE?
Relaci můžete odpojit tak, že zavřete okno integrovaného vývojového prostředí (IDE), použijete možnost Odpojit v IDE, zavřete terminál SSH nebo spustíte příkaz exit v terminálu.
Zastaví se můj cluster automaticky při odpojení SSH?
Ne, ssh server má konfigurovatelnou prodlevu vypnutí a bude pokračovat v běhu na pozadí po určitou dobu (výchozí nastavení je 10 minut, což lze změnit v konfiguraci ssh ProxyCommand úpravou možnosti -shutdown-delay). Po vypršení časového limitu serveru se spustí časový limit nečinnosti clusteru (který nakonfigurujete během vytváření clusteru).
Jak zastavím cluster, abych se vyhnul zbytečným poplatkům?
V uživatelském rozhraní pracovního prostoru Databricks přejděte na Výpočetní prostředky , vyhledejte cluster a klikněte na Ukončit nebo Zastavit.
Jak mám zpracovávat trvalé závislosti?
Po restartování clusteru dojde ke ztrátě závislostí nainstalovaných během relace. Pro požadavky a instalační skripty použijte trvalé úložiště (/Workspace/Users/<your-username>). Pro automatizaci používejte knihovny clusteru nebo inicializační skripty.
Jaké metody ověřování se podporují?
Ověřování používá rozhraní příkazového řádku Databricks a váš ~/.databrickscfg soubor profilů. Klíče SSH se zpracovávají tunelem Databrick SSH.
Můžu se z clusteru připojit k externím databázím nebo službám?
Ano, pokud vaše síť clusteru umožňuje odchozí připojení a máte potřebné knihovny.
Můžu použít další rozšíření IDE?
Většina rozšíření funguje při instalaci ve vzdálené relaci SSH v závislosti na integrovaném vývojovém prostředí a clusteru. Visual Studio Code ve výchozím nastavení nenainstaluje na vzdálené hostitele místní rozšíření. Můžete je ručně nainstalovat tak, že otevřete panel rozšíření a povolíte místní rozšíření na vzdáleném hostiteli. Visual Studio Code můžete také nakonfigurovat tak, aby vždy vzdáleně nainstalovala určitá rozšíření. Viz Připojení k Databricks.
Jak se dá Git používat s tunelem SSH?
V současné době se složky Git vytvořené pomocí uživatelského rozhraní pracovního prostoru Databricks nerozpoznají jako úložiště Git v prostředích ID. Pokud chcete tento problém obejít, naklonujte úložiště pomocí rozhraní příkazového řádku Git z relace SSH do složky trvalého pracovního prostoru:
- Otevřete terminál a přejděte do požadovaného nadřazeného adresáře (například
cd /Workspace/Users/<your-username>) - Naklonujte úložiště v daném adresáři.
- V editoru Visual Studio Code otevřete tuto složku v novém okně spuštěním
code <repo-name>nebo otevřením složky v novém okně pomocí uživatelského rozhraní.