Använda Azure Databricks-beräkning med dina jobb

När du kör ett Azure Databricks-jobb körs de uppgifter som konfigurerats som en del av jobbet på Azure Databricks-beräkning, antingen serverlös beräkning, ett kluster eller ett SQL-lager, beroende på aktivitetstyp. Det är viktigt att välja beräkningstyp och konfigurationsalternativ när du operationaliserar ett jobb. Den här artikeln innehåller rekommendationer för hur du använder Azure Databricks-beräkningsresurser för att köra dina jobb.

Mer information om hur du använder serverlös beräkning med dina Azure Databricks-jobb finns i Köra ditt Azure Databricks-jobb med serverlös beräkning för arbetsflöden.

Kommentar

Hemligheter redigeras inte från ett klusters Spark-drivrutinslogg stdout och stderr -strömmar. För att skydda känsliga data kan Spark-drivrutinsloggar som standard endast visas av användare med CAN MANAGE-behörighet för jobb, åtkomstläge för en användare och kluster för delat åtkomstläge. Om du vill tillåta användare med behörigheten CAN ATTACH TO eller CAN RESTART att visa loggarna i dessa kluster anger du följande Spark-konfigurationsegenskap i klusterkonfigurationen: spark.databricks.acl.needAdminPermissionToViewLogs false.

På kluster för delat åtkomstläge utan isolering kan Spark-drivrutinsloggarna visas av användare med behörigheten KAN KOPPLA TILL eller KAN HANTERA. Om du vill begränsa vem som kan läsa loggarna till endast användare med behörigheten CAN MANAGE anger du spark.databricks.acl.needAdminPermissionToViewLogs till true.

Se Spark-konfiguration för att lära dig hur du lägger till Spark-egenskaper i en klusterkonfiguration.

Använda delade jobbkluster

Om du vill optimera resursanvändningen med jobb som samordnar flera uppgifter använder du delade jobbkluster. Med ett delat jobbkluster kan flera aktiviteter i samma jobb köras för att återanvända klustret. Du kan använda ett enda jobbkluster för att köra alla uppgifter som ingår i jobbet eller flera jobbkluster som är optimerade för specifika arbetsbelastningar. Så här använder du ett delat jobbkluster:

  1. Välj Nya jobbkluster när du skapar en uppgift och slutför klusterkonfigurationen.
  2. Välj det nya klustret när du lägger till en uppgift i jobbet eller skapa ett nytt jobbkluster. Alla kluster som du konfigurerar när du väljer Nya jobbkluster är tillgängliga för alla aktiviteter i jobbet.

Ett delat jobbkluster är begränsat till en enda jobbkörning och kan inte användas av andra jobb eller körningar av samma jobb.

Bibliotek kan inte deklareras i en klusterkonfiguration för delat jobb. Du måste lägga till beroende bibliotek i aktivitetsinställningarna.

Välj rätt klustertyp för jobbet

  • Nya jobbkluster är dedikerade kluster för ett jobb eller en aktivitetskörning. Ett delat jobbkluster skapas och startas när den första uppgiften med klustret startar och avslutas efter att den sista uppgiften med klustret har slutförts. Klustret avslutas inte när det är inaktivt utan bara när alla uppgifter har slutförts. Om ett delat jobbkluster misslyckas eller avslutas innan alla aktiviteter har slutförts skapas ett nytt kluster. Ett kluster som är begränsat till en enskild uppgift skapas och startas när aktiviteten startar och avslutas när aktiviteten är klar. I produktion rekommenderar Databricks att du använder nya delade kluster eller aktivitetsomfångskluster så att varje jobb eller aktivitet körs i en helt isolerad miljö.
  • När du kör en aktivitet i ett nytt kluster behandlas uppgiften som en arbetsbelastning för datateknik (uppgift), med förbehåll för prissättningen för uppgiftsarbetsbelastningen. När du kör en aktivitet i ett befintligt kluster för alla syften behandlas uppgiften som en arbetsbelastning för dataanalys (all-purpose) som omfattas av prissättning för arbetsbelastningar för alla syften.
  • Om du väljer ett avslutat befintligt kluster och jobbägaren har behörigheten CAN RESTART startar Azure Databricks klustret när jobbet är schemalagt att köras.
  • Befintliga kluster för alla syften fungerar bäst för uppgifter som att uppdatera instrumentpaneler med jämna mellanrum.

Använda en pool för att minska starttiderna för kluster

Om du vill minska starttiden för det nya jobbklustret skapar du en pool och konfigurerar jobbets kluster för att använda poolen.