Optymalizowanie wykorzystania klastra potoków delta live tables za pomocą rozszerzonego skalowania automatycznego

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 zwiększa funkcjonalność 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, jednocześnie gwarantując, że podczas zamykania nie ma żadnych 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.

Rozszerzone autoskalowanie 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 tabel na żywo funkcji Delta.

Włączanie rozszerzonego skalowania automatycznego

Uwaga

Ponieważ zasoby obliczeniowe są automatycznie zoptymalizowane pod kątem potoków bezserwerowych, ustawienia rozszerzonego skalowania automatycznego usługi Databricks nie są dostępne po wybraniu opcji Bezserwerowa (publiczna wersja zapoznawcza) dla potoku.

Aby dowiedzieć się więcej na temat włączania bezserwerowych potoków DLT, skontaktuj się z zespołem konta usługi Azure Databricks.

Aby użyć rozszerzonego skalowania automatycznego, wykonaj jedną z następujących czynności:

  • Ustaw tryb klastra na rozszerzone skalowanie automatyczne podczas tworzenia potoku lub edytowania potoku w interfejsie użytkownika delta Live Tables.
  • autoscale Dodaj ustawienie do konfiguracji klastra potoku i ustaw mode pole na ENHANCED. Zobacz Konfigurowanie ustawień obliczeniowych.

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 klaster rozszerzonego 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. Istniejąca funkcja skalowania automatycznego jest używana dla maintenance klastrów.
  • Konfiguracja autoscale ma dwa tryby:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

Potok jest automatycznie uruchamiany ponownie po zmianie konfiguracji skalowania automatycznego, jeśli potok jest skonfigurowany do ciągłego wykonywania. 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 zostało zwrócone do poprzednich właściwości opóźnienia.

Monitorowanie rozszerzonych potoków z włączoną skalowaniem automatycznym

Dziennik zdarzeń można użyć w interfejsie użytkownika delta Live Tables, aby monitorować rozszerzone metryki skalowania automatycznego. 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ć zdarzenia rozszerzonego skalowania automatycznego, wysyłając zapytanie bezpośrednio do dziennika zdarzeń: