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.sparkContexti sqlContext nie są obsługiwane.

  • Usługi kontenerów usługi Databricks nie są obsługiwane.

  • Terminal internetowy nie jest obsługiwany.

  • Ż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.crtlokalizacji . 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

Ograniczenia uczenia maszynowego

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