Optymalizuj wykorzystanie klastrów w potokach DLT dzięki ulepszonemu automatycznemu skalowaniu.
W tym artykule omówiono sposób używania rozszerzonego skalowania automatycznego do optymalizowania potoków DLT w usłudze Azure Databricks.
Rozszerzone skalowanie automatyczne jest domyślnie włączone dla wszystkich nowych potoków.
W przypadku potoków bezserwerowych rozszerzone skalowanie automatyczne jest zawsze włączone i nie można go wyłączyć. Zobacz , jak skonfigurować bezserwerowy potok DLT.
Co to jest rozszerzone skalowanie automatyczne?
Ulepszone skalowanie automatyczne w usłudze Databricks optymalizuje wykorzystanie klastra poprzez automatyczne przydzielanie zasobów klastra na podstawie obciążenia roboczego, przy minimalnym wpływie na opóźnienie przetwarzania danych w twoich potokach.
Ulepszone skalowanie automatyczne poprawia funkcjonalność automatycznego skalowania klastra Azure Databricks , oferując następujące funkcje:
- Ulepszone skalowanie automatyczne wdraża optymalizację obciążeń przesyłania strumieniowego i zwiększa wydajność obciążeń wsadowych. Ulepszone skalowanie automatyczne optymalizuje koszty, dodając lub usuwając maszyny w miarę zmian obciążenia.
- Ulepszone skalowanie automatyczne aktywnie zamyka niewykorzystane węzły przy jednoczesnym zagwarantowaniu, że podczas zamykania nie ma zadań, które zakończyły się niepowodzeniem. Istniejąca funkcja automatycznego skalowania klastra skaluje węzły w dół tylko wtedy, gdy węzeł jest bezczynny.
Udoskonalone skalowanie automatyczne jest domyślnym trybem, gdy tworzysz nowy potok w interfejsie DLT. Rozszerzone skalowanie automatyczne dla istniejących potoków można włączyć, edytując ustawienia potoku w interfejsie użytkownika. Rozszerzone skalowanie automatyczne można również włączyć podczas tworzenia lub edytowania potoków za pomocą interfejsu API DLT .
Które metryki używają rozszerzonego skalowania automatycznego do podejmowania decyzji o skalowaniu w górę lub w dół?
Rozszerzone skalowanie automatyczne używa dwóch metryk do decydowania o skalowaniu w górę lub skalowaniu w dół:
- wykorzystanie slotów zadań: jest to średni stosunek liczby zajętych slotów zadań do łącznej liczby slotów zadań dostępnych w klastrze.
- rozmiar kolejki zadań: Jest to liczba zadań oczekujących na wykonanie w slotach zadaniowych.
Włącz zaawansowane skalowanie automatyczne dla potoku DLT
Domyślnym trybem skalowania automatycznego podczas tworzenia nowego potoku w interfejsie użytkownika DLT jest rozszerzone skalowanie. Rozszerzone skalowanie automatyczne dla istniejących potoków można włączyć, edytując ustawienia potoku w interfejsie użytkownika. Rozszerzone skalowanie automatyczne można również włączyć podczas tworzenia lub edytowania potoku za pomocą interfejsu API DLT.
Aby użyć rozszerzonego skalowania automatycznego, wykonaj jedną z następujących czynności:
- Ustaw tryb klastra na ulepszone automatyczne skalowanie podczas tworzenia lub edytowania potoku w interfejsie DLT.
- Dodaj ustawienie
autoscale
do konfiguracji klastra potokowego i ustaw polemode
naENHANCED
. Zobacz Konfigurowanie obliczeń dla potoku DLT.
Podczas konfigurowania rozszerzonego skalowania automatycznego dla potoków produkcyjnych skorzystaj z poniższych wskazówek:
- Pozostaw ustawienie
Min workers
domyślne. - Ustaw ustawienie
Max workers
na wartość na podstawie budżetu i priorytetu potoku.
W poniższym przykładzie skonfigurowano ulepszony klaster skalowania automatycznego z co najmniej 5 pracownikami i maksymalnie 10 pracownikami.
max_workers
musi być większa lub równa min_workers
.
Notatka
- Rozszerzone skalowanie automatyczne jest dostępne tylko dla klastrów
updates
. Tradycyjne skalowanie automatyczne jest używane w przypadku klastrówmaintenance
. - Konfiguracja
autoscale
ma dwa tryby:
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Jeśli potok jest skonfigurowany do ciągłego wykonywania, zostanie on automatycznie uruchomiony ponownie po zmianie konfiguracji skalowania automatycznego. Po ponownym uruchomieniu należy spodziewać się krótkiego okresu zwiększonego opóźnienia. Po tym krótkim okresie zwiększonego opóźnienia rozmiar klastra powinien zostać zaktualizowany na podstawie konfiguracji autoscale
, a opóźnienie potoku powinno powrócić do poprzednich parametrów opóźnienia.
Ogranicz koszty dla potoków korzystających z rozszerzonego skalowania automatycznego
Notatka
Nie można skonfigurować pracowników dla potoków bezserwerowych.
Ustawienie parametru procesów roboczych w potokach Compute ustawia górną granicę skalowania automatycznego. Zmniejszenie liczby dostępnych pracowników obliczeniowych może zwiększyć opóźnienia dla niektórych obciążeń, ale zapobiega nadmiernemu wzrostowi kosztów zasobów obliczeniowych podczas operacji intensywnie obliczeniowych.
Usługa Databricks zaleca dostrajanie ustawień Maksymalna liczba pracowników w celu zrównoważenia kompromisu między kosztem a opóźnieniem dla konkretnych potrzeb.
Monitorowanie klasycznych potoków z włączonym rozszerzonym skalowaniem automatycznym
Dziennik zdarzeń można użyć w interfejsie użytkownika DLT, aby monitorować rozszerzone metryki skalowania automatycznego dla klasycznych potoków. Ulepszone zdarzenia skalowania automatycznego mają typ zdarzenia autoscale
. Poniżej przedstawiono przykładowe zdarzenia:
Zdarzenie | Komunikat |
---|---|
Rozpoczęto żądanie zmiany rozmiaru klastra | Scaling [up or down] to <y> executors from current cluster size of <x> |
Żądanie zmiany rozmiaru klastra powiodło się | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
Żądanie zmiany rozmiaru klastra zakończyło się częściowo pomyślnie | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
Żądanie zmiany rozmiaru klastra nie powiodło się | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
Można również wyświetlić rozszerzone zdarzenia skalowania automatycznego, wysyłając zapytanie bezpośrednio do dziennika zdarzeń :
- Aby zapytać o dziennik zdarzeń dla metryk zaległych danych, zobacz Monitorowanie zaległości danych przez zapytanie dziennika zdarzeń.
- Aby monitorować żądania i odpowiedzi dotyczące zmiany rozmiaru klastra podczas rozszerzonych operacji skalowania automatycznego, zobacz Monitoruj rozszerzone zdarzenia skalowania automatycznego w dzienniku zdarzeń dla potoków bez włączonego trybu bezserwerowego.