Udostępnij za pośrednictwem


Ograniczenia przetwarzania bezserwerowego

W tym artykule opisano bieżące ograniczenia obliczeń bezserwerowych dla notesów i zadań. Rozpoczyna się od omówienia najważniejszych zagadnień, a następnie zawiera kompleksową listę odwołań dotyczących 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. W związku z tym polecenie CREATE FUNCTION (external) nie jest obsługiwane. Usługa Databricks zaleca używanie funkcji CREATE (SQL i Python) do tworzenia funkcji zdefiniowanych przez użytkownika.

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

  • Dzienniki platformy Spark nie są dostępne w przypadku korzystania z notesów i zadań bezserwerowych. Użytkownicy mają dostęp tylko do dzienników aplikacji po stronie klienta.

  • Dostęp między obszarami roboczymi jest dozwolony tylko wtedy, gdy obszary robocze znajdują się w tym samym regionie, a docelowy obszar roboczy nie ma skonfigurowanej listy ACL adresów IP ani frontonu PrivateLink.

  • Globalne widoki tymczasowe nie są obsługiwane. Usługa Databricks zaleca używanie widoków tymczasowych sesji lub tworzenie tabel, w których wymagane jest przekazywanie danych między sesjami.

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
  • Większość konfiguracji obliczeniowych platformy Apache Spark. Aby uzyskać listę obsługiwanych konfiguracji, zobacz Obsługiwane parametry konfiguracji platformy Spark.
  • Zmienne środowiskowe. Zamiast tego usługa Databricks zaleca używanie widżetów do tworzenia parametrów zadania i zadania.

Ograniczenia buforowania

Interfejsy API ramki danych i pamięci podręcznej SQL nie są obsługiwane w przypadku obliczeń bezserwerowych. Użycie dowolnego z tych interfejsów API lub poleceń SQL spowoduje wyjątek.

Ograniczenia programu Hive

  • Tabele usługi Hive SerDe nie są obsługiwane. Ponadto odpowiednie polecenie LOAD DATA , które ładuje dane do tabeli Usługi Hive SerDe, nie jest obsługiwane. Użycie polecenia spowoduje wyjątek.

    Obsługa źródeł danych jest ograniczona do AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT i XML.

  • Zmienne Hive (na przykład ${env:var}, ${configName}, ${system:var}i spark.sql.variable) lub odwołania do zmiennych konfiguracji przy użyciu ${var} składni nie są obsługiwane. Użycie zmiennych Hive spowoduje wyjątek.

    Zamiast tego użyj metody DECLARE VARIABLE, SET VARIABLE i SQL session variable references and parameter markers ('?', or ':var'), aby zadeklarować, zmodyfikować i odwołać stan sesji. Można również użyć klauzuli IDENTIFIER, aby sparametryzować nazwy obiektów w wielu przypadkach.