Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące puli

W tym artykule wyjaśniono, jakie pule są i jak najlepiej je skonfigurować. Aby uzyskać informacje na temat tworzenia puli, zobacz Dokumentacja konfiguracji puli.

Uwaga

Jeśli obciążenie obsługuje przetwarzanie bezserwerowe, usługa Databricks zaleca używanie bezserwerowych obliczeń zamiast pul, aby korzystać z zawsze włączonego, skalowalnego środowiska obliczeniowego. Zobacz Connect to serverless compute (Nawiązywanie połączenia z bezserwerową obliczeniami).

Zagadnienia dotyczące puli

Podczas tworzenia puli należy wziąć pod uwagę następujące kwestie:

  • Tworzenie pul przy użyciu typów wystąpień i środowisk uruchomieniowych usługi Azure Databricks na podstawie obciążeń docelowych.
  • Jeśli to możliwe, wypełnij pule wystąpieniami typu spot, aby zmniejszyć koszty. Używaj tylko pul typu spot jako węzłów procesu roboczego. Węzeł sterownika powinien używać wystąpień na żądanie.
  • Wypełnij pule wystąpieniami na żądanie dla zadań z krótkim czasem wykonywania i rygorystycznymi wymaganiami dotyczącymi czasu wykonywania.
  • Użyj tagów puli i tagów klastra do zarządzania rozliczeniami.
  • Wstępnie wypełnij pule, aby upewnić się, że wystąpienia są dostępne, gdy klastry ich potrzebują.

Tworzenie pul na podstawie obciążeń

Czas pozyskiwania wystąpienia można zminimalizować, tworząc pulę dla każdego typu wystąpienia i środowiska uruchomieniowego usługi Azure Databricks, którego organizacja często używa. Jeśli na przykład większość klastrów inżynierii danych używa typu A, klastry nauki o danych używają typu wystąpienia B, a klastry analityczne używają typu wystąpienia C, utwórz pulę z każdym typem wystąpienia.

Korzystanie z pul wystąpień typu spot

Jeśli węzeł sterownika i węzły robocze mają inne wymagania, użyj różnych pul dla każdego z nich.

Usługa Azure Databricks zaleca, aby nie używać wystąpień typu spot dla węzła sterownika. Jeśli używasz puli typu spot dla węzła roboczego, wybierz pulę na żądanie jako typ sterownika.

Skonfiguruj pule do używania wystąpień na żądanie dla zadań z krótkim czasem wykonywania i rygorystycznymi wymaganiami dotyczącymi czasu wykonywania. Użyj wystąpień na żądanie, aby zapobiec utracie pozyskanych wystąpień na wyższym oferentu na rynku spot.

Skonfiguruj pule tak, aby korzystały z wystąpień typu spot dla klastrów obsługujących interaktywne programowanie lub zadania, które priorytetują oszczędności kosztów w porównaniu z niezawodnością.

Tagowanie pul do zarządzania kosztami i rozliczeniami

Tagowanie pul do odpowiedniego centrum kosztów umożliwia zarządzanie kosztami i obciążeniem zwrotnym użycia. Do skojarzenia wielu centrów kosztów z pulą można użyć wielu tagów niestandardowych. Ważne jest jednak, aby zrozumieć, jak tagi są propagowane podczas tworzenia klastra na podstawie pul. Tagi z pul są propagowane do bazowych wystąpień dostawcy usług w chmurze, ale tagi klastra nie są. Zastosuj wszystkie tagi niestandardowe wymagane do zarządzania obciążeniem zwrotnym kosztu obliczeniowego dostawcy usług w chmurze w puli.

Tagi puli i tagi klastra są propagowane do rozliczeń usługi Azure Databricks. Możesz użyć kombinacji tagów klastra i puli do zarządzania obciążeniami zwrotnymi jednostek usługi Azure Databricks.

Aby dowiedzieć się więcej, zobacz Monitorowanie użycia przy użyciu tagów.

Konfigurowanie pul w celu kontrolowania kosztów

.. azure-aws:

You can use the following configuration options to help control the cost of pools:

- Set the [Min Idle](/compute/pools.md#minimum-idle-instances) instances to 0 to avoid paying for running instances that aren’t doing work. The tradeoff is a possible increase in time when a cluster needs to acquire a new instance.
- Set the [Max Capacity](/compute/pools.md#maximum-capacity) based on anticipated usage. This sets the ceiling for the maximum number of used and idle instances in the pool. If a job or cluster requests an instance from a pool at its maximum capacity, the request fails, and the cluster doesn't acquire more instances. Therefore, Databricks recommends that you set the maximum capacity only if there is a strict instance quota or budget constraint.
- Set the [Idle Instance Auto Termination](/compute/pools.md#idle-instance-auto-termination) time to provide a buffer between when the instance is released from the cluster and when it’s dropped from the pool. Set this to a period that allows you to minimize cost while ensuring the availability of instances for scheduled jobs. For example, job A is scheduled to run at 8:00 AM and takes 40 minutes to complete. Job B is scheduled to run at 9:00 AM and takes 30 minutes to complete. Set the Idle Instance Auto Termination value to 20 minutes to ensure that instances returned to the pool when job A completes are available when job B starts. Unless they are claimed by another cluster, those instances are terminated 20 minutes after job B ends.

Wstępnie wypełnione pule

Aby korzystać w pełni z pul, możesz wstępnie wypełnić nowo utworzone pule. Ustaw minimalną liczbę wystąpień bezczynności większą niż zero w konfiguracji puli. Alternatywnie, jeśli wykonasz zalecenie, aby ustawić tę wartość na zero, użyj zadania początkowego, aby upewnić się, że nowo utworzone pule mają dostępne wystąpienia dla klastrów w celu uzyskania dostępu.

W przypadku podejścia do zadania początkowego zaplanuj zadanie z elastycznymi wymaganiami dotyczącymi czasu wykonywania, które mają być uruchamiane przed zadaniami z bardziej rygorystycznymi wymaganiami dotyczącymi wydajności lub zanim użytkownicy zaczną korzystać z klastrów interaktywnych. Po zakończeniu zadania wystąpienia używane do zadania są zwalniane z powrotem do puli. Ustaw ustawienie Minimalna liczba wystąpień bezczynności na wartość 0 i ustaw wystarczająco wysoki czas automatycznego zakończenia bezczynności wystąpienia, aby upewnić się, że bezczynne wystąpienia pozostaną dostępne dla kolejnych zadań.

Użycie zadania początkowego umożliwia uruchamianie wystąpień puli, wypełnianie puli i pozostanie dostępne dla podrzędnych zadań lub klastrów interakcyjnych.