Ograniczenia obliczeń bezserwerowych
W tym artykule opisano bieżące ograniczenia obliczeń bezserwerowych dla notesów i zadań. Począwszy od przeglądu najważniejszych zagadnień, a następnie kompleksowej listy referencyjnej ograniczeń.
Omówienie ograniczeń
Przed utworzeniem nowych obciążeń lub migracją obciążeń do obliczeń bezserwerowych należy najpierw wziąć pod uwagę następujące ograniczenia:
Języki Python i SQL są jedynymi obsługiwanymi językami.
Obsługiwane są tylko interfejsy API połączeń platformy Spark. Interfejsy API RDD platformy Spark nie są obsługiwane.
Biblioteki JAR nie są obsługiwane. Aby uzyskać obejścia, zobacz Najlepsze rozwiązania dotyczące przetwarzania bezserwerowego.
Bezserwerowe zasoby obliczeniowe mają nieograniczony dostęp dla wszystkich użytkowników obszaru roboczego.
Tagi notesu nie są obsługiwane.
W przypadku przesyłania strumieniowego można używać tylko logiki partii przyrostowej. Brak obsługi domyślnych lub opartych na czasie interwałów wyzwalaczy. Zobacz Ograniczenia przesyłania strumieniowego.
Lista odwołań dotyczących ograniczeń
W poniższych sekcjach wymieniono bieżące ograniczenia obliczeń bezserwerowych.
Obliczenia bezserwerowe są oparte na współużytkowanej architekturze obliczeniowej. Poniżej wymieniono najbardziej istotne ograniczenia dziedziczone z współużytkowanych zasobów obliczeniowych wraz z dodatkowymi ograniczeniami specyficznymi dla serwera. Aby uzyskać pełną listę współużytkowanych ograniczeń obliczeniowych, zobacz Ograniczenia trybu dostępu obliczeniowego dla wykazu aparatu Unity.
Ogólne ograniczenia
Język Scala i R nie są obsługiwane.
Usługa ANSI SQL jest wartością domyślną podczas pisania kodu SQL. Zrezygnuj z trybu ANSI, ustawiając wartość
spark.sql.ansi.enabled
.false
Interfejsy API RDD platformy Spark nie są obsługiwane.
Kontekst platformy Spark (sc),
spark.sparkContext
isqlContext
nie są obsługiwane.Usługi kontenerów usługi Databricks nie są obsługiwane.
Żadne zapytanie nie może działać dłużej niż 48 godzin.
Aby nawiązać połączenie z zewnętrznymi źródłami danych, musisz użyć wykazu aparatu Unity. Użyj lokalizacji zewnętrznych, aby uzyskać dostęp do magazynu w chmurze.
Obsługa źródeł danych jest ograniczona do AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT i XML.
Funkcje zdefiniowane przez użytkownika (UDF) nie mogą uzyskać dostępu do Internetu.
Pojedyncze wiersze nie mogą przekraczać maksymalnego rozmiaru 128 MB.
Interfejs użytkownika platformy Spark jest niedostępny. Zamiast tego użyj profilu zapytania, aby wyświetlić informacje o zapytaniach platformy Spark. Zobacz Profil zapytania.
Klienci języka Python korzystający z punktów końcowych usługi Databricks mogą napotkać błędy weryfikacji SSL, takie jak "CERTIFICATE_VERIFY_FAILED". Aby obejść te błędy, skonfiguruj klienta tak, aby ufał plikowi urzędu certyfikacji znajdującemu się w
/etc/ssl/certs/ca-certificates.crt
lokalizacji . Na przykład uruchom następujące polecenie na początku notesu lub zadania bezserwerowego:import os; os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
Żądania interfejsu API między obszarami roboczymi nie są obsługiwane.
Ograniczenia przesyłania strumieniowego
- Brak obsługi domyślnych lub opartych na czasie interwałów wyzwalaczy. Obsługiwany jest tylko warunek
Trigger.AvailableNow
. Zobacz Konfigurowanie interwałów wyzwalacza przesyłania strumieniowego ze strukturą. - Obowiązują również wszystkie ograniczenia dotyczące przesyłania strumieniowego w trybie dostępu współdzielonego. Zobacz Ograniczenia i wymagania dotyczące przesyłania strumieniowego dla trybu dostępu współdzielonego wykazu aparatu Unity.
Ograniczenia uczenia maszynowego
- Środowisko Databricks Runtime dla uczenia maszynowego i biblioteki MLlib platformy Apache Spark nie są obsługiwane.
- Procesory GPU nie są obsługiwane.
Ograniczenia notesów
- Notesy mają dostęp do pamięci 8 GB, której nie można skonfigurować.
- Biblioteki o zakresie notesu nie są buforowane w sesjach programowania.
- Udostępnianie tabel i widoków TEMP w przypadku udostępniania notesu między użytkownikami nie jest obsługiwane.
- Autouzupełnianie i Eksplorator zmiennych dla ramek danych w notesach nie są obsługiwane.
Ograniczenia przepływu pracy
- Rozmiar sterownika dla obliczeń bezserwerowych dla zadań jest obecnie stały i nie można go zmienić.
- Dzienniki zadań nie są izolowane na przebieg zadania. Dzienniki będą zawierać dane wyjściowe z wielu zadań.
- Biblioteki zadań nie są obsługiwane w przypadku zadań notesu. Zamiast tego użyj bibliotek o zakresie notesu. Zobacz Biblioteki języka Python o zakresie notesu.
Ograniczenia specyficzne dla obliczeń
Następujące funkcje specyficzne dla obliczeń nie są obsługiwane:
- Zasady obliczeniowe
- Skrypty inicjowania o zakresie obliczeniowym
- Biblioteki o zakresie obliczeniowym, w tym niestandardowe źródła danych i rozszerzenia platformy Spark. Zamiast tego użyj bibliotek o zakresie notesu .
- Konfiguracje dostępu do danych na poziomie obliczeniowym, w tym profile wystąpień. W związku z tym uzyskiwanie dostępu do tabel i plików za pośrednictwem systemu HMS w ścieżkach w chmurze lub instalacji systemu plików DBFS, które nie mają osadzonych poświadczeń, nie będzie działać.
- Pule wystąpień
- Dzienniki zdarzeń obliczeniowych
- Konfiguracje obliczeń platformy Apache Spark i zmienne środowiskowe