Osvědčené postupy pro výpočetní prostředí bez serveru

Při používání bezserverových výpočetních prostředků pro poznámkové bloky, úlohy a kanály na Azure Databricks využijte tato doporučení k maximalizaci produktivity, snížení nákladů a zvýšení spolehlivosti.

Migrace úloh do bezserverového výpočetního prostředí

Podrobné pokyny k migraci z klasického výpočetního prostředí na bezserverové, včetně požadavků, požadovaných změn kódu, testovacích strategií a plánu postupného zavedení, najdete v tématu Migrace z klasického výpočetního prostředí na bezserverové výpočetní prostředky.

Zadání verzí balíčků Python

Při migraci na bezserverové výpočetní prostředky připněte balíčky Python na konkrétní verze, abyste zajistili reprodukovatelná prostředí. Pokud nezadáte verzi, balíček se může přeložit na jinou verzi na základě verze bezserverového prostředí, což může zvýšit latenci, protože je potřeba nainstalovat nové balíčky.

Soubor by například měl obsahovat konkrétní verze balíčků, například requirements.txt :

numpy==2.2.2
pandas==2.2.3

Použití jedinečných názvů pro dočasná zobrazení

Bezserverové výpočetní prostředky používají Spark Connect, architekturu klient-server, která vyhodnocuje dočasná zobrazení laziálně. Toto chování se liší od klasické architektury Sparku a může způsobit chyby, když kód znovu použije stejný dočasný název zobrazení, například ve smyčce.

Abyste se vyhnuli chybám, použijte jedinečné názvy pro všechna dočasná zobrazení v kódu.

Sítě a možnosti připojení

Bezserverové výpočetní prostředky nepodporují partnerský vztah VPC, což je běžný způsob připojení klasických výpočetních prostředků Databricks ke zdrojům dat ve vašem cloudovém účtu.

Pokud místo toho potřebujete privátní připojení z bezserverové architektury, můžete v nástroji VPC vytvořit privátní koncové body z bezserverového připojení k prostředkům.

Pokud privátní připojení není možné nebo nevyžaduje, můžete své prostředky stále chránit vytvořením brány firewall, která umožňuje bezserverový provoz Databricks.

Pokud například chcete povolit připojení z bezserverových výpočetních prostředků, můžete na seznam povolených adres v externích virtuálních privátních cloudech (VPC) přidat sadu odchozích IP adres služby Azure Databricks. Azure Databricks IP adresy se můžou změnit, takže je nutné vytvořit automatizaci, aby seznamy povolených adres zůstaly aktuální a ne používaly jednorázovou kopii. Další podrobnosti najdete v tématu Konfigurace obvodu zabezpečení sítě Azure (NSP) pro prostředky Azure.

Pokud se chcete připojit k podnikovým aplikacím (například Salesforce) nebo spravovaným databázím (například MySQL), použijte Lakeflow Connect.

Pokud chcete omezit a monitorovat odchozí provoz z bezserverového výpočetního prostředí, nakonfigurujte pro váš pracovní prostor ovládací prvky výchozího přenosu dat. Viz Správa zásad sítě pro řízení výchozího přenosu dat bez serveru.

Bezserverové verze prostředí

Bezserverové výpočetní prostředí místo tradičních verzí Databricks Runtime používá verze prostředí. To představuje posun při správě kompatibility úloh:

  • Přístup Databricks Runtime: Pro úlohu vyberete konkrétní verzi databricks Runtime a upgrady spravujete ručně, aby se zachovala kompatibilita.
  • Serverless approach: Napíšete kód proti verzi prostředí a Azure Databricks nezávisle upgraduje základní server.

Verze prostředí poskytují stabilní klientské rozhraní API, které zajišťuje, že vaše úlohy zůstanou kompatibilní, zatímco Azure Databricks nezávisle poskytuje vylepšení výkonu, vylepšení zabezpečení a opravy chyb bez nutnosti změn kódu vašich úloh.

Každá verze prostředí zahrnuje aktualizované systémové knihovny, funkce a opravy chyb a zachování zpětné kompatibility pro úlohy. Azure Databricks podporuje každou verzi prostředí po dobu tří let od data vydání a poskytuje předvídatelný životní cyklus pro plánování upgradů.

Pokud chcete vybrat základní prostředí pro vaši bezserverovou úlohu, přečtěte si téma Výběr základního prostředí. Podrobnosti o dostupnýchverzích

Správa závislostí

Bezserverové výpočetní prostředky nepodporují inicializační skripty. Místo toho používejte bezserverová prostředí k instalaci a správě knihoven pro bezserverové úlohy. Prostředí ukládají do mezipaměti nainstalované balíčky, což snižuje latenci zavádění při následných spuštěních.

Pokud chcete používat knihovny z privátního úložiště, nakonfigurujte předem podepsané adresy URL pro přístup k ověřenému úložišti v nastavení prostředí.

Volba režimu výkonu

Azure Databricks bezserverové výpočetní prostředí nabízí dva režimy výkonu, které umožňují vyrovnávat rychlost a náklady na základě typu úlohy následujícím způsobem:

  • Režim optimalizovaný pro výkon (výchozí): Nejvhodnější pro interaktivní úlohy, které vyžadují rychlé spouštění. Azure Databricks udržuje fond teplých výpočetních prostředků připravený k minimalizaci doby čekání.
  • Standardní režim: Nejvhodnější pro automatizované dávkové úlohy a pipeline, které můžou tolerovat delší dobu spuštění 4 až 6 minut. Standardní režim může snížit náklady až o 70% v porovnání s režimem optimalizovaným pro výkon. Standardní režim je k dispozici pro úlohy Lakeflow a kanály Lakeflow, ale ne pro poznámkové bloky.

Zvolte režim, který nejlépe odpovídá vašim požadavkům na úlohy. Pro naplánované úlohy, u kterých latence spouštění není kritická, nabízí standardní režim obvykle nejlepší hodnotu. Aktuální podrobnosti o cenách najdete na stránce s cenami Databricks.

Optimalizace úloh streamování

Bezserverové výpočetní prostředky podporují strukturované streamování pomocí Trigger.AvailableNow. Intervaly aktivačních událostí založené na čase nejsou podporovány. Podrobnosti o podporovaných triggerech, příkladech kódu a alternativách pro průběžné streamování najdete v části průvodce migrací streamování.

Při použití Trigger.AvailableNow zpracovává každý spouštěč všechna dostupná data ve zdroji, což může vést k větším mikrodávkám než spouštěč založený na čase. Chcete-li zabránit chybám nedostatku paměti a zachovat předvídatelný výkon, omezte množství zpracovávaných dat na mikrodávku nastavením maxFilesPerTrigger nebo maxBytesPerTrigger.

Průvodce rozhodováním, který mapuje případy použití streamování na správný bezserverový produkt, najdete v tématu Streamování na bezserverové výpočetní prostředky.

Ladění úloh bez serveru

Uživatelské rozhraní Sparku není k dispozici ve výpočetních prostředcích bez serveru. Místo toho použijte profil dotazu k analýze výkonu dotazů a řešení potíží s úlohami. Profil dotazu poskytuje podrobné informace o spuštění a je přístupný z historie dotazů v uživatelském rozhraní Azure Databricks.

Příjem dat z externích systémů

Mezi alternativní strategie, které můžete použít k příjmu dat, patří:

  • Stavební bloky založené na SQL, jako jsou streamovací tabulky COPY INTO a .

Alternativy příjmu dat

Při použití bezserverového výpočetního prostředí můžete k dotazování dat použít také následující funkce, aniž byste je přesunuli.

  • Pokud chcete omezit duplikaci dat nebo zaručit, že se dotazujete na nejnovější možná data, doporučuje Databricks používat OpenSharing. Viz Co je OpenSharing?
  • V případě ad hoc vytváření sestav a testování konceptu umožňuje Federace Lakehouse dotazovat externí databáze přímo z Azure Databricks bez přesunu dat, která se řídí katalogem Unity. Viz Připojení k externím databázím a katalogům.

Zkuste jednu nebo obě tyto funkce a zjistěte, jestli vyhovují vašim požadavkům na výkon dotazů.

Nepodporované jímky

Pokud cílový systém není podporován jako přímý cíl zápisu z bezserverového výpočtu, můžete použít Unity Catalog Iceberg REST Catalog k tomu, aby tento systém mohl číst přímo z tabulek Azure Databricks. Snowflake například není podporovaná bezserverová jímka, ale dá se nakonfigurovat jako klient Icebergu pro čtení tabulek spravovaných katalogem Unity.

Tento přístup zabraňuje duplikování dat a zachovává Unity Catalog jako řídicí vrstvu pro všechny přístupy k datům. Podporované klienty a kroky konfigurace najdete v tématu Přístup k tabulkám Azure Databricks z klientů Apache Iceberg.

Podporované konfigurace Sparku

Pokud chcete automatizovat konfiguraci Sparku na bezserverových výpočetních prostředcích, Azure Databricks odebrali podporu ručního nastavení většiny konfigurací Sparku. Pokud chcete zobrazit seznam podporovaných parametrů konfigurace Sparku, přečtěte si téma Konfigurace vlastností Sparku pro bezserverové poznámkové bloky a úlohy.

Úloha na bezserverové výpočetní kapacitě selže, pokud nastavíte nepodporovanou konfiguraci Sparku.

Monitorování nákladů na výpočetní prostředky bez serveru

K monitorování nákladů na výpočetní prostředky bez serveru můžete použít několik funkcí: