Použití výpočetních prostředků Azure Databricks s úlohami

Když spustíte úlohu Azure Databricks, úlohy nakonfigurované jako součást úlohy běží na výpočetních prostředcích Azure Databricks, ať už bezserverové výpočetní prostředky, cluster nebo SQL Warehouse v závislosti na typu úlohy. Při zprovoznění úlohy je důležité vybrat typ výpočetních prostředků a možnosti konfigurace. Tento článek obsahuje doporučení pro používání výpočetních prostředků Azure Databricks ke spouštění úloh.

Další informace o používání bezserverových výpočetních prostředků s úlohami Azure Databricks najdete v tématu Spuštění úlohy Azure Databricks s bezserverovými výpočetními prostředky pro pracovní postupy.

Poznámka:

Tajné kódy nejsou redactovány z protokolu stdoutstderr a streamů ovladačů Spark clusteru. Aby bylo možné chránit citlivá data, protokoly ovladačů Sparku se ve výchozím nastavení dají zobrazit jenom uživatelům s oprávněním CAN MANAGE pro úlohu, režim přístupu jednoho uživatele a clustery režimu sdíleného přístupu. Chcete-li uživatelům, kteří mají oprávnění PŘIPOJIT SE K nebo MŮŽE RESTARTOVAT, můžete zobrazit protokoly v těchto clusterech, nastavte v konfiguraci clusteru následující vlastnost konfigurace Sparku: spark.databricks.acl.needAdminPermissionToViewLogs false

V clusterech s režimem sdíleného přístupu bez izolace můžou uživatelé zobrazit protokoly ovladačů Spark s oprávněním PŘIPOJIT NEBO MOHOU SPRAVOVAT. Chcete-li omezit, kdo může číst protokoly pouze uživatelům s oprávněním CAN MANAGE, nastavte na truehodnotu spark.databricks.acl.needAdminPermissionToViewLogs .

Informace o přidání vlastností Sparku do konfigurace clusteru najdete v konfiguraci Sparku.

Použití clusterů sdílených úloh

Pokud chcete optimalizovat využití prostředků s úlohami, které orchestrují více úloh, použijte clustery sdílených úloh. Cluster sdílených úloh umožňuje opakované použití clusteru několika úloh ve stejné úloze. Pomocí jednoho clusteru úloh můžete spouštět všechny úlohy, které jsou součástí úlohy, nebo několik clusterů úloh optimalizovaných pro konkrétní úlohy. Použití clusteru sdílených úloh:

  1. Při vytváření úlohy vyberte Nové clustery úloh a dokončete konfiguraci clusteru.
  2. Při přidávání úlohy do úlohy vyberte nový cluster nebo vytvořte nový cluster úloh. Každý cluster, který nakonfigurujete, když vyberete Nové clustery úloh, je k dispozici pro všechny úlohy v úloze.

Cluster sdílených úloh je vymezený na jeden spuštění úlohy a nemůže ho používat jiné úlohy ani spuštění stejné úlohy.

Knihovny nelze deklarovat v konfiguraci clusteru sdílených úloh. V nastavení úloh musíte přidat závislé knihovny.

Volba správného typu clusteru pro vaši úlohu

  • Nové clustery úloh jsou vyhrazené clustery pro spuštění úlohy nebo úlohy. Cluster sdílených úloh se vytvoří a spustí při prvním spuštění úlohy pomocí clusteru a ukončí se po dokončení poslední úlohy pomocí clusteru. Cluster není ukončen při nečinnosti, ale až po dokončení všech úloh. Pokud cluster sdílených úloh selže nebo je ukončen před dokončením všech úkolů, vytvoří se nový cluster. Cluster vymezený na jeden úkol se vytvoří a spustí při spuštění a ukončení úkolu po dokončení úkolu. V produkčním prostředí doporučuje Databricks používat nové sdílené clustery nebo clustery s oborem úloh, aby každá úloha nebo úloha běžela v plně izolovaném prostředí.
  • Když spustíte úlohu v novém clusteru, bude úloha považována za úlohu přípravy dat (úlohu) v závislosti na cenách úloh úloh. Když spustíte úlohu v existujícím clusteru pro všechny účely, bude úloha považována za úlohu analýzy dat (pro všechny účely) a bude podléhat cenám úloh pro všechny účely.
  • Pokud vyberete ukončený existující cluster a vlastník úlohy má oprávnění RESTARTOVAT, Azure Databricks spustí cluster, když je naplánované spuštění úlohy.
  • Stávající clustery pro všechny účely fungují nejlépe pro úlohy, jako je aktualizace řídicích panelů v pravidelných intervalech.

Použití fondu ke zkrácení doby spuštění clusteru

Pokud chcete zkrátit čas spuštění nového clusteru úloh, vytvořte fond a nakonfigurujte cluster úlohy tak, aby fond používal.