Udostępnij za pośrednictwem


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:

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 dla maintenance klastrów.
  • 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 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.

Okienko Obliczenia w interfejsie użytkownika potoków, w którym można ustawić maksymalną liczbę procesów roboczych na potrzeby skalowania automatycznego

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ń: