Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Postępuj zgodnie z tymi zaleceniami, aby zmaksymalizować produktywność, zmniejszyć koszty i zwiększyć niezawodność podczas korzystania z bezserwerowych obliczeń dla notesów, zadań i potoków na Azure Databricks.
Migrowanie obciążeń do obliczeń bezserwerowych
Aby uzyskać instrukcje krok po kroku dotyczące migracji z klasycznego środowiska obliczeniowego do bezserwerowego, w tym wymagań wstępnych, wymaganych zmian kodu, strategii testowania i planu wdrażania etapowego, zobacz Migrowanie z klasycznego środowiska obliczeniowego do bezserwerowych obliczeń.
Określanie wersji pakietów Python
Podczas migracji do bezserwerowych zasobów obliczeniowych przypnij pakiety Python do określonych wersji, aby zapewnić powtarzalne środowiska. Jeśli nie określisz wersji, pakiet może rozpoznać inną wersję na podstawie wersji środowiska bezserwerowego, co może zwiększyć opóźnienie, ponieważ należy zainstalować nowe pakiety.
Na przykład plik requirements.txt powinien zawierać określone wersje pakietów, takie jak:
numpy==2.2.2
pandas==2.2.3
Używanie unikatowych nazw dla widoków tymczasowych
Obliczenia bezserwerowe używają platformy Spark Connect— architektury klient-serwer, która ocenia tymczasowe widoki leniwie. To zachowanie różni się od klasycznej architektury platformy Spark i może powodować błędy, gdy kod ponownie używa tej samej tymczasowej nazwy widoku, na przykład w pętli.
Aby uniknąć błędów, użyj unikatowych nazw dla wszystkich widoków tymczasowych w kodzie.
Sieć i łączność
Przetwarzanie bezserwerowe nie obsługuje peeringu VPC, co jest typowym sposobem łączenia klasycznego systemu obliczeniowego Databricks ze źródłami danych w Twoim koncie chmurowym. Alternatywnie można użyć konfiguracji łączności sieciowej do zarządzania punktami końcowymi, zaporami i łącznością z usługami zewnętrznymi.
Na przykład można dodać zestaw stałych adresów IP ruchu wychodzącego w zewnętrznych VPC do listy dozwolonych, aby umożliwić łączność do i z bezserwerowych obliczeń Azure Databricks. Aby nawiązać połączenie z aplikacjami dla przedsiębiorstw (takimi jak Salesforce) lub zarządzanymi bazami danych (takimi jak MySQL), użyj narzędzia Lakeflow Connect.
Aby ograniczyć i monitorować ruch wychodzący z zasobów obliczeniowych bezserwerowych, skonfiguruj kontrolki ruchu wychodzącego dla obszaru roboczego. Zobacz Zarządzaj zasadami sieciowymi dla kontroli ruchu wychodzącego w środowisku bezserwerowym.
Wersje środowiska bezserwerowego
Środowisko obliczeniowe bezserwerowe używa wersji środowiska zamiast tradycyjnych wersji środowiska Databricks Runtime. Oznacza to zmianę sposobu zarządzania zgodnością obciążeń:
- Podejście do środowiska Databricks Runtime: wybierz określoną wersję środowiska Databricks Runtime dla obciążenia i ręcznie zarządzaj uaktualnieniami, aby zachować zgodność.
- Bezserwerowe podejście: Pisz kod dla wersji środowiska, a Azure Databricks samodzielnie uaktualnia podstawowy serwer.
Wersje środowiska zapewniają stabilny interfejs API klienta, który zapewnia, że obciążenie pozostaje zgodne, podczas gdy Azure Databricks niezależnie zapewnia ulepszenia wydajności, ulepszenia zabezpieczeń i poprawki błędów bez konieczności wprowadzania zmian kodu w obciążeniach.
Każda wersja środowiska zawiera zaktualizowane biblioteki systemowe, funkcje i poprawki błędów przy zachowaniu zgodności z poprzednimi wersjami obciążeń. Azure Databricks obsługuje każdą wersję środowiska przez trzy lata od daty wydania, zapewniając przewidywalny cykl życia planowania uaktualnień.
Aby wybrać środowisko podstawowe dla obciążenia bezserwerowego, zobacz Wybieranie środowiska podstawowego. Aby uzyskać szczegółowe informacje o dostępnych wersjach środowiska i ich funkcjach, zobacz Wersje środowiska bezserwerowego.
Zarządzanie zależnościami
Obliczenia bezserwerowe nie obsługują skryptów inicjowania. Zamiast tego użyj środowisk bezserwerowych , aby zainstalować biblioteki dla obciążeń bezserwerowych i zarządzać nimi. Środowiska buforują zainstalowane pakiety, co zmniejsza opóźnienie uruchamiania dla kolejnych uruchomień.
Aby używać bibliotek z repozytorium prywatnego, skonfiguruj wstępnie podpisane adresy URL na potrzeby dostępu do uwierzytelnionego repozytorium w ustawieniach środowiska.
Wybieranie trybu wydajności
Azure Databricks bezserwerowych zasobów obliczeniowych oferuje dwa tryby wydajności, które umożliwiają równoważenie szybkości i kosztów na podstawie typu obciążenia w następujący sposób:
- Tryb zoptymalizowany pod kątem wydajności (wartość domyślna): najlepiej sprawdza się w przypadku obciążeń interaktywnych wymagających szybkich czasów uruchamiania. Azure Databricks utrzymuje pulę ciepłych zasobów obliczeniowych gotowych do zminimalizowania czasu oczekiwania.
- Tryb standardowy: najlepszy w przypadku zautomatyzowanych zadań wsadowych i potoków, które mogą tolerować dłuższe czasy uruchamiania od 4 do 6 minut. Tryb standardowy może obniżyć koszty o maksymalnie 70% w porównaniu z trybem zoptymalizowanym pod kątem wydajności. Tryb standardowy jest dostępny dla Lakeflow Jobs i potoków deklaratywnych Lakeflow Spark, ale nie dla notebooków.
Wybierz tryb najlepiej zgodny z wymaganiami dotyczącymi obciążenia. W przypadku zaplanowanych zadań, w których opóźnienie uruchamiania nie jest krytyczne, tryb standardowy zwykle oferuje najlepszą wartość. Aby uzyskać bieżące szczegóły cennika, zobacz stronę cennika usługi Databricks.
Optymalizowanie obciążeń przesyłania strumieniowego
Przetwarzanie bezserwerowe obsługuje przesyłanie strumieniowe ze strukturą za pomocą polecenia Trigger.AvailableNow. Interwały wyzwalacza oparte na czasie nie są obsługiwane. Aby uzyskać szczegółowe informacje na temat obsługiwanych wyzwalaczy, przykładów kodu i alternatyw dla ciągłego przesyłania strumieniowego, zobacz sekcję dotyczącą przesyłania strumieniowego w przewodniku migracji.
W przypadku korzystania z Trigger.AvailableNow, każdy wyzwalacz przetwarza wszystkie dostępne dane w źródle, co może spowodować powstanie większych mikro-batów niż wyzwalacz oparty na czasie. Aby zapobiec błędom braku pamięci i zachować przewidywalną wydajność, ogranicz ilość danych przetwarzanych w każdej mikroszeregacji przez ustawienie maxFilesPerTrigger lub maxBytesPerTrigger.
Debugowanie obciążeń bezserwerowych
Interfejs użytkownika platformy Spark nie jest dostępny w obliczeniach bezserwerowych. Zamiast tego użyj profilu zapytania, aby analizować wydajność zapytań i rozwiązywać problemy z obciążeniami. Profil zapytania zawiera szczegółowe informacje dotyczące wykonywania i jest dostępny z historii zapytań w interfejsie użytkownika Azure Databricks.
Pozyskiwanie danych z systemów zewnętrznych
Alternatywne strategie, których można użyć do spożycia, obejmują:
- Bloki konstrukcyjne oparte na SQL, takie jak COPY INTO i tabele strumieniowe.
- Automatyczne ładowanie w celu przyrostowego i wydajnego przetwarzania nowych plików danych w miarę ich przybycia do magazynu w chmurze. Zobacz Co to jest moduł automatycznego ładowania?.
- Rozwiązania partnerów pozyskiwania danych. Zobacz Połączenie z partnerami wdrażania przez Partner Connect.
- Interfejs użytkownika dodawania danych do bezpośredniego przekazywania plików. Zobacz Tworzenie lub modyfikowanie tabeli za pomocąprzesyłania pliku.
Alternatywy pozyskiwania
W przypadku korzystania z obliczeń bezserwerowych można również użyć następujących funkcji, aby wykonywać zapytania dotyczące danych bez ich przenoszenia.
- Jeśli chcesz ograniczyć duplikowanie danych lub zagwarantować, że wykonujesz zapytania dotyczące najświeższych możliwych danych, Databricks zaleca korzystanie z Delta Sharing. Zobacz Co to jest Delta Sharing?.
- W przypadku raportowania ad hoc i dowodu koncepcji, Lakehouse Federation umożliwia wykonywanie zapytań bezpośrednio z Azure Databricks do zewnętrznych baz danych bez przenoszenia danych, zarządzanych przez Unity Catalog. Zobacz Co to jest Federacja Lakehouse?.
Wypróbuj jedną lub obie te funkcje i sprawdź, czy spełniają wymagania dotyczące wydajności zapytań.
Nieobsługiwane ujścia
Jeśli system odbiorczy nie jest obsługiwany jako bezpośredni cel zapisu z bezserwerowych zasobów obliczeniowych, możesz użyć Unity Catalog Iceberg REST Catalog, aby umożliwić systemowi bezpośredni odczyt z tabel Azure Databricks. Na przykład Snowflake nie jest obsługiwaną destynacją bezserwerową, ale można go skonfigurować jako klienta Iceberg do odczytywania tabel zarządzanych przez Unity Catalog.
Takie podejście pozwala uniknąć duplikowania danych i utrzymuje katalog Unity jako warstwę zarządzania dla wszystkich operacji odczytu. Aby uzyskać informacje o obsługiwanych klientach i krokach konfiguracji, zobacz Uzyskiwanie dostępu do tabel Azure Databricks przy użyciu klientów Apache Iceberg.
Obsługiwane konfiguracje platformy Spark
Aby zautomatyzować konfigurację platformy Spark na obliczeniach bezserwerowych, Azure Databricks usunęła obsługę ręcznego ustawiania większości konfiguracji platformy Spark. Aby wyświetlić listę obsługiwanych parametrów konfiguracji platformy Spark, zobacz Konfigurowanie właściwości platformy Spark dla notesów i zadań bezserwerowych.
Wykonanie zadania na bezserwerowym środowisku obliczeniowym zakończy się niepowodzeniem, jeśli ustawisz nieobsługiwaną konfigurację platformy Spark.
Monitorowanie kosztów obliczeń bezserwerowych
Istnieje wiele funkcji, których można użyć, aby ułatwić monitorowanie kosztów obliczeń bezserwerowych:
- Użyj zasad użycia bezserwerowego , aby przypisywać użycie zasobów obliczeniowych bezserwerowych.
- Tabele systemowe umożliwiają tworzenie pulpitów nawigacyjnych, konfigurowanie alertów i wykonywanie zapytań ad hoc. Zobacz Monitorowanie kosztów obliczeń bezserwerowych.
- Skonfiguruj alerty budżetowe na koncie. Zobacz Tworzenie i monitorowanie budżetów.
- Importuj wstępnie skonfigurowany pulpit nawigacyjny użycia. Zobacz Importowanie pulpitu nawigacyjnego użycia.