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.
Tato stránka popisuje, jak zakázat předinstalované knihovny Python v horizontálně škálované aplikaci Databricks, spravovat vlastní závislosti a znovu zapnout předinstalované knihovny později. Odhlášení je dostupné jenom u horizontálně škálovaných aplikací, které byly převedeny ze standardní aplikace. Viz Převod standardní aplikace na použití horizontálního škálování. Horizontální škálování je v beta verzi.
Když konvertujete standardní aplikaci na horizontálně škálovanou, Azure Databricks připne převedenou aplikaci na preinstalované knihovny Python aby existující importy aplikace fungovaly. Zvolte možnost nepoužít spuštění aplikace na čisté základní bitové kopii operačního systému a veškeré knihovny si deklarujte sami.
Odhlášení z předinstalovaných knihoven
Odhlášení sdělí službě Azure Databricks, aby vaše příští nasazení vytvořila na základě čisté základní bitové kopie operačního systému.
Předinstalované knihovny již nejsou k dispozici, pokud je deklarujete v requirements.txt nebo pyproject.toml.
Jak se odhlásit:
- Na stránce podrobností aplikace klikněte na Upravit.
- V kroku Konfigurace zrušte zaškrtnutí políčka Použití předinstalovaných knihoven Python.
- Klikněte na Uložit. Aktuálně spuštěné nasazení není ovlivněno.
- Aplikaci znovu nasaďte z karty Deployments. Toto nové nasazení se sestaví z čistého základního image operačního systému.
Doporučený pracovní postup
Vaše závislosti můžou zahrnovat předinstalované knihovny tranzitivně, takže není vždy jasné, které knihovny vaše aplikace vyžaduje přímo. Než se odhlásíte v produkčním prostředí, najděte chybějící knihovny v testovací aplikaci:
- Vytvořte novou horizontálně škálovanou aplikaci. Nové horizontálně škálované aplikace už běží na čisté základní image operačního systému, takže to odpovídá vašemu cílovému stavu po vypnutí opt-outu.
- Nasaďte zdroj produkční aplikace do testovací aplikace. Aktualizujte
requirements.txt(nebopyproject.toml) a znovu nasaďte, dokud se testovací aplikace nespustí, nezačne zpracovávat požadavky a neprojde vašimi testy. - Zkopírujte konečné deklarace závislostí do zdroje produkční aplikace.
- V produkční aplikaci postupujte podle kroků v Zakázání předinstalovaných knihoven a nasaďte aktualizovaný zdrojový kód.
Produkce dál běží na image s předinstalovanými knihovnami, dokud nové nasazení úspěšně neprojde kontrolami stavu, takže tento přístup pomáhá předejít výpadkům, zatímco v testovací aplikaci zjišťujete chybějící závislosti.
Řešení chyb po odhlášení
Nejběžnějším selháním po odmítnutí účasti je ModuleNotFoundError při spuštění aplikace způsobené frameworkem nebo knihovnou, které váš kód implicitně naimportoval z předinstalované sady. Řešení:
- Na stránce s podrobnostmi aplikace otevřete kartu Protokoly.
- V protokolech sestavení nebo modulu runtime vyhledejte chybějící název modulu.
- Přidejte odpovídající balíček (
requirements.txtnebopyproject.toml) a znovu nasaďte.
Nové nasazení nahradí spuštěné nasazení pouze v případě, že proces aplikace po dobu prvních několika sekund po spuštění zůstane spuštěný. Nasazení v režimu opt-out, které okamžitě selže kvůli chybějícímu importu, nikdy nepřevezme provoz a ten dál běží na předchozím funkčním nasazení, zatímco opravujete seznam závislostí. Kontrola při spuštění je jen povrchní, proto po vypnutí této kontroly otestujte, že vaše aplikace skutečně obsluhuje požadavky, a nespoléhejte se na to, že kontrola odhalí chybná nasazení.
Opětovné zapnutí předinstalovaných knihoven
Pokud se chcete vrátit k předinstalovaným knihovnám po odhlášení:
- Na stránce podrobností aplikace klikněte na Upravit.
- V kroku Konfigurace zaškrtněte políčko Poinstalované knihovny Python.
- Klikněte na Uložit.
- Aplikaci znovu nasaďte na kartě Nasazení. Toto nové nasazení se sestaví s využitím základního obrazu s předinstalovanými knihovnami.
Vaše requirements.txt a pyproject.toml nadále platí, takže všechny explicitní deklarace, které jste přidali v době, kdy jste byli odhlášeni, zůstanou zachovány.
Note
Převod horizontálně škálované aplikace zpět na standardní aplikaci také obnoví předinstalované knihovny: standardní aplikace se znovu sestaví bez ohledu na to, jestli jste se odhlásili. Pokud později aplikaci znovu převedete na horizontálně škálované, bude obsahovat předinstalované knihovny, dokud se znovu nevyhlásíte.