Optymalizowanie wykorzystania klastra potoków delty tabel na żywo przy użyciu rozszerzonego skalowania automatycznego
W tym artykule omówiono sposób używania rozszerzonego skalowania automatycznego w celu optymalizacji potoków tabel delta Live Tables 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 Konfigurowanie potoku bezserwerowych tabel różnicowych na żywo.
Co to jest rozszerzone skalowanie automatyczne?
Rozszerzone skalowanie automatyczne usługi Databricks optymalizuje wykorzystanie klastra przez automatyczne przydzielanie zasobów klastra na podstawie woluminu obciążenia, przy minimalnym wpływie na opóźnienie przetwarzania danych potoków.
Ulepszone skalowanie automatyczne ulepsza funkcję automatycznego skalowania klastra usługi Azure Databricks przy użyciu następujących funkcji:
- Ulepszone skalowanie automatyczne implementuje optymalizację obciążeń przesyłania strumieniowego i dodaje ulepszenia w celu zwiększenia wydajności obciążeń wsadowych. Ulepszone skalowanie automatyczne optymalizuje koszty, dodając lub usuwając maszyny w miarę zmian obciążenia.
- Ulepszone skalowanie automatyczne aktywnie zamyka w pełni wykorzystywane węzły przy jednoczesnym zagwarantowaniu, że podczas zamykania nie występują żadne zadania, 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.
Rozszerzone skalowanie automatyczne jest domyślnym trybem skalowania automatycznego podczas tworzenia nowego potoku w interfejsie użytkownika delta Live Tables. 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 przy użyciu interfejsu API delta Live Tables.
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 miejsca zadania: jest to średni stosunek liczby zajętych miejsc zadań do całkowitej liczby miejsc zadań dostępnych w klastrze.
- Rozmiar kolejki zadań: jest to liczba zadań oczekujących na wykonanie w miejscach zadań.
Włączanie rozszerzonego skalowania automatycznego dla potoku delta Live Tables
Rozszerzone skalowanie automatyczne jest domyślnym trybem skalowania automatycznego podczas tworzenia nowego potoku w interfejsie użytkownika delta Live Tables. 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 delta Live Tables.
Aby użyć rozszerzonego skalowania automatycznego, wykonaj jedną z następujących czynności:
- Ustaw tryb klastra na rozszerzone skalowanie automatyczne podczas tworzenia lub edytowania potoku w interfejsie użytkownika tabel na żywo delty.
autoscale
Dodaj ustawienie do konfiguracji klastra potoku i ustawmode
pole naENHANCED
. Zobacz Configure compute for a Delta Live Tables pipeline (Konfigurowanie obliczeń dla potoku tabel na żywo delty).
Podczas konfigurowania rozszerzonego skalowania automatycznego dla potoków produkcyjnych skorzystaj z poniższych wskazówek:
Min workers
Pozostaw ustawienie domyślne.Max workers
Ustaw ustawienie na wartość na podstawie budżetu i priorytetu potoku.
W poniższym przykładzie skonfigurowaliśmy rozszerzony klaster skalowania automatycznego z co najmniej 5 procesami roboczymi i maksymalnie 10 procesami roboczymi. max_workers
musi być większe niż lub równe min_workers
.
Uwaga
- Rozszerzone skalowanie automatyczne jest dostępne tylko dla
updates
klastrów. Starsze skalowanie automatyczne jest używane dlamaintenance
klastrów. - Konfiguracja
autoscale
ma dwa tryby:LEGACY
: Użyj skalowania automatycznego klastra.ENHANCED
: Użyj rozszerzonego skalowania automatycznego.
{
"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 autoscale
podstawie konfiguracji, a opóźnienie potoku powinno powrócić do poprzednich właściwości opóźnienia.
Ograniczanie kosztów dla potoków korzystających z rozszerzonego skalowania automatycznego
Uwaga
Nie można skonfigurować procesów roboczych dla potoków bezserwerowych.
Ustawienie parametru Maksymalna liczba procesów roboczych w okienku obliczeń potoków ustawia górną granicę skalowania automatycznego. Zmniejszenie liczby dostępnych procesów roboczych może zwiększyć opóźnienie niektórych obciążeń, ale zapobiega zwiększaniu kosztów zasobów obliczeniowych podczas operacji intensywnie korzystających z obliczeń.
Usługa Databricks zaleca dostrajanie ustawień maksymalnych procesów roboczych , aby zrównoważyć kompromis opóźnienia kosztów dla konkretnych potrzeb.
Monitorowanie rozszerzonych potoków klasycznych z włączoną skalowaniem automatycznym
Dziennik zdarzeń można użyć w interfejsie użytkownika delta Live Tables, aby monitorować rozszerzone metryki skalowania automatycznego dla klasycznych potoków. Rozszerzone zdarzenia skalowania automatycznego mają autoscale
typ zdarzenia. 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żesz również wyświetlić rozszerzone zdarzenia skalowania automatycznego, bezpośrednio wysyłając zapytanie do dziennika zdarzeń:
- Aby wykonać zapytanie dotyczące dziennika zdarzeń dla metryk listy prac, zobacz Monitorowanie listy prac, wykonując zapytanie dotyczące dziennika zdarzeń.
- Aby monitorować żądania i odpowiedzi dotyczące zmiany rozmiaru klastra podczas rozszerzonych operacji skalowania automatycznego, zobacz Monitorowanie rozszerzonych zdarzeń skalowania automatycznego z dziennika zdarzeń dla potoków bez włączonej bezserwerowej.