Udostępnij przez


Najlepsze praktyki zarządzania basenem

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

Uwaga / Notatka

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 Połącz się z bezserwerową chmurą obliczeniową.

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 roboczych. 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 instancje 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 sterującego. Jeśli używasz puli typu spot dla węzła roboczego, jako typ sterownika wybierz pulę na żądanie .

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 rozliczaniem kosztów i zużycia. Można użyć wielu niestandardowych tagów, aby powiązać wiele centrów kosztów z jedną pulą. Ważne jest jednak, aby zrozumieć, jak tagi są propagowane podczas tworzenia klastra na podstawie pul. Tagi z pul są propagowane do podstawowych instancji dostawcy chmury, 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ą przenoszone do rozliczeń w usłudze 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 Używanie tagów do przypisywania i śledzenia użycia.

Konfigurowanie pul w celu kontrolowania kosztów

Aby kontrolować koszt pul, możesz użyć następujących opcji konfiguracji:

  • Ustaw minimalną wartość bezczynności wystąpień na 0, aby uniknąć płacenia za uruchomione wystąpienia, które nie działają. Kompromis polega na możliwym wydłużeniu czasu, gdy klaster musi uzyskać nowe wystąpienie.
  • Ustaw maksymalną pojemność na podstawie przewidywanego użycia. Ustawia maksymalną liczbę używanych i bezczynnych instancji w puli. Jeśli zadanie lub klaster żąda wystąpienia z puli o maksymalnej pojemności, żądanie kończy się niepowodzeniem, a klaster nie uzyskuje więcej wystąpień. W związku z tym usługa Databricks zaleca ustawienie maksymalnej pojemności tylko wtedy, gdy istnieje ścisły limit przydziału instancji lub ograniczenie budżetu.
  • Ustaw czas automatycznego zakończenia bezczynności instancji, aby zapewnić bufor między momentem, w którym instancja jest zwalniana z klastra, a jej usunięciem z puli. Ustal taki okres, który pozwoli zminimalizować koszty przy jednoczesnym zapewnieniu dostępności instancji do zaplanowanych zadań. Na przykład zadanie A jest zaplanowane do uruchomienia o godzinie 8:00 i trwa 40 minut. Zadanie B jest zaplanowane na godzinę 9:00 rano i trwa 30 minut. Ustaw automatyczne zakończenie działania wystąpień w stanie bezczynności na 20 minut, aby upewnić się, że wystąpienia zwrócone do puli po zakończeniu zadania A są dostępne, gdy rozpocznie się zadanie B. O ile nie zostaną one zgłoszone przez inny klaster, te wystąpienia zostaną zakończone 20 minut po zakończeniu zadania B.

Wstępnie wypełnione pule

Aby w pełni wykorzystać możliwości pul, możesz wstępnie wypełnić nowo utworzone pule. Ustaw minimalną liczbę bezczynnych instancji 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 minimalną wartość bezczynności instancji na 0 i określ czas automatycznego zakończenia bezczynności instancji na wystarczająco wysoki, aby zapewnić, że bezczynne instancje będą dostępne dla kolejnych zadań.

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