Konfigurowanie obliczeń dla pipeline'u Delta Live Tables
Ten artykuł zawiera instrukcje i zagadnienia dotyczące konfigurowania niestandardowych ustawień obliczeniowych dla potoków Delta Live Tables.
Potoki bezserwerowe nie udostępniają opcji konfiguracji obliczeniowej. Zobacz Konfigurowanie bezserwerowego potoku Delta Live Tables.
Wybierz zasady klastra
Użytkownicy muszą mieć uprawnienia do wdrażania zasobów obliczeniowych w celu skonfigurowania i zaktualizowania potoków tabel na żywo delty. Administratorzy obszaru roboczego mogą skonfigurować zasady klastra, aby zapewnić użytkownikom dostęp do zasobów obliczeniowych dla tabel delta Live Tables. Zobacz Zdefiniuj limity obliczeń w potokach Delta Live Tables.
Uwaga
Zasady klastra są opcjonalne. Sprawdź się z administratorem obszaru roboczego, jeśli nie masz uprawnień obliczeniowych wymaganych dla tabel delta Live Tables.
Aby upewnić się, że wartości domyślne zasad klastra są poprawnie stosowane, skonfiguruj
apply_policy_default_values
natrue
w konfiguracjach klastra w konfiguracji rurociągu:{ "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 klastrów w interfejsie użytkownika Delta Live Tables, gdy tworzysz lub edytujesz potok, albo edytując ustawienia JSON dla klastrów potoku.
Wybieranie typów wystąpień do uruchomienia potoku
Domyślnie funkcja Delta Live Tables wybiera typy wystąpień sterowników potoku i węzłów roboczych. 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 Delta Live Tables.
Aby skonfigurować typy wystąpień podczas tworzenia lub edytowania potoku w interfejsie użytkownika Delta Live Tables:
- Kliknij przycisk Ustawienia.
- W sekcji Zaawansowane ustawień potoku, w menu rozwijanych dla typu pracownika oraz typu sterownika, wybierz typy instancji dla potoku.
Zaawansowane konfiguracje obliczeniowe
Uwaga
Ponieważ zasoby obliczeniowe są w pełni zarządzane dla bezserwerowych potoków DLT, ustawienia obliczeniowe są niedostępne po wybraniu Serverless dla potoku.
Każdy potok danych Delta Live Tables ma dwa skojarzone klastry.
- Klaster
updates
przetwarza aktualizacje potoku. - Klaster
maintenance
uruchamia codzienne zadania konserwacji.
Ustawienia obliczeń określone przy użyciu interfejsu konfiguracji potoku obszaru roboczego mają zastosowanie zarówno do klastrów aktualizacyjnych, jak i konserwacyjnych. Aby zmodyfikować te ustawienia niezależnie, należy edytować konfigurację JSON.
Konfiguracja użycia tych klastrów jest określana przez clusters
atrybut określony 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:
Uwaga
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 dlaupdates
klastrów 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ćmaintenance
etykiety, 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 default
etykiet i updates
są scalane w celu utworzenia ostatecznej konfiguracji klastra updates
. Jeśli to samo ustawienie jest definiowane przy użyciu default
etykiet i , updates
ustawienie zdefiniowane za updates
pomocą etykiety zastępuje ustawienie zdefiniowane za default
pomocą etykiety.
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"
}
}
]
}
Funkcja Delta Live Tables ma podobne opcje ustawień klastra jak inne zasoby 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óre nie są obecne w interfejsie użytkownika. Zobacz Obliczenia.
Uwaga
Ponieważ środowisko uruchomieniowe Delta Live Tables 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, na przykład wersji oprogramowania Spark lub nazw klastrów. 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 typu wystąpienia w konfiguracji klastra:
Uwaga
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 obu updates
klasterów maintenance
, użyj default
etykiety lub pomiń ustawienie etykiety. Etykieta default
jest stosowana do konfiguracji klastra potoku, jeśli nie podano żadnego ustawienia etykiety. Zobacz Zaawansowane konfiguracje obliczeniowe.
{
"clusters": [
{
"label": "updates",
"node_type_id": "Standard_D12_v2",
"driver_node_type_id": "Standard_D3_v2",
"..." : "..."
}
]
}
Opóźnianie zamykania zasobów obliczeniowych
Aby kontrolować zachowanie zamykania klastra, można użyć trybu programowania lub produkcji lub użyć pipelines.clusterShutdown.delay
ustawienia w konfiguracji potoku. Poniższy przykład ustawia wartość pipelines.clusterShutdown.delay
na 60 sekund:
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
Gdy tryb production
jest włączony, domyślna wartość parametru pipelines.clusterShutdown.delay
to 0 seconds
. Gdy tryb development
jest włączony, domyślna wartość to 2 hours
.
Uwaga
Ponieważ klaster Delta Live Tables automatycznie zamyka się, gdy nie jest używany, odwołanie się do zasady klastrowej, która ustawia autotermination_minutes
w konfiguracji, 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 do zakończenia jego działania.
Przykładowa konfiguracja klastra w celu utworzenia klastra z jednym węzłem w tabelach delta live:
{
"clusters": [
{
"num_workers": 0
}
]
}