Udostępnij za pośrednictwem


Konfigurowanie obliczeń dla potoku DLT

Ten artykuł zawiera instrukcje i zagadnienia dotyczące konfigurowania niestandardowych ustawień obliczeniowych dla potoków DLT.

Potoki bezserwerowe nie udostępniają opcji konfiguracji obliczeniowej. Zobacz Konfigurowanie bezserwerowego potoku DLT.

Wybierz zasady klastra

Użytkownicy muszą mieć uprawnienia do wdrażania zasobów obliczeniowych w celu konfigurowania i aktualizowania potoków DLT. Administratorzy obszaru roboczego mogą skonfigurować zasady klastra, aby zapewnić użytkownikom dostęp do zasobów obliczeniowych dla biblioteki DLT. Zobacz Określ limit na obliczenia w ramach potoku DLT.

Notatka

  • Zasady klastra są opcjonalne. Jeśli nie masz uprawnień obliczeniowych wymaganych dla biblioteki DLT, zapoznaj się z administratorem obszaru roboczego.

  • Aby upewnić się, że wartości domyślne zasad klastra są poprawnie stosowane, ustaw apply_policy_default_values na true w konfiguracjach klastra w konfiguracji potoku:

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

Konfigurowanie tagów klastra

Możesz użyć tagów klastra do monitorowania użycia klastrów potoków. Dodaj tagi klastra w interfejsie użytkownika DLT podczas tworzenia lub edytowania potoku albo edytując ustawienia JSON dla klastrów potoków.

Wybierz typy instancji do uruchomienia potoku

Domyślnie DLT wybiera typy instancji dla węzłów sterownika i roboczych w Twoim potoku. Opcjonalnie można skonfigurować typy wystąpień.

Na przykład wybierz typy wystąpień, aby poprawić wydajność potoku lub rozwiązać problemy z pamięcią podczas uruchamiania potoku. Typy wystąpień można skonfigurować podczas tworzenia lub edytowania potoku za pomocą interfejsu API REST lub w interfejsie użytkownika DLT.

Aby skonfigurować typy instancji podczas tworzenia lub edytowania potoku w interfejsie użytkownika DLT:

  1. Kliknij przycisk Ustawienia.
  2. W sekcji Zaawansowane ustawień potoku, w menu rozwijanych Typ procesu roboczego i Typ sterownika , wybierz typy wystąpień dla potoku.

Zaawansowane konfiguracje obliczeniowe

Notatka

Ponieważ zasoby obliczeniowe są w pełni zarządzane dla bezserwerowych potoków DLT, ustawienia obliczeń są niedostępne po wybraniu opcji Serverless dla potoku.

Każdy potok DLT ma dwa skojarzone klastry:

  • Klaster updates przetwarza aktualizacje pipeline’u.
  • Klaster maintenance wykonuje codzienne zadania konserwacji.

Ustawienia obliczeniowe określone przy użyciu UI konfiguracji potoku obszaru roboczego mają zastosowanie zarówno do klastrów aktualizacji, jak i konserwacji. Aby zmodyfikować te ustawienia niezależnie, należy edytować konfigurację JSON.

Konfiguracja używana przez te klastry jest definiowana przez atrybut clusters ustalony w ustawieniach potoku.

Za pomocą etykiet klastra można dodawać ustawienia obliczeniowe, które mają zastosowanie tylko do określonego typu klastra. Istnieją trzy etykiety, których można użyć podczas konfigurowania klastrów potoków:

Notatka

Ustawienie etykiety klastra można pominąć, jeśli zdefiniujesz tylko jedną konfigurację klastra. Etykieta default jest stosowana do konfiguracji klastra, jeśli nie podano ustawienia etykiety. Ustawienie etykiety klastra jest wymagane tylko wtedy, gdy trzeba dostosować ustawienia dla różnych typów klastrów.

  • Etykieta default definiuje ustawienia obliczeniowe zarówno dla klastrów updates, jak i maintenance. Zastosowanie tych samych ustawień do obu klastrów zwiększa niezawodność przebiegów konserwacji, zapewniając, że wymagane konfiguracje, takie jak poświadczenia dostępu do danych dla lokalizacji magazynu, są stosowane do klastra konserwacji.
  • Etykieta maintenance definiuje ustawienia obliczeniowe, które mają zastosowanie tylko do klastra maintenance. Możesz również użyć etykiety maintenance, aby zastąpić ustawienia skonfigurowane przez etykietę default.
  • Etykieta updates definiuje ustawienia, które mają zastosowanie tylko do klastra updates. Służy do konfigurowania ustawień, które nie powinny być stosowane do klastra maintenance.

Ustawienia zdefiniowane przy użyciu etykiet default i updates są scalane w celu utworzenia ostatecznej konfiguracji klastra updates. Jeśli to samo ustawienie jest definiowane przy użyciu etykiet default i updates, ustawienie zdefiniowane za pomocą etykiety updates zastępuje ustawienie zdefiniowane za pomocą etykiety default.

W poniższym przykładzie zdefiniowano parametr konfiguracji platformy Spark, który jest dodawany tylko do konfiguracji klastra updates:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
        "key": "value"
      }
    }
  ]
}

DLT ma podobne opcje ustawień klastra jak inne funkcje obliczeniowe w usłudze Azure Databricks. Podobnie jak w przypadku innych ustawień potoku, można zmodyfikować konfigurację JSON dla klastrów, aby określić opcje, których nie ma w interfejsie użytkownika. Zobacz Compute.

Notatka

Ponieważ środowisko uruchomieniowe DLT zarządza cyklem życia klastrów potoków i uruchamia niestandardową wersję środowiska Databricks Runtime, nie można ręcznie ustawić niektórych ustawień klastra w konfiguracji potoku, takiej jak wersja platformy Spark lub nazwy klastra. Zobacz Atrybuty klastra, które nie są konfigurowalne przez użytkownika.

Konfigurowanie typów wystąpień dla klastrów aktualizacji i konserwacji

Aby skonfigurować typy wystąpień w ustawieniach JSON potoku, kliknij przycisk JSON i wprowadź konfiguracje typów wystąpień w konfiguracji klastra:

Notatka

Aby uniknąć przypisywania niepotrzebnych zasobów do klastra maintenance, w tym przykładzie użyto etykiety updates, aby ustawić typy wystąpień tylko dla klastra updates. Aby przypisać typy wystąpień do klastrów updates i maintenance, użyj etykiety default lub pomiń ustawienie etykiety. Etykieta default jest stosowana do konfiguracji klastra potoku, jeśli nie podano żadnego ustawienia etykiety. Zobacz Zaawansowane konfiguracje obliczeń.

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "...": "..."
    }
  ]
}

Opóźnij zamknięcie obliczeń

Aby kontrolować zachowanie zamykania klastra, można użyć trybu programowania lub produkcji lub użyć ustawienia pipelines.clusterShutdown.delay w konfiguracji potoku. Poniższy przykład ustawia wartość pipelines.clusterShutdown.delay na 60 sekund:

{
  "configuration": {
    "pipelines.clusterShutdown.delay": "60s"
  }
}

Po włączeniu trybu production wartość domyślna dla pipelines.clusterShutdown.delay jest 0 seconds. Po włączeniu trybu development wartość domyślna to 2 hours.

Notatka

Ponieważ klaster DLT jest automatycznie zamykany, gdy nie jest używany, odwoływanie się do zasad klastra, które ustawiają autotermination_minutes w konfiguracji klastra powoduje błąd.

Tworzenie klastra z jednym węzłem

Jeśli ustawisz wartość num_workers na 0 w ustawieniach klastra, klaster zostanie utworzony jako klaster z jednym węzłem . Skonfigurowanie klastra skalowania automatycznego i ustawienie min_workers wartości 0 i max_workers na 0 powoduje utworzenie klastra z jednym węzłem.

Jeśli skonfigurujesz klaster skalowania automatycznego i ustawisz tylko min_workers na 0, klaster nie zostanie utworzony jako pojedynczy klaster węzłów. Klaster ma co najmniej jeden aktywny proces roboczy przez cały czas aż do zakończenia.

Przykładowa konfiguracja klastra w celu utworzenia klastra z jednym węzłem w usłudze DLT:

{
  "clusters": [
    {
      "num_workers": 0
    }
  ]
}