Konfigurowanie klastrów

Uwaga

Są to instrukcje dotyczące starszego interfejsu użytkownika tworzenia klastra i są uwzględniane tylko pod kątem dokładności historycznej. Wszyscy klienci powinni używać zaktualizowanego interfejsu użytkownika tworzenia klastra.

W tym artykule opisano opcje konfiguracji dostępne podczas tworzenia i edytowania klastrów usługi Azure Databricks. Koncentruje się on na tworzeniu i edytowaniu klastrów przy użyciu interfejsu użytkownika. Inne metody można znaleźć w interfejsie wiersza polecenia usługi Databricks, interfejsie API klastrów i dostawcy narzędzia Terraform usługi Databricks.

Aby uzyskać pomoc przy podejmowaniu decyzji o kombinacji opcji konfiguracji najlepiej odpowiadających Twoim potrzebom, zobacz najlepsze rozwiązania dotyczące konfiguracji klastra.

Tworzenie klastra

Zasady klastra

Zasady klastra ograniczają możliwość konfigurowania klastrów na podstawie zestawu reguł. Reguły zasad ograniczają atrybuty lub wartości atrybutów dostępne do utworzenia klastra. Zasady klastra mają listy ACL, które ograniczają ich użycie do określonych użytkowników i grup, a tym samym ograniczają zasady, które można wybrać podczas tworzenia klastra.

Aby skonfigurować zasady klastra, wybierz zasady klastra na liście rozwijanej Zasady .

Wybieranie zasad klastra

Uwaga

Jeśli w obszarze roboczym nie utworzono żadnych zasad, lista rozwijana Zasady nie będzie wyświetlana.

Jeśli masz:

  • Uprawnienie do tworzenia klastra można wybrać zasady Bez ograniczeń i utworzyć w pełni konfigurowalne klastry. Zasady bez ograniczeń nie ograniczają żadnych atrybutów klastra ani wartości atrybutów.
  • Zarówno klaster tworzy uprawnienia, jak i dostęp do zasad klastra. Możesz wybrać zasady bez ograniczeń i zasady, do których masz dostęp.
  • Dostęp tylko do zasad klastra— możesz wybrać zasady, do których masz dostęp.

Tryb klastra

Uwaga

W tym artykule opisano starszy interfejs użytkownika klastrów. Aby uzyskać informacje o interfejsie użytkownika nowych klastrów (w wersji zapoznawczej), zobacz Informacje o konfiguracji obliczeniowej. Obejmuje to pewne zmiany terminologii dotyczące typów i trybów dostępu do klastra. Aby zapoznać się z porównaniem nowych i starszych typów klastrów, zobacz Zmiany interfejsu użytkownika klastrów i tryby dostępu do klastra. W interfejsie użytkownika wersji zapoznawczej:

  • Klastry trybu standardowego są teraz nazywane klastrami trybu dostępu współdzielonego bez izolacji.
  • Wysoka współbieżność z listami ACL tabel jest teraz nazywana klastrami trybu dostępu współdzielonego.

Usługa Azure Databricks obsługuje trzy tryby klastra: Standardowy, Wysoki współbieżność i Pojedynczy węzeł. Domyślnym trybem klastra jest Standardowa.

Ważne

  • Jeśli obszar roboczy jest przypisany do magazynu metadanych wykazu aparatu Unity, klastry o wysokiej współbieżności nie są dostępne. Zamiast tego należy użyć trybu dostępu, aby zapewnić integralność kontroli dostępu i wymusić silne gwarancje izolacji. Zobacz też Tryby dostępu.
  • Po utworzeniu klastra nie można zmienić trybu klastra. Jeśli chcesz użyć innego trybu klastra, musisz utworzyć nowy klaster.

Konfiguracja klastra zawiera ustawienie automatycznego kończania , którego wartość domyślna zależy od trybu klastra:

  • Klastry standardowe i pojedyncze węzły domyślnie kończą się automatycznie po 120 minutach.
  • Klastry o wysokiej współbieżności domyślnie nie kończą się automatycznie.

Klastry w warstwie Standardowa

Ostrzeżenie

Klastry w trybie standardowym (czasami nazywane klastrami udostępnionymi bez izolacji) mogą być współużytkowane przez wielu użytkowników, bez izolacji między użytkownikami. Jeśli używasz trybu klastra o wysokiej współbieżności bez dodatkowych ustawień zabezpieczeń, takich jak listy ACL tabel lub przekazywanie poświadczeń, te same ustawienia są używane jako klastry trybu standardowego. Administratorzy kont mogą uniemożliwić automatyczne generowanie poświadczeń wewnętrznych dla administratorów obszaru roboczego usługi Databricks w tym typie klastra. Aby uzyskać bardziej bezpieczne opcje, usługa Databricks zaleca alternatywy, takie jak klastry o wysokiej współbieżności z listami ACL tabel.

Klaster w warstwie Standardowa jest zalecany tylko dla pojedynczych użytkowników. Klastry w warstwie Standardowa mogą uruchamiać obciążenia opracowane w językach Python, SQL, R i Scala.

Klastry o wysokiej współbieżności

Klaster o wysokiej współbieżności jest zasobem zarządzanym w chmurze. Najważniejsze zalety klastrów o wysokiej współbieżności to zapewnienie szczegółowego udostępniania dla maksymalnego wykorzystania zasobów i minimalnych opóźnień zapytań.

Klastry o wysokiej współbieżności mogą uruchamiać obciążenia opracowane w usługach SQL, Python i R. Wydajność i bezpieczeństwo klastrów o wysokiej współbieżności jest zapewniana przez uruchomienie kodu użytkownika w oddzielnych procesach, co nie jest możliwe w języku Scala.

Ponadto tylko klastry o wysokiej współbieżności obsługują kontrolę dostępu do tabel.

Aby utworzyć klaster o wysokiej współbieżności, ustaw dla trybuklastra wartość Wysoka współbieżność.

Tryb klastra o wysokiej współbieżności

Klastry z jednym węzłem

Klaster z jednym węzłem nie ma procesów roboczych i uruchamia zadania platformy Spark w węźle sterownika.

Z kolei klaster w warstwie Standardowa wymaga co najmniej jednego węzła roboczego platformy Spark oprócz węzła sterownika w celu wykonywania zadań platformy Spark.

Aby utworzyć klaster z jednym węzłem, ustaw opcję Tryb klastra na pojedynczy węzeł.

Tryb klastra z jednym węzłem

Aby dowiedzieć się więcej na temat pracy z klastrami z jednym węzłem, zobacz Obliczenia z jednym węzłem lub wieloma węzłami.

Baseny

Aby skrócić czas uruchamiania klastra, możesz dołączyć klaster do wstępnie zdefiniowanej puli bezczynnych wystąpień dla węzłów sterowników i procesów roboczych. Klaster jest tworzony przy użyciu wystąpień w pulach. Jeśli pula nie ma wystarczających zasobów bezczynnych, aby utworzyć żądany sterownik lub węzły robocze, pula rozwija się, przydzielając nowe wystąpienia od dostawcy wystąpień. Po zakończeniu działania dołączonego klastra używane wystąpienia są zwracane do pul i mogą być ponownie używane przez inny klaster.

Jeśli wybierzesz pulę węzłów roboczych, ale nie dla węzła sterownika, węzeł sterownika dziedziczy pulę z konfiguracji węzła roboczego.

Ważne

Jeśli spróbujesz wybrać pulę dla węzła sterownika, ale nie dla węzłów procesu roboczego, wystąpi błąd i klaster nie zostanie utworzony. To wymaganie zapobiega sytuacji, w której węzeł sterownika musi czekać na utworzenie węzłów procesu roboczego lub na odwrót.

Zobacz Dokumentacja konfiguracji puli, aby dowiedzieć się więcej na temat pracy z pulami w usłudze Azure Databricks.

Databricks Runtime

Środowiska uruchomieniowe usługi Databricks to zestaw podstawowych składników uruchamianych w klastrach. Wszystkie środowiska uruchomieniowe usługi Databricks obejmują platformę Apache Spark i dodają składniki i aktualizacje, które zwiększają użyteczność, wydajność i zabezpieczenia. Aby uzyskać szczegółowe informacje, zobacz Databricks Runtime release notes versions and compatibility (Wersje i zgodność środowiska Databricks Runtime).

Usługa Azure Databricks oferuje kilka typów środowisk uruchomieniowych i kilka wersji tych typów środowiska uruchomieniowego na liście rozwijanej Wersja środowiska uruchomieniowego usługi Databricks podczas tworzenia lub edytowania klastra.

Wybierz wersję środowiska uruchomieniowego

Przyspieszanie fotonowe

Aplikacja Photon jest dostępna dla klastrów z uruchomionym środowiskiem Databricks Runtime 9.1 LTS lub nowszym.

Aby włączyć przyspieszanie photon, zaznacz pole wyboru Użyj przyspieszania photon.

W razie potrzeby możesz określić typ wystąpienia na liście rozwijanej Typ procesu roboczego i Typ sterownika.

Usługa Databricks zaleca następujące typy wystąpień w celu uzyskania optymalnej ceny i wydajności:

  • Standard_E4ds_v4
  • Standard_E8ds_v4
  • Standard_E16ds_v4

Działanie photon można wyświetlić w interfejsie użytkownika platformy Spark. Poniższy zrzut ekranu przedstawia szczegóły zapytania DAG. Istnieją dwa wskazania Photon w DAG. Najpierw operatory Photon zaczynają się od ciągu "Photon", na przykład PhotonGroupingAgg. Po drugie, w DAG operatory Photon i etapy są kolorowe brzoskwinie, podczas gdy te inne niż Photon są niebieskie.

Photon DAG

Obrazy platformy Docker

W przypadku niektórych wersji środowiska Databricks Runtime można określić obraz platformy Docker podczas tworzenia klastra. Przykładowe przypadki użycia obejmują dostosowywanie biblioteki, złote środowisko kontenera, które nie zmienia się, oraz integrację ciągłej integracji/ciągłego wdrażania platformy Docker.

Za pomocą obrazów platformy Docker można również tworzyć niestandardowe środowiska uczenia głębokiego w klastrach z urządzeniami gpu.

Aby uzyskać instrukcje, zobacz Dostosowywanie kontenerów za pomocą usługi Kontener Service usługi Databricks i usług Kontener Services usługi Databricks w obliczeniach procesora GPU.

Typ węzła klastra

Klaster składa się z jednego węzła sterownika i zera lub większej liczby węzłów roboczych.

Można wybrać oddzielne typy wystąpień dostawcy usług w chmurze dla węzłów sterowników i procesów roboczych, chociaż domyślnie węzeł sterownika używa tego samego typu wystąpienia co węzeł roboczy. Różne rodziny typów wystąpień pasują do różnych przypadków użycia, takich jak obciążenia intensywnie korzystające z pamięci lub intensywnie korzystające z obliczeń.

Uwaga

Jeśli wymagania dotyczące zabezpieczeń obejmują izolację obliczeniową , wybierz wystąpienie Standard_F72s_V2 jako typ procesu roboczego. Te typy wystąpień reprezentują izolowane maszyny wirtualne, które korzystają z całego hosta fizycznego i zapewniają wymagany poziom izolacji wymagany do obsługi, na przykład obciążenia Departamentu Obrony USA Impact Level 5 (IL5).

Węzeł sterownika

Węzeł sterownika przechowuje informacje o stanie wszystkich notesów dołączonych do klastra. Węzeł sterownika obsługuje również element SparkContext i interpretuje wszystkie polecenia uruchamiane z notesu lub biblioteki w klastrze oraz uruchamia wzorzec platformy Apache Spark, który koordynuje się z funkcjami wykonawczymi platformy Spark.

Wartość domyślna typu węzła sterownika jest taka sama jak typ węzła procesu roboczego. Możesz wybrać większy typ węzła sterownika z większą ilością pamięci, jeśli planujesz collect() wiele danych z procesów roboczych platformy Spark i analizujesz je w notesie.

Napiwek

Ponieważ węzeł sterownika przechowuje wszystkie informacje o stanie dołączonych notesów, pamiętaj, aby odłączyć nieużywane notesy z węzła sterownika.

Węzeł procesu roboczego

Węzły robocze usługi Azure Databricks uruchamiają funkcje wykonawcze platformy Spark i inne usługi wymagane do prawidłowego funkcjonowania klastrów. Podczas dystrybucji obciążenia za pomocą platformy Spark całe rozproszone przetwarzanie odbywa się w węzłach roboczych. Usługa Azure Databricks uruchamia jedną funkcję wykonawcza na węzeł procesu roboczego; dlatego terminy wykonawcze i proces roboczy są używane zamiennie w kontekście architektury usługi Azure Databricks.

Napiwek

Aby uruchomić zadanie platformy Spark, potrzebujesz co najmniej jednego węzła roboczego. Jeśli klaster ma zero procesów roboczych, można uruchomić polecenia inne niż polecenia platformy Spark na węźle sterownika, ale polecenia platformy Spark zakończą się niepowodzeniem.

Typy wystąpień procesora GPU

W przypadku zadań wymagających obliczeń wymagających wysokiej wydajności, takich jak związane z uczeniem głębokim, usługa Azure Databricks obsługuje klastry przyspieszone za pomocą jednostek przetwarzania grafiki (GPU). Aby uzyskać więcej informacji, zobacz Obliczenia z obsługą procesora GPU.

Wystąpienia typu spot

Aby zaoszczędzić koszty, możesz użyć wystąpień typu spot, znanych również jako maszyny wirtualne typu spot platformy Azure, zaznaczając pole wyboru Wystąpienia typu spot.

Konfigurowanie typu spot

Pierwsze wystąpienie będzie zawsze na żądanie (węzeł sterownika jest zawsze na żądanie), a kolejne wystąpienia będą wystąpieniami typu spot. Jeśli wystąpienia typu spot są eksmitowane z powodu niedostępności, wystąpienia na żądanie są wdrażane w celu zastąpienia eksmitowanych wystąpień.

Rozmiar klastra i skalowanie automatyczne

Podczas tworzenia klastra usługi Azure Databricks można zapewnić stałą liczbę procesów roboczych dla klastra lub zapewnić minimalną i maksymalną liczbę procesów roboczych dla klastra.

Po podaniu klastra o stałym rozmiarze usługa Azure Databricks gwarantuje, że klaster ma określoną liczbę procesów roboczych. Po podaniu zakresu dla liczby pracowników usługa Databricks wybiera odpowiednią liczbę procesów roboczych wymaganych do uruchomienia zadania. Jest to nazywane skalowaniem automatycznym.

Dzięki skalowaniu automatycznemu usługa Azure Databricks dynamicznie przenosi pracowników do charakterystyki zadania. Niektóre części potoku mogą być bardziej wymagające obliczeń niż inne, a usługa Databricks automatycznie dodaje dodatkowych procesów roboczych w tych fazach pracy (i usuwa je, gdy nie są już potrzebne).

Skalowanie automatyczne ułatwia osiągnięcie dużego wykorzystania klastra, ponieważ nie trzeba aprowizować klastra tak, aby pasował do obciążenia. Dotyczy to szczególnie obciążeń, których wymagania zmieniają się w czasie (na przykład eksplorowanie zestawu danych w ciągu dnia), ale może również mieć zastosowanie do jednorazowego krótszego obciążenia, którego wymagania dotyczące aprowizacji są nieznane. Skalowanie automatyczne oferuje zatem dwie zalety:

  • Obciążenia mogą działać szybciej w porównaniu z klastrem o stałym rozmiarze w niepełnym zakresie.
  • Klastry skalowania automatycznego mogą zmniejszyć ogólne koszty w porównaniu ze statycznie rozmiarem klastra.

W zależności od stałego rozmiaru klastra i obciążenia skalowanie automatyczne daje jedną lub obie te korzyści w tym samym czasie. Rozmiar klastra może przekraczać minimalną liczbę procesów roboczych wybranych po zakończeniu wystąpień przez dostawcę usług w chmurze. W takim przypadku usługa Azure Databricks stale ponawia próbę ponownego aprowizowania wystąpień w celu zachowania minimalnej liczby procesów roboczych.

Uwaga

Skalowanie automatyczne nie jest dostępne w przypadku zadań spark-submit.

How autoscaling behaves (Jak działa skalowanie automatyczne)

  • Skaluje w górę od minuty do maksymalnej w 2 krokach.
  • Można skalować w dół nawet wtedy, gdy klaster nie jest bezczynny, sprawdzając stan pliku bezczynności.
  • Skaluje w dół na podstawie wartości procentowej bieżących węzłów.
  • W klastrach zadań skalowanie w dół, jeśli klaster jest niedostatecznie wykorzystany w ciągu ostatnich 40 sekund.
  • W klastrach wszystkich celów skalowanie w dół, jeśli klaster jest niedostatecznie wykorzystany w ciągu ostatnich 150 sekund.
  • spark.databricks.aggressiveWindowDownS Właściwość konfiguracji platformy Spark określa w sekundach, jak często klaster podejmuje decyzje dotyczące skalowania w dół. Zwiększenie wartości powoduje wolniejsze skalowanie klastra w dół. Maksymalna wartość to 600.

Enable and configure autoscaling (Włączanie i konfigurowanie skalowania automatycznego)

Aby zezwolić usłudze Azure Databricks na automatyczne zmienianie rozmiaru klastra, włącz skalowanie automatyczne dla klastra i zapewnisz minimalny i maksymalny zakres procesów roboczych.

  1. Włącz skalowanie automatyczne.

    • Klaster all-Purpose — na stronie Tworzenie klastra zaznacz pole wyboru Włącz skalowanie automatyczne w polu Opcje rozwiązania Autopilot:

      Włączanie skalowania automatycznego dla klastrów interaktywnych

    • Klaster zadań — na stronie Konfigurowanie klastra zaznacz pole wyboru Włącz skalowanie automatyczne w polu Opcje rozwiązania Autopilot:

      Włączanie skalowania automatycznego dla klastrów zadań

  2. Skonfiguruj minimalną i maksymalną liczbę procesów roboczych.

    Konfigurowanie minimalnych i maksymalnych procesów roboczych

    Gdy klaster jest uruchomiony, na stronie szczegółów klastra jest wyświetlana liczba przydzielonych procesów roboczych. Liczbę przydzielonych procesów roboczych można porównać z konfiguracją procesu roboczego i wprowadzić korekty zgodnie z potrzebami.

Ważne

Jeśli używasz puli wystąpień:

  • Upewnij się, że żądany rozmiar klastra jest mniejszy lub równy minimalnej liczbie bezczynnych wystąpień w puli. Jeśli jest większy, czas uruchamiania klastra będzie odpowiadać klastrowi, który nie używa puli.
  • Upewnij się, że maksymalny rozmiar klastra jest mniejszy lub równy maksymalnej pojemności puli. Jeśli jest większy, tworzenie klastra nie powiedzie się.

Przykład skalowania automatycznego

Jeśli ponownie skonfigurujesz klaster statyczny jako klaster skalowania automatycznego, usługa Azure Databricks natychmiast zmienia rozmiar klastra w granicach minimalnych i maksymalnych, a następnie uruchamia skalowanie automatyczne. Na przykład w poniższej tabeli przedstawiono, co się dzieje z klastrami o określonym rozmiarze początkowym, jeśli skonfigurujesz klaster do automatycznego skalowania między 5 i 10 węzłami.

Rozmiar początkowy Rozmiar po rekonfiguracji
6 6
12 10
3 5

Autoskalowanie magazynu lokalnego

Często trudno jest oszacować ilość miejsca na dysku potrzebnego do wykonania określonego zadania. Aby zaoszczędzić na konieczności oszacowania liczby gigabajtów dysku zarządzanego do dołączenia do klastra w czasie tworzenia, usługa Azure Databricks automatycznie włącza automatyczne skalowanie magazynu lokalnego we wszystkich klastrach usługi Azure Databricks.

Dzięki automatycznemu skalowaniu magazynu lokalnego usługa Azure Databricks monitoruje ilość wolnego miejsca na dysku dostępnego w ramach procesów roboczych platformy Spark klastra. Jeśli proces roboczy zacznie działać zbyt mało na dysku, usługa Databricks automatycznie dołącza nowy dysk zarządzany do procesu roboczego, zanim zabraknie miejsca na dysku. Dyski są dołączone do limitu 5 TB całkowitego miejsca na dysku na maszynę wirtualną (w tym początkowego magazynu lokalnego maszyny wirtualnej).

Dyski zarządzane dołączone do maszyny wirtualnej są odłączane tylko wtedy, gdy maszyna wirtualna zostanie zwrócona na platformę Azure. Oznacza to, że dyski zarządzane nigdy nie są odłączane od maszyny wirtualnej, o ile jest częścią uruchomionego klastra. Aby skalować w dół użycie dysku zarządzanego, usługa Azure Databricks zaleca użycie tej funkcji w klastrze skonfigurowanym przy użyciu rozmiaru klastra i skalowania automatycznego lub nieoczekiwanego zakończenia.

Szyfrowanie dysku lokalnego

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Niektóre typy wystąpień używane do uruchamiania klastrów mogą mieć lokalnie dołączone dyski. Usługa Azure Databricks może przechowywać dane mieszania lub efemeryczne dane na tych lokalnie dołączonych dyskach. Aby upewnić się, że wszystkie dane magazynowane są szyfrowane dla wszystkich typów magazynu, w tym danych mieszania przechowywanych tymczasowo na dyskach lokalnych klastra, możesz włączyć szyfrowanie dysków lokalnych.

Ważne

Obciążenia mogą działać wolniej ze względu na wpływ wydajności odczytywania i zapisywania zaszyfrowanych danych do i z woluminów lokalnych.

Po włączeniu szyfrowania dysków lokalnych usługa Azure Databricks generuje lokalnie klucz szyfrowania unikatowy dla każdego węzła klastra i służy do szyfrowania wszystkich danych przechowywanych na dyskach lokalnych. Zakres klucza jest lokalny dla każdego węzła klastra i jest niszczony wraz z samym węzłem klastra. W okresie jego istnienia klucz znajduje się w pamięci na potrzeby szyfrowania i odszyfrowywania i jest przechowywany zaszyfrowany na dysku.

Aby włączyć szyfrowanie dysków lokalnych, należy użyć interfejsu API klastrów. Podczas tworzenia lub edytowania klastra ustaw:

{
  "enable_local_disk_encryption": true
}

Zobacz interfejs API klastrów, aby zapoznać się z przykładami wywoływania tych interfejsów API.

Oto przykład wywołania tworzenia klastra, które umożliwia szyfrowanie dysków lokalnych:

{
  "cluster_name": "my-cluster",
  "spark_version": "7.3.x-scala2.12",
  "node_type_id": "Standard_D3_v2",
  "enable_local_disk_encryption": true,
  "spark_conf": {
    "spark.speculation": true
  },
  "num_workers": 25
}

Tryb zabezpieczeń

Jeśli obszar roboczy jest przypisany do magazynu metadanych wykazu aparatu Unity, należy użyć trybu zabezpieczeń zamiast trybu klastra o wysokiej współbieżności, aby zapewnić integralność kontroli dostępu i wymusić silną izolację. Tryb klastra o wysokiej współbieżności nie jest dostępny w katalogu aparatu Unity.

W obszarze Opcje zaawansowane wybierz spośród następujących trybów zabezpieczeń klastra:

  • Brak: brak izolacji. Nie wymusza kontroli dostępu do tabeli lokalnej obszaru roboczego ani przekazywania poświadczeń. Nie można uzyskać dostępu do danych wykazu aparatu Unity.
  • Pojedynczy użytkownik: może być używany tylko przez jednego użytkownika (domyślnie użytkownika, który utworzył klaster). Inni użytkownicy nie mogą dołączać do klastra. Podczas uzyskiwania dostępu do widoku z klastra z trybem zabezpieczeń Pojedynczy użytkownik widok jest wykonywany z uprawnieniami użytkownika. Klastry pojedynczego użytkownika obsługują obciążenia przy użyciu skryptów Python, Scala i R. Skrypty inicjowania, instalacja biblioteki i instalacje systemu plików DBFS są obsługiwane w klastrach pojedynczego użytkownika. Zadania automatyczne powinny używać klastrów z jednym użytkownikiem.
  • Izolacja użytkownika: może być współużytkowany przez wielu użytkowników. Obsługiwane są tylko obciążenia SQL. Instalacja biblioteki, skrypty inicjowania i instalacje systemu plików DBFS są wyłączone, aby wymusić ścisłą izolację wśród użytkowników klastra.
  • Tylko lista ACL tabeli (starsza wersja): wymusza kontrolę dostępu do tabel lokalnych obszaru roboczego, ale nie może uzyskać dostępu do danych wykazu aparatu Unity.
  • Tylko przekazywanie (starsza wersja): wymusza przekazywanie poświadczeń lokalnych obszaru roboczego, ale nie może uzyskać dostępu do danych wykazu aparatu Unity.

Jedynymi trybami zabezpieczeń obsługiwanymi dla obciążeń wykazu aparatu Unity są izolacja pojedynczego użytkownika i użytkownika.

Aby uzyskać więcej informacji, zobacz Tryby dostępu.

Konfiguracja platformy Spark

Aby dostosować zadania platformy Spark, możesz podać niestandardowe właściwości konfiguracji platformy Spark w konfiguracji klastra.

  1. Na stronie konfiguracja klastra kliknij przełącznik Opcje zaawansowane.

  2. Kliknij kartę Spark .

    Konfiguracja platformy Spark

    W konfiguracji platformy Spark wprowadź właściwości konfiguracji jako jedną parę klucz-wartość na wiersz.

Podczas konfigurowania klastra przy użyciu interfejsu API klastra ustaw właściwości platformy Spark w polu w spark_conf interfejsie API Tworzenia nowego klastra lub Zaktualizuj interfejs API konfiguracji klastra.

Usługa Databricks nie zaleca używania globalnych skryptów inicjowania.

Aby ustawić właściwości platformy Spark dla wszystkich klastrów, utwórz globalny skrypt inicjowania:

dbutils.fs.put("dbfs:/databricks/init/set_spark_params.sh","""
  |#!/bin/bash
  |
  |cat << 'EOF' > /databricks/driver/conf/00-custom-spark-driver-defaults.conf
  |[driver] {
  |  "spark.sql.sources.partitionOverwriteMode" = "DYNAMIC"
  |}
  |EOF
  """.stripMargin, true)

Pobieranie właściwości konfiguracji platformy Spark z wpisu tajnego

Usługa Databricks zaleca przechowywanie poufnych informacji, takich jak hasła, w wpisie tajnym zamiast zwykłego tekstu. Aby odwołać się do wpisu tajnego w konfiguracji platformy Spark, użyj następującej składni:

spark.<property-name> {{secrets/<scope-name>/<secret-name>}}

Aby na przykład ustawić właściwość konfiguracji platformy Spark o nazwie password na wartość wpisu tajnego przechowywanego w secrets/acme_app/passwordpliku :

spark.password {{secrets/acme-app/password}}

Aby uzyskać więcej informacji, zobacz Składnia odwoływania się do wpisów tajnych w właściwości konfiguracji platformy Spark lub zmiennej środowiskowej.

Zmienne środowiskowe

Możesz skonfigurować niestandardowe zmienne środowiskowe, do których można uzyskać dostęp za pomocą skryptów inicjowania uruchomionych w klastrze. Usługa Databricks udostępnia również wstępnie zdefiniowane zmienne środowiskowe, których można używać w skryptach inicjowania. Nie można zastąpić tych wstępnie zdefiniowanych zmiennych środowiskowych.

  1. Na stronie konfiguracja klastra kliknij przełącznik Opcje zaawansowane.

  2. Kliknij kartę Spark .

  3. Ustaw zmienne środowiskowe w polu Zmienne środowiskowe.

    Pole Zmienne środowiskowe

Zmienne środowiskowe można również ustawić przy użyciu spark_env_vars pola w interfejsie API tworzenia nowego klastra lub aktualizowaniu interfejsu API konfiguracji klastra.

Tagi klastra

Tagi klastra umożliwiają łatwe monitorowanie kosztów zasobów w chmurze używanych przez różne grupy w organizacji. Tagi można określić jako pary klucz-wartość podczas tworzenia klastra, a usługa Azure Databricks stosuje te tagi do zasobów w chmurze, takich jak maszyny wirtualne i woluminy dysków, a także raporty użycia jednostek DBU.

W przypadku klastrów uruchomionych z pul niestandardowe tagi klastra są stosowane tylko do raportów użycia jednostek DBU i nie są propagowane do zasobów w chmurze.

Aby uzyskać szczegółowe informacje na temat współdziałania typów tagów puli i klastra, zobacz Monitorowanie użycia przy użyciu tagów.

Dla wygody usługa Azure Databricks stosuje cztery tagi domyślne do każdego klastra: Vendor, , CreatorClusterNamei ClusterId.

Ponadto w klastrach zadań usługa Azure Databricks stosuje dwa tagi domyślne: RunName i JobId.

W przypadku zasobów używanych przez usługę Databricks SQL usługa Azure Databricks stosuje również tag SqlWarehouseIddomyślny .

Ostrzeżenie

Nie przypisuj tagu niestandardowego z kluczem Name do klastra. Każdy klaster ma tag Name , którego wartość jest ustawiana przez usługę Azure Databricks. Jeśli zmienisz wartość skojarzona z kluczem Name, klaster nie może być już śledzony przez usługę Azure Databricks. W związku z tym klaster może nie zostać przerwany po stanie bezczynności i będzie nadal ponosić koszty użycia.

Tagi niestandardowe można dodawać podczas tworzenia klastra. Aby skonfigurować tagi klastra:

  1. Na stronie konfiguracja klastra kliknij przełącznik Opcje zaawansowane.

  2. W dolnej części strony kliknij kartę Tagi .

    Karta Tagi

  3. Dodaj parę klucz-wartość dla każdego tagu niestandardowego. Możesz dodać maksymalnie 43 tagi niestandardowe.

Dostęp SSH do klastrów

Ze względów bezpieczeństwa w usłudze Azure Databricks port SSH jest domyślnie zamykany. Jeśli chcesz włączyć dostęp SSH do klastrów Spark, skontaktuj się z pomocą techniczną usługi Azure Databricks.

Uwaga

Protokół SSH można włączyć tylko wtedy, gdy obszar roboczy zostanie wdrożony we własnej sieci wirtualnej platformy Azure.

Dostarczanie dziennika klastra

Podczas tworzenia klastra można określić lokalizację, do której będą dostarczane dzienniki dotyczące węzła sterownika, węzłów roboczych i zdarzeń platformy Spark. Dzienniki są dostarczane co pięć minut do wybranego miejsca docelowego. Po zakończeniu działania klastra usługa Azure Databricks gwarantuje dostarczenie wszystkich dzienników wygenerowanych do momentu zakończenia działania klastra.

Miejsce docelowe dzienników zależy od identyfikatora klastra. Jeśli określony obiekt docelowy to dbfs:/cluster-log-delivery, dzienniki klastra dla 0630-191345-leap375 programu są dostarczane do dbfs:/cluster-log-delivery/0630-191345-leap375programu .

Aby skonfigurować lokalizację dostarczania dziennika:

  1. Na stronie konfiguracja klastra kliknij przełącznik Opcje zaawansowane.

  2. Kliknij kartę Rejestrowanie .

    Dostarczanie dziennika klastra

  3. Wybierz typ miejsca docelowego.

  4. Wprowadź ścieżkę dziennika klastra.

Uwaga

Ta funkcja jest również dostępna w interfejsie API REST. Zobacz interfejs API klastrów.

Skrypty init

Inicjowanie węzła klastra —lub inicjowanie — skrypt to skrypt powłoki uruchamiany podczas uruchamiania dla każdego węzła klastra przed uruchomieniem sterownika spark lub maszyny wirtualnej JVM procesu roboczego. Skrypty inicjowania umożliwiają instalowanie pakietów i bibliotek, które nie są uwzględnione w środowisku uruchomieniowym usługi Databricks, modyfikowanie ścieżki klas systemu JVM, ustawianie właściwości systemu i zmiennych środowiskowych używanych przez maszynę JVM lub modyfikowanie parametrów konfiguracji platformy Spark między innymi zadaniami konfiguracyjnymi.

Skrypty inicjowania można dołączyć do klastra, rozwijając sekcję Opcje zaawansowane i klikając kartę Skrypty inicjowania .

Aby uzyskać szczegółowe instrukcje, zobacz Co to są skrypty inicjowania?.