Sdílet prostřednictvím


Optimalizace využití clusterů kanálů DLT s vylepšeným automatickým škálováním

Tento článek popisuje, jak pomocí rozšířeného automatického škálování optimalizovat kanály DLT v Azure Databricks.

Vylepšené automatické škálování je ve výchozím nastavení povolené pro všechny nové kanály.

U bezserverových kanálů je rozšířené automatické škálování vždy zapnuté a není možné ho zakázat. Viz Konfigurace bezserverového kanálu DLT.

Co je vylepšené automatické škálování?

Vylepšené automatické škálování Databricks optimalizuje využití clusteru automatickým přidělováním prostředků clusteru na základě svazku úloh s minimálním dopadem na latenci zpracování dat vašich kanálů.

Vylepšené automatické škálování vylepšuje funkce automatického škálování clusteru Azure Databricks s následujícími funkcemi:

  • Vylepšené automatické škálování implementuje optimalizaci úloh streamování a přidává vylepšení pro zlepšení výkonu dávkových úloh. Vylepšené automatické škálování optimalizuje náklady přidáním nebo odebráním počítačů při změnách úloh.
  • Vylepšené automatické škálování proaktivně vypne nevyužité uzly a zaručuje, že během vypínání nejsou žádné neúspěšné úlohy. Stávající funkce automatického škálování clusteru vertikálně navyšuje kapacitu uzlů pouze v případě, že je uzel nečinný.

Vylepšené automatické škálování je výchozí režim automatického škálování při vytváření nového kanálu v uživatelském rozhraní DLT. Rozšířené automatické škálování pro existující kanály můžete povolit úpravou nastavení kanálu v uživatelském rozhraní. Rozšířené automatické škálování můžete také povolit při vytváření nebo úpravách kanálů pomocí rozhraní DLLT API.

Které metriky vylepšené automatické škálování používají k rozhodování o vertikálním navýšení nebo snížení kapacity?

Vylepšené automatické škálování využívá dvě metriky k rozhodování o vertikálním navýšení nebo snížení kapacity:

  • využití slotu úloh: Jedná se o průměrný poměr počtu zaneprázdněných slotů úkolů k celkovým slotům úloh dostupným vclusteru .
  • velikost fronty úloh: Jedná se o počet úkolů čekajících na spuštění v slotech úloh.

Povolení rozšířeného automatického škálování pro kanál DLT

Vylepšené automatické škálování je výchozí režim automatického škálování při vytváření nového kanálu v uživatelském rozhraní DLT. Rozšířené automatické škálování pro existující kanály můžete povolit úpravou nastavení kanálu v uživatelském rozhraní. Rozšířené automatické škálování můžete také povolit při vytváření nebo úpravě kanálu pomocí rozhraní DLT API.

Pokud chcete použít vylepšené automatické škálování, udělejte jednu z těchto věcí:

  • Nastavte režim clusteru na rozšířené autoskalování při vytváření nebo úpravě pipeline v uživatelském rozhraní DLT.
  • Přidejte nastavení autoscale do konfigurace clusteru kanálu a nastavte pole mode na ENHANCED. Viz Konfigurace výpočetních prostředků prokanálu DLT .

Při konfiguraci rozšířeného automatického škálování pro produkční kanály použijte následující pokyny:

  • Ponechte výchozí nastavení Min workers.
  • Nastavte nastavení Max workers na hodnotu podle rozpočtu a priority pipeline.

Následující příklad nakonfiguruje vylepšený klastr automatického škálování s minimálním počtem 5 pracovníků a maximálním počtem 10 pracovníků. max_workers musí být větší nebo roven min_workers.

Poznámka

  • Rozšířené automatické škálování je dostupné jenom pro clustery updates. Starší automatické škálování se používá pro clustery maintenance.
  • Konfigurace autoscale má dva režimy:
    • LEGACY: Použijte automatické škálování clusteru .
    • ENHANCED: Použijte vylepšené automatické škálování.
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Pokud je kanál nakonfigurovaný pro průběžné spouštění, po změně konfigurace automatického škálování se automaticky restartuje. Po restartování očekáváme krátkou dobu zvýšené latence. Po uplynutí tohoto krátkého období zvýšené latence by se měla velikost clusteru aktualizovat na základě vaší konfigurace autoscale a latence kanálu by se měla vrátit k předchozím charakteristikám latence.

Omezení nákladů na kanály, které používají vylepšené automatické škálování

Poznámka

Pracovníky nelze konfigurovat pro bezserverové pipeliny.

Nastavení parametru Max pracovníků v podokně Výpočet kanálu nastaví horní mez automatického škálování. Snížení počtu dostupných pracovníků může zvýšit latenci u některých úloh, ale zabraňuje nárůstu nákladů na výpočetní prostředky během operací náročných na výpočetní výkon.

Databricks doporučuje vyladit nastavení Maximální počet pracovníků, aby se vyrovnaly kompromisy mezi náklady a latencí pro vaše konkrétní potřeby.

podokno Výpočty v uživatelském rozhraní Pipelines, kde můžete nastavit maximální počet pracovníků pro automatické škálování

Monitorování rozšířených klasických kanálů s povoleným automatickým škálováním

Protokol událostí v uživatelském rozhraní DLT můžete použít k monitorování rozšířených metrik automatického škálování pro klasické kanály. Události rozšířeného automatického škálování mají typ události autoscale. Následuje příklad událostí:

Událost Zpráva
Žádost o změnu velikosti clusteru se spustila. Scaling [up or down] to <y> executors from current cluster size of <x>
Žádost o změnu velikosti clusteru byla úspěšná. Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
Žádost o změnu velikosti clusteru byla částečně úspěšná. Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
Žádost o změnu velikosti clusteru se nezdařila. Achieved cluster size <x> for cluster <cluster-id> with status FAILED

Rozšířené události automatického škálování můžete zobrazit také přímým dotazováním protokolu událostí: