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, 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 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
Aby kontrolować koszt pul, możesz użyć następujących opcji konfiguracji:
- Ustaw minimalną liczbę bezczynnych wystąpień na 0, aby uniknąć płacenia za uruchomione wystąpienia, które nie pracują. 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 wydajności tylko wtedy, gdy istnieje ścisły limit przydziału wystąpień lub ograniczenie budżetu.
- Ustaw automatyczne kończenie wystąpienia bezczynności czasu, aby zapewnić bufor między czasem zwolnienia wystąpienia z klastra i po usunięciu 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 czas automatycznego zakończenia bezczynności wystąpienia na 20 minut, aby upewnić się, że wystąpienia zwrócone do puli po zakończeniu zadania A są dostępne, gdy zadanie B się rozpocznie. 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 korzystać w pełni z 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 zapewnić, że nowo utworzone pule mają dostępne wystąpienia, do których klastry mogą uzyskać dostęp.
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 podrzędnych zadań lub klastrów interakcyjnych.