Referenční informace ke konfiguraci výpočetních prostředků

Tento článek vysvětluje všechna nastavení konfigurace dostupná v uživatelském rozhraní pro vytváření výpočetních prostředků. Většina uživatelů vytváří výpočetní prostředky pomocí přiřazených zásad, což omezuje konfigurovatelná nastavení. Pokud v uživatelském rozhraní nevidíte konkrétní nastavení, je to proto, že vámi vybraná zásada neumožňuje toto nastavení konfigurovat.

Konfigurace a nástroje pro správu popsané v tomto článku se týkají výpočetních prostředků pro všechny účely i úlohy. Další informace o konfiguraci výpočetních prostředků úloh najdete v tématu Použití výpočetních prostředků Azure Databricks s úlohami.

Politiky

Zásady jsou sadou pravidel, která slouží k omezení možností konfigurace dostupných uživatelům při vytváření výpočetních prostředků. Pokud uživatel nemá nárok na vytvoření neomezeného clusteru , může vytvářet výpočetní prostředky jenom pomocí svých udělených zásad.

Pokud chcete vytvořit výpočetní prostředky podle zásad, vyberte zásadu z rozevírací nabídky Zásady .

Ve výchozím nastavení mají všichni uživatelé přístup k zásadám osobních výpočetních prostředků , což jim umožňuje vytvářet výpočetní prostředky s jedním počítačem. Pokud potřebujete přístup k osobním výpočetním prostředkům nebo jakýmkoli dalším zásadám, obraťte se na správce pracovního prostoru.

Výpočetní prostředky s jedním uzlem nebo více uzly

V závislosti na zásadách můžete vybrat mezi vytvořením výpočetních prostředků s jedním uzlem nebo výpočetním prostředím s více uzly .

Výpočetní prostředky s jedním uzlem jsou určené pro úlohy, které používají malé objemy dat nebo nedistribuované úlohy, jako jsou knihovny strojového učení s jedním uzlem. Výpočetní prostředky s více uzly by se měly používat pro větší úlohy s distribuovanými úlohami.

Vlastnosti jednoho uzlu

Výpočetní prostředky s jedním uzlem mají následující vlastnosti:

  • Spustí Spark místně.
  • Ovladač funguje jako hlavní i pracovní, bez pracovních uzlů.
  • Vytvoří jedno vlákno exekutoru na logické jádro ve výpočetním objektu minus 1 jádro pro ovladač.
  • Uloží všechny stderrvýstupy a stdoutlog4j výstupy protokolu v protokolu ovladačů.
  • Nejde převést na výpočetní prostředky s více uzly.

Výběr jednoho nebo více uzlů

Při rozhodování mezi výpočetním prostředím s jedním nebo více uzly zvažte váš případ použití:

  • Rozsáhlé zpracování dat vyčerpá prostředky na výpočetních prostředcích na jednom uzlu. Pro tyto úlohy doporučuje Databricks používat výpočetní prostředky s více uzly.

  • Výpočetní prostředky s jedním uzlem nejsou navržené tak, aby se sdílely. Aby se zabránilo konfliktům prostředků, databricks doporučuje používat výpočetní prostředky s více uzly, když je potřeba výpočetní prostředky sdílet.

  • Výpočetní prostředky s více uzly se nedají škálovat na 0 pracovních procesů. Místo toho použijte výpočetní prostředky s jedním uzlem.

  • Výpočetní prostředky s jedním uzlem nejsou kompatibilní s izolací procesů.

  • Plánování GPU není na výpočetních prostředcích s jedním uzlem povolené.

  • Na výpočetních prostředcích s jedním uzlem nemůže Spark číst soubory Parquet se sloupcem UDT. Výsledky následující chybové zprávy:

    The Spark driver has stopped unexpectedly and is restarting. Your notebook will be automatically reattached.
    

    Chcete-li tento problém vyřešit, zakažte nativní čtečku Parquet:

    spark.conf.set("spark.databricks.io.parquet.nativeReader.enabled", False)
    

Režimy přístupu

Režim přístupu je funkce zabezpečení, která určuje, kdo může používat výpočetní prostředky a jaká data mají přístup prostřednictvím výpočetních prostředků. Každý výpočetní výkon v Azure Databricks má režim přístupu.

Databricks doporučuje používat režim sdíleného přístupu pro všechny úlohy. Režim přístupu jednoho uživatele používejte jenom v případě, že režim sdíleného přístupu nepodporuje požadované funkce.

Režim přístupu Viditelné pro uživatele Podpora UC Podporované jazyky Notes
Jeden uživatel Always Ano Python, SQL, Scala, R Může být přiřazen a používán jedním uživatelem. V některých pracovních prostorech se označuje jako režim přiřazeného přístupu.
Shared Always (vyžaduje se plán Premium) Ano Python (ve službě Databricks Runtime 11.3 LTS a novější), SQL, Scala (na výpočetních prostředcích s podporou katalogu Unity pomocí Databricks Runtime 13.3 LTS a vyšší) Můžou ho používat více uživatelů s izolací dat mezi uživateli.
Žádná sdílená izolace Správa s může tento režim přístupu skrýt vynucením izolace uživatele na stránce nastavení správce. No Python, SQL, Scala, R Pro sdílené výpočetní prostředky bez izolace je k dispozici související nastavení na úrovni účtu.
Vlastní Skryté (pro všechny nové výpočetní prostředky) No Python, SQL, Scala, R Tato možnost se zobrazí jenom v případě, že máte existující výpočetní prostředky bez zadaného režimu přístupu.

Stávající výpočetní prostředky můžete upgradovat tak, aby splňovaly požadavky katalogu Unity, a to nastavením jeho režimu přístupu na jednoho uživatele nebo sdíleného uživatele.

Poznámka:

V Databricks Runtime 13.3 LTS a novějších jsou inicializační skripty a knihovny podporované ve všech režimech přístupu. Požadavky a podpora se liší. Podívejte se , kde lze inicializační skripty nainstalovat? a knihovny v oboru clusteru.

Verze Databricks Runtime

Databricks Runtime je sada základních komponent, které běží na výpočetních prostředcích. Vyberte modul runtime pomocí rozevírací nabídky Verze modulu Databricks Runtime. Podrobnosti o konkrétních verzích databricks Runtime najdete v poznámkách k verzi Databricks Runtime a jejich kompatibilitě. Všechny verze zahrnují Apache Spark. Databricks doporučuje následující:

  • Pro všechny účely výpočetních prostředků použijte nejnovější verzi, abyste měli jistotu, že máte nejnovější optimalizace a nejaktuálnější kompatibilitu mezi kódem a předinstalovanými balíčky.
  • U úloh, které spouští provozní úlohy, zvažte použití verze Databricks Runtime (LTS) Long Term Support (LTS). Použití verze LTS zajistí, že narazíte na problémy s kompatibilitou a před upgradem můžete důkladně otestovat úlohu.
  • V případě případů použití datových věd a strojového učení zvažte verzi Databricks Runtime ML.

Použití akcelerace Photon

Photon je ve výchozím nastavení povolený pro výpočty, na kterých běží Databricks Runtime 9.1 LTS a novější.

Pokud chcete povolit nebo zakázat akceleraci Photon, zaškrtněte políčko Použít akceleraci photon. Další informace o Photonu najdete v tématu Co je Photon?

Typy uzlů pracovních procesů a ovladačů

Výpočetní prostředky se skládají z jednoho uzlu ovladače a nuly nebo více pracovních uzlů. Pro ovladače a pracovní uzly můžete vybrat samostatné typy instancí poskytovatele cloudu, ale ve výchozím nastavení používá uzel ovladače stejný typ instance jako pracovní uzel. Různé rodiny typů instancí odpovídají různým případům použití, jako jsou úlohy náročné na paměť nebo úlohy náročné na výpočetní výkon.

Můžete také vybrat fond, který se má použít jako pracovní uzel nebo uzel ovladače. Podívejte se, co jsou fondy Azure Databricks?

Typ pracovníka

Ve výpočetních prostředcích s více uzly spouští pracovní uzly exekutory Sparku a další služby potřebné pro správné fungování výpočetních prostředků. Když distribuujete úlohu pomocí Sparku, veškeré distribuované zpracování probíhá na pracovních uzlech. Azure Databricks spustí jeden exekutor na pracovní uzel. Termíny exekutor a pracovní proces se proto používají zaměnitelně v kontextu architektury Databricks.

Tip

Ke spuštění úlohy Sparku potřebujete aspoň jeden pracovní uzel. Pokud výpočetní prostředky mají nulové pracovní procesy, můžete na uzlu ovladače spustit příkazy bez Sparku, ale příkazy Sparku selžou.

IP adresy pracovních uzlů

Azure Databricks spouští pracovní uzly se dvěma privátními IP adresami. Primární privátní IP adresa uzlu hostuje interní provoz Azure Databricks. Sekundární privátní IP adresu používá kontejner Sparku pro komunikaci uvnitř clusteru. Tento model umožňuje Službě Azure Databricks poskytovat izolaci mezi několika výpočetními prostředky ve stejném pracovním prostoru.

Typ ovladače

Uzel ovladače udržuje informace o stavu všech poznámkových bloků připojených k výpočetním prostředkům. Uzel ovladače také udržuje SparkContext, interpretuje všechny příkazy, které spouštíte z poznámkového bloku nebo knihovny na výpočetních prostředcích, a spouští hlavní server Apache Spark, který koordinuje s exekutory Sparku.

Výchozí hodnota typu uzlu ovladače je stejná jako hodnota typu pracovního uzlu. Pokud plánujete velké collect() množství dat z pracovních procesů Sparku, můžete zvolit větší typ uzlu ovladače s větší pamětí a analyzovat je v poznámkovém bloku.

Tip

Vzhledem k tomu, že uzel ovladače udržuje všechny informace o stavu připojených poznámkových bloků, nezapomeňte odpojit nepoužívané poznámkové bloky z uzlu ovladače.

Typy instancí GPU

Pro výpočetně náročné úlohy, které vyžadují vysoký výkon, jako jsou úlohy spojené s hloubkovým učením, podporuje Azure Databricks výpočetní akcelerované pomocí grafických procesorů (GPU). Další informace najdete v tématu Výpočetní výkon s podporou GPU.

Důvěrné výpočetní virtuální počítače Azure

Typy důvěrných výpočetních virtuálních počítačů Azure brání neoprávněnému přístupu k datům, když se používají, včetně operátora cloudu. Tento typ virtuálního počítače je výhodný pro vysoce regulovaná odvětví a oblasti a také pro firmy s citlivými daty v cloudu. Další informace o důvěrných výpočetních prostředcích Azure najdete v tématu Důvěrné výpočetní prostředí Azure.

Pokud chcete spouštět úlohy pomocí důvěrných výpočetních virtuálních počítačů Azure, vyberte z typů virtuálních počítačů řady DC nebo EC v rozevíracích uzlu pracovního procesu a ovladače. Viz možnosti důvěrného virtuálního počítače Azure.

Spotové instance

Pokud chcete ušetřit náklady, můžete použít spotové instance, označované také jako spotové virtuální počítače Azure, zaškrtnutím políčka Spotové instance.

Konfigurace spotu

První instance bude vždy na vyžádání (uzel ovladače je vždy na vyžádání) a následné instance budou spotové instance.

Pokud se instance vyřazuje z důvodu nedostupnosti, Azure Databricks se pokusí získat nové spotové instance, které nahradí vyřazené instance. Pokud spotové instance nelze získat, nasadí se instance na vyžádání, aby nahradily vyřazené instance. Když se navíc do stávajících výpočetních prostředků přidají nové uzly, Azure Databricks se pokusí získat spotové instance pro tyto uzly.

Povolení automatického škálování

Když je zaškrtnuté políčko Povolit automatické škálování , můžete pro výpočetní prostředky zadat minimální a maximální počet pracovních procesů. Databricks pak zvolí odpovídající počet pracovních procesů potřebných ke spuštění úlohy.

Pokud chcete nastavit minimální a maximální počet pracovních procesů, mezi které budou výpočetní prostředky automaticky škálovat, použijte pole Minimální pracovní procesy a Maximální počet pracovních procesů vedle rozevíracího seznamu Typ pracovního procesu.

Pokud automatické škálování nepovolíte, zadáte do pole Pracovní procesy vedle rozevíracího seznamu Typ pracovního procesu pevný počet pracovních procesů.

Poznámka:

Po spuštění výpočetních prostředků se na stránce s podrobnostmi o výpočetních prostředcích zobrazí počet přidělených pracovních procesů. Počet přidělených pracovních procesů můžete porovnat s konfigurací pracovního procesu a podle potřeby provádět úpravy.

Výhody automatického škálování

Díky automatickému škálování Azure Databricks dynamicky relokuje pracovní procesy, aby zohlednily charakteristiky vaší úlohy. Některé části kanálu můžou být výpočetně náročnější než ostatní a Databricks během těchto fází vaší úlohy automaticky přidá další pracovní procesy (a odebere je, když už nejsou potřeba).

Automatické škálování usnadňuje dosažení vysokého využití, protože nemusíte zřizovat výpočetní prostředky tak, aby odpovídaly úloze. To platí zejména pro úlohy, jejichž požadavky se v průběhu času mění (například zkoumání datové sady v průběhu dne), ale může se také vztahovat na jednorázovou kratší úlohu, jejíž požadavky na zřizování jsou neznámé. Automatické škálování tak nabízí dvě výhody:

  • Úlohy můžou běžet rychleji v porovnání s nedostatečně zřízenými výpočetními prostředky s konstantní velikostí.
  • Automatické škálování může snížit celkové náklady v porovnání se staticky velkými výpočetními prostředky.

V závislosti na konstantní velikosti výpočetních prostředků a úloh nabízí automatické škálování jednu nebo obě tyto výhody současně. Velikost výpočetních prostředků může být nižší než minimální počet pracovních procesů vybraných při ukončení instancí poskytovatelem cloudu. V tomto případě Azure Databricks neustále opakuje pokusy o opětovné zřízení instancí, aby se zachoval minimální počet pracovních procesů.

Poznámka:

Automatické škálování není dostupné pro úlohy spark-submit.

Poznámka:

Automatické škálování výpočetních prostředků má omezení vertikálního snížení kapacity clusteru pro úlohy strukturovaného streamování. Databricks doporučuje pro úlohy streamování používat kanály Delta Live Table s rozšířeným automatickým škálováním. Viz Optimalizace využití clusteru kanálů Delta Live Tables s využitím rozšířeného automatického škálování.

Jak se chová automatické škálování

Pracovní prostor v cenových plánech Premium a Enterprise využívá optimalizované automatické škálování. Pracovní prostory ve standardním cenovém plánu používají standardní automatické škálování.

Optimalizované automatické škálování má následující charakteristiky:

  • Vertikálně navyšuje kapacitu z min na maximum v 2 krocích.
  • Můžete vertikálně snížit kapacitu, i když výpočetní prostředky nejsou nečinné, a to tak, že se podíváte na stav shuffle souboru.
  • Škáluje se dolů na základě procenta aktuálních uzlů.
  • Při výpočetních prostředcích úlohy se vertikálně navyšují kapacitu, pokud je výpočetní výkon za posledních 40 sekund nedostatečně využitý.
  • U výpočetních prostředků pro všechny účely se vertikálně navyšují kapacitu, pokud je výpočetní prostředky nedostatečně využité za posledních 150 sekund.
  • spark.databricks.aggressiveWindowDownS Vlastnost konfigurace Sparku určuje v sekundách, jak často výpočetní výkon rozhoduje o snížení kapacity. Zvýšení hodnoty způsobí snížení kapacity výpočetních prostředků pomaleji. Maximální hodnota je 600.

Standardní automatické škálování se používá v pracovních prostorech standardního plánu. Standardní automatické škálování má následující charakteristiky:

  • Začíná přidáním 8 uzlů. Pak vertikálně navyšte kapacitu exponenciálním způsobem a proveďte tolik kroků, kolik je potřeba k dosažení maximálního počtu kroků.
  • Vertikálně se zvětší, když 90 % uzlů není zaneprázdněno 10 minut a výpočetní prostředky jsou nečinné nejméně na 30 sekund.
  • Vertikálně se zvětšuje exponenciálně, počínaje 1 uzlem.

Automatické škálování pomocí fondů

Pokud připojujete výpočetní prostředky k fondu, zvažte následující:

  • Ujistěte se, že požadovaná velikost výpočetních prostředků je menší nebo rovna minimálnímu počtu nečinných instancí ve fondu. Pokud je větší, výpočetní doba spuštění bude ekvivalentní výpočetnímu výkonu, který nepoužívá fond.
  • Ujistěte se, že maximální velikost výpočetních prostředků je menší nebo rovna maximální kapacitě fondu. Pokud je větší, vytvoření výpočetních prostředků selže.

Příklad automatického škálování

Pokud změníte konfiguraci statického výpočetního prostředí na automatické škálování, Azure Databricks okamžitě změní velikost výpočetních prostředků v rámci minimální a maximální hranice a pak spustí automatické škálování. Následující tabulka například ukazuje, co se stane s výpočetním výkonem s určitou počáteční velikostí, pokud překonfigurujete výpočetní prostředky tak, aby se automaticky škálovat mezi 5 a 10 uzly.

Počáteční velikost Velikost po rekonfiguraci
6 6
12 10
3 5

Povolení automatického škálování místního úložiště

Často může být obtížné odhadnout, kolik místa na disku bude konkrétní úloha trvat. Pokud chcete ušetřit, abyste nemuseli odhadnout, kolik gigabajtů spravovaného disku se má připojit k výpočetním prostředkům při vytváření, Azure Databricks automaticky umožňuje automatické škálování místního úložiště na všech výpočetních prostředcích Azure Databricks.

Díky automatickému škálování místního úložiště azure Databricks monitoruje množství volného místa na disku dostupném u pracovních procesů Spark vašeho výpočetního prostředí. Pokud pracovní proces začne na disku běžet příliš málo, Databricks automaticky připojí nový spravovaný disk k pracovnímu procesu před vyčerpáním místa na disku. Disky jsou připojené až k limitu 5 TB celkového místa na disku na virtuální počítač (včetně počátečního místního úložiště virtuálního počítače).

Spravované disky připojené k virtuálnímu počítači se odpojily jenom v případech, kdy se virtuální počítač vrátí do Azure. To znamená, že spravované disky se nikdy neodpojí od virtuálního počítače, pokud jsou součástí spuštěného výpočetního prostředí. Pokud chcete snížit využití spravovaných disků, Azure Databricks doporučuje používat tuto funkci ve výpočetních prostředcích nakonfigurovaných s automatickým škálováním výpočetních prostředků nebo automatickým ukončením.

Šifrování místního disku

Důležité

Tato funkce je ve verzi Public Preview.

Některé typy instancí, které používáte ke spouštění výpočetních prostředků, můžou mít místně připojené disky. Azure Databricks může ukládat data prohazování nebo dočasné data na těchto místně připojených discích. Pokud chcete zajistit, aby všechna neaktivní uložená data byla zašifrována pro všechny typy úložišť, včetně dat prohazování uložených dočasně na místních discích výpočetních prostředků, můžete povolit šifrování místního disku.

Důležité

Vaše úlohy můžou běžet pomaleji kvůli dopadu čtení a zápisu šifrovaných dat do místních svazků a z místních svazků.

Když je povolené šifrování místního disku, Azure Databricks generuje místně šifrovací klíč, který je jedinečný pro každý výpočetní uzel a slouží k šifrování všech dat uložených na místních discích. Rozsah klíče je místní pro každý výpočetní uzel a je zničen spolu s samotným výpočetním uzlem. Během své životnosti se klíč nachází v paměti pro šifrování a dešifrování a je uložen zašifrovaný na disku.

Pokud chcete povolit šifrování místního disku, musíte použít rozhraní API clusterů. Při vytváření nebo úpravách výpočetních prostředků je nastavena hodnota enable_local_disk_encryptiontrue.

Automatické ukončení

Automatické ukončení výpočetních prostředků můžete nastavit. Během vytváření výpočetních prostředků zadejte období nečinnosti v minutách, po kterém se má výpočetní výkon ukončit.

Pokud je rozdíl mezi aktuálním časem a posledním spuštěním příkazu na výpočetních prostředcích větší než zadané období nečinnosti, Azure Databricks tento výpočetní výkon automaticky ukončí. Další informace o ukončení výpočetních prostředků najdete v tématu Ukončení výpočetních prostředků.

Značky

Značky umožňují snadno monitorovat náklady na cloudové prostředky používané různými skupinami ve vaší organizaci. Při vytváření výpočetních prostředků zadejte značky jako páry klíč-hodnota a Azure Databricks tyto značky použije na cloudové prostředky, jako jsou virtuální počítače a diskové svazky, a také sestavy využití DBU.

U výpočetních prostředků spuštěných z fondů se vlastní značky použijí jenom na sestavy využití DBU a nešírují se do cloudových prostředků.

Podrobné informace o tom, jak společně fungují typy značek fondů a výpočetních prostředků, najdete v tématu Monitorování využití pomocí značek.

Přidání značek do výpočetních prostředků:

  1. V části Značky přidejte pár klíč-hodnota pro každou vlastní značku.
  2. Klikněte na tlačítko Přidat.

Konfigurace Sparku

Pokud chcete ladit úlohy Sparku, můžete zadat vlastní vlastnosti konfigurace Sparku.

  1. Na stránce konfigurace výpočetních prostředků klikněte na přepínač Upřesnit možnosti .

  2. Klikněte na kartu Spark .

    Konfigurace Sparku

    V konfiguraci Sparku zadejte vlastnosti konfigurace jako jeden pár klíč-hodnota na řádek.

Při konfiguraci výpočetních prostředků pomocí rozhraní API clusterů nastavte vlastnosti Sparku v spark_conf poli v rozhraní API pro vytvoření clusteru nebo aktualizovat rozhraní API clusteru.

K vynucování konfigurací Sparku na výpočetních prostředcích můžou správci pracovního prostoru používat zásady výpočetních prostředků.

Načtení vlastnosti konfigurace Sparku z tajného kódu

Databricks doporučuje ukládat citlivé informace, jako jsou hesla, v tajném kódu místo prostého textu. Pokud chcete odkazovat na tajný klíč v konfiguraci Sparku, použijte následující syntaxi:

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

Pokud například chcete nastavit vlastnost konfigurace Sparku volanou password na hodnotu tajného kódu uloženého v secrets/acme_app/password:

spark.password {{secrets/acme-app/password}}

Další informace najdete v tématu Syntaxe pro odkazování na tajné kódy ve vlastnosti konfigurace Sparku nebo proměnné prostředí.

Přístup SSH k výpočetním prostředkům

Z bezpečnostních důvodů se v Azure Databricks ve výchozím nastavení port SSH zavře. Pokud chcete povolit přístup SSH ke svým clusterům Spark, přečtěte si téma SSH k uzlu ovladače.

Poznámka:

SSH je možné povolit jenom v případě, že je váš pracovní prostor nasazený ve vaší vlastní virtuální síti Azure.

Proměnné prostředí

Nakonfigurujte vlastní proměnné prostředí, ke kterým máte přístup z inicializačních skriptů spuštěných na výpočetních prostředcích . Databricks také poskytuje předdefinované proměnné prostředí, které můžete použít v inicializačních skriptech. Tyto předdefinované proměnné prostředí nelze přepsat.

  1. Na stránce konfigurace výpočetních prostředků klikněte na přepínač Upřesnit možnosti .

  2. Klikněte na kartu Spark .

  3. Nastavte proměnné prostředí v poli Proměnné prostředí.

    Pole Proměnné prostředí

Proměnné prostředí můžete také nastavit pomocí spark_env_vars pole v rozhraní API pro vytvoření clusteru nebo aktualizovat rozhraní API clusteru.

Doručování výpočetních protokolů

Při vytváření výpočetních prostředků můžete zadat umístění pro doručování protokolů pro uzel ovladače Sparku, pracovní uzly a události. Protokoly se doručují každých pět minut a archivují se každou hodinu ve zvoleném cíli. Když se výpočetní prostředky ukončí, Azure Databricks zaručuje doručení všech protokolů vygenerovaných až do ukončení výpočetních prostředků.

Cíl protokolů závisí na výpočetních prostředcích cluster_id. Pokud je dbfs:/cluster-log-deliveryzadaný cíl, doručí se dbfs:/cluster-log-delivery/0630-191345-leap375do výpočetních protokolů 0630-191345-leap375 .

Konfigurace umístění doručení protokolu:

  1. Na stránce výpočetních prostředků klikněte na přepínač Upřesnit možnosti .
  2. Klikněte na kartu Protokolování .
  3. Vyberte typ cíle.
  4. Zadejte cestu k výpočetnímu protokolu.

Poznámka:

Tato funkce je také k dispozici v rozhraní REST API. Podívejte se na rozhraní API clusterů.