Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skrypt inicjowania to skrypt powłoki uruchamiany przy starcie każdego węzła klastra przed uruchomieniem sterownika Apache Spark lub programu wykonawczego JVM. Ten artykuł zawiera zalecenia dotyczące skryptów inicjowania i informacji o konfiguracji, jeśli musisz ich użyć.
Zalecenia dotyczące skryptów inicjowania
Usługa Databricks zaleca używanie wbudowanych funkcji platformy zamiast skryptów inicjowania, gdy tylko jest to możliwe. Powszechne stosowanie skryptów init może spowolnić migrację do nowych wersji środowiska Databricks Runtime i zapobiec wdrożeniu niektórych optymalizacji usługi Databricks.
Ważne
Jeśli musisz przeprowadzić migrację ze skryptów init w systemie plików DBFS, zobacz Migrowanie skryptów inicjowania z systemu plików DBFS.
Następujące funkcje usługi Databricks dotyczą niektórych typowych przypadków użycia skryptów inicjowania:
- Użyj zasad obliczeniowych, aby ustawić właściwości systemu, zmienne środowiskowe i parametry konfiguracji platformy Spark. Zobacz Odniesienie do zasad obliczeniowych.
- Dodaj biblioteki do polityk klastra. Zobacz Dodawanie bibliotek do zasad.
Jeśli musisz użyć skryptów init:
- Zarządzaj skryptami inicjowania, używając polityk obliczeniowych lub skryptów inicjowania o zakresie klastra zamiast globalnych skryptów inicjowania. Zobacz typy skryptów init.
- Zarządzanie instalacją biblioteki dla środowisk produkcyjnych i interaktywnych przy użyciu zasad obliczeniowych. Nie instaluj bibliotek przy użyciu skryptów init. Zobacz zasady obliczeniowe.
- Użyj standardowego trybu dostępu (dawniej trybu dostępu współdzielonego) dla wszystkich obciążeń. Używaj trybu dedykowanego dostępu (dawniej trybu dostępu pojedynczego użytkownika), jeśli wymagane funkcje nie są obsługiwane przez standardowy tryb dostępu.
- Używaj nowych wersji Databricks Runtime i Unity Catalog do wszystkich zadań.
Poniższa tabela zawiera zalecenia zorganizowane według wersji Databricks Runtime i włączenia Unity Catalog.
| Środowisko | Zalecenie |
|---|---|
| Databricks Runtime 13.3 LTS i nowsze z Unity Catalog | Przechowuj skrypty inicjowania w katalogu Unity w woluminach . |
| Databricks Runtime 11.3 LTS lub nowszy bez katalogu Unity | Przechowuj skrypty inicjowania jako pliki obszaru roboczego. (Limit rozmiaru pliku to 500 MB). |
| Databricks Runtime 10.4 LTS i starsze | Przechowywanie skryptów inicjowania przy użyciu magazynu obiektów w chmurze. |
Jakie typy skryptów inicjowania obsługuje usługa Azure Databricks?
Usługa Azure Databricks obsługuje dwa rodzaje skryptów inicjowania: skrypty inicjowania o zakresie klastra i globalne, ale zalecane są użycie skryptów inicjowania o zakresie klastra.
- O zasięgu klastra: uruchamiane na każdym klastrze skonfigurowanym za pomocą skryptu. Jest to zalecany sposób uruchamiania skryptu init. Zobacz Skrypty inicjowania dla klastra.
- Global: uruchom we wszystkich klastrach w obszarze roboczym skonfigurowanym z dedykowanym trybem dostępu lub trybem współdzielonego dostępu bez izolacji. Te skrypty inicjowania mogą powodować nieoczekiwane problemy, takie jak konflikty biblioteki. Tylko administratorzy obszaru roboczego mogą tworzyć globalne skrypty inicjowania. Zobacz Globalne skrypty inicjowania.
Za każdym razem, gdy zmienisz dowolny typ skryptu inicjowania, musisz ponownie uruchomić wszystkie klastry, na które ma wpływ skrypt.
Globalne skrypty startowe są uruchamiane przed skryptami startowymi w zakresie klastra.
Ważne
Starsze skrypty globalne i skrypty inicjalizacyjne nazwane klastrem są uruchamiane przed innymi skryptami inicjalizacyjnymi. Te skrypty inicjowania zostały wycofane, ale mogą być obecne w obszarach roboczych utworzonych przed 21 lutego 2023 r. Zobacz Skrypty inicjowania przypisane do klastra (wersja legacy) i Globalne skrypty inicjowania (wersja legacy).
Gdzie można zainstalować skrypty inicjowania?
Skrypty inicjowania można przechowywać i konfigurować z plików obszaru roboczego, woluminów Unity Catalog i magazynu obiektów w chmurze, ale skrypty inicjowania nie są obsługiwane we wszystkich konfiguracjach klastra, a nie wszystkie pliki mogą być odwoływane w skryptach inicjowania. Aby uzyskać zalecenia dotyczące środowiska skryptów inicjowania, zobacz Zalecenia dotyczące skryptów inicjowania.
W poniższej tabeli przedstawiono obsługę skryptów inicjowania na podstawie lokalizacji źródłowej i trybu dostępu do klastra. Wyświetlona wersja środowiska Databricks Runtime jest minimalną wersją wymaganą do użycia kombinacji. Aby uzyskać informacje o trybach dostępu do klastra, zobacz Tryby dostępu.
Uwaga
Tryb dostępu standardowego wymaga od administratora dodania skryptów inicjalizacyjnych do allowlist. Zobacz listę dozwolonych bibliotek i skrypty inicjujące dla obliczeń w standardowym trybie dostępu (dawniej znany jako tryb współdzielonego dostępu).
| Tryb dostępu standardowego | Tryb pojedynczego dostępu | Tryb dostępu współdzielonego bez izolacji | |
|---|---|---|---|
| Pliki obszaru roboczego | Niewspierane | Wszystkie obsługiwane wersje środowiska Databricks Runtime. W wersjach starszych niż 11.3 LTS skrypty inicjowania odwołujące się do innych plików obszaru roboczego nie są obsługiwane. |
Wszystkie obsługiwane wersje środowiska Databricks Runtime. |
| Objętości | 13.3 LTS i nowsze | 13.3 LTS i nowsze | Niewspierane |
| Magazyn w chmurze | 13.3 LTS i nowsze | Wszystkie obsługiwane wersje środowiska Databricks Runtime | Wszystkie obsługiwane wersje środowiska Databricks Runtime |
Migrowanie skryptów inicjowania z systemu plików DBFS
Ostrzeżenie
Skrypty inicjowania w systemie plików DBFS osiągnęły koniec życia i nie można ich już używać. Przed rozpoczęciem obliczeń należy przeprowadzić migrację skryptów inicjowania do obsługiwanej lokalizacji. Przechowuj skrypty inicjowania na woluminach Unity Catalog, jako pliki obszaru roboczego lub w przechowywaniu obiektów w chmurze.
Użytkownicy, którzy muszą migrować skrypty inicjowania z systemu plików DBFS, mogą korzystać z poniższych przewodników. Upewnij się, że prawidłowy cel został zidentyfikowany dla Twojej konfiguracji. Zobacz Zalecenia dotyczące skryptów inicjowania.