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
natrue
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:
- Kliknij przycisk Ustawienia.
- 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ówupdates
, jak imaintenance
. 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 klastramaintenance
. Możesz również użyć etykietymaintenance
, aby zastąpić ustawienia skonfigurowane przez etykietędefault
. - Etykieta
updates
definiuje ustawienia, które mają zastosowanie tylko do klastraupdates
. Służy do konfigurowania ustawień, które nie powinny być stosowane do klastramaintenance
.
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
}
]
}