Udostępnij przez


Standardowe wymagania i ograniczenia dotyczące obliczeń

Ta strona zawiera listę wymagań i ograniczeń dotyczących standardowych obliczeń. Jeśli używasz klasycznych obliczeń, usługa Databricks zaleca korzystanie ze standardowego trybu dostępu, chyba że obciążenie zależy od jednego z ograniczeń wymienionych poniżej.

Ważne

Skrypty inicjowania i biblioteki mają różne wsparcie dla trybów dostępu i wersji środowiska Databricks Runtime. Zobacz Gdzie można zainstalować skrypty inicjowania? oraz biblioteki przypisane do zasobów obliczeniowych.

Bieżące standardowe ograniczenia obliczeniowe

W poniższych sekcjach wymieniono ograniczenia dotyczące standardowych zasobów obliczeniowych opartych na najnowszej wersji środowiska Databricks Runtime. Aby uzyskać ograniczenia dotyczące starszych wersji środowiska Databricks Runtime, zobacz Ograniczenia zależne od środowiska uruchomieniowego.

Jeśli te funkcje są wymagane dla obciążenia, zamiast tego użyj dedykowanych zasobów obliczeniowych .

Ogólne standardowe ograniczenia obliczeniowe

  • Środowisko Uruchomieniowe usługi Databricks dla uczenia maszynowego nie jest obsługiwane. Zamiast tego zainstaluj dowolną bibliotekę ML, która nie jest dołączona do środowiska Databricks Runtime jako biblioteki o zakresie obliczeniowym.
  • Obliczenia z obsługą procesora GPU nie są obsługiwane.
  • Zadania przesyłane za pomocą platformy Spark nie są obsługiwane. Zamiast tego użyj zadania JAR .
  • Narzędzia DBUtils i inni klienci mogą odczytywać tylko z magazynu w chmurze przy użyciu lokalizacji zewnętrznej.
  • Kontenery niestandardowe nie są obsługiwane.
  • Katalog główny DBFS i punkty montowania nie obsługują FUSE.

Ograniczenia języka

  • Język R nie jest obsługiwany.

Ograniczenia interfejsu API platformy Spark

  • Kontekst platformy Spark (sc), spark.sparkContexti sqlContext nie są obsługiwane dla języka Scala:
    • Usługa Azure Databricks zaleca używanie zmiennej spark do interakcji z wystąpieniem SparkSession .
    • Następujące sc funkcje również nie są obsługiwane: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.
  • Właściwość konfiguracji Sparkspark.executor.extraJavaOptions nie jest obsługiwana.
  • Podczas tworzenia ramki danych lokalnych przy użyciu polecenia spark.createDataFramerozmiary wierszy nie mogą przekraczać 128 MB.
  • API RDD nie są obsługiwane.
  • Spark Connect, który jest używany w nowszych wersjach środowiska wykonawczego Databricks, odkłada analizę i rozpoznawanie nazw do czasu wykonywania, co może zmienić zachowanie twojego kodu. Zobacz Porównanie programu Spark Connect z modelem klasycznym platformy Spark.

Ograniczenia funkcji zdefiniowanej przez użytkownika

Ograniczenia przesyłania strumieniowego

Uwaga / Notatka

Niektóre z wymienionych opcji Kafki mają ograniczoną obsługę podczas użycia w obsługiwanych konfiguracjach na Azure Databricks. Wszystkie wymienione ograniczenia platformy Kafka obowiązują zarówno w przypadku przetwarzania wsadowego, jak i strumieniowego. Zobacz Przetwarzanie strumieniowe przy użyciu platform Apache Kafka i Azure Databricks.

  • Nie można używać formatów statestore i state-metadata do zapytań o stan dla stanowych zapytań strumieniowych.
  • Praca ze źródłami gniazd nie jest obsługiwana.
  • sourceArchiveDir musi znajdować się w tej samej lokalizacji zewnętrznej co źródło, gdy używasz option("cleanSource", "archive") ze źródłem danych zarządzanym przez Unity Catalog.
  • W przypadku źródeł i ujść platformy Kafka następujące opcje nie są obsługiwane:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy

Ograniczenia dotyczące sieci i systemu plików

  • Standardowe obliczenia uruchamia polecenia jako użytkownik o niskim poziomie uprawnień zabroniony dostęp do poufnych części systemu plików.
  • Ścieżki stylu POSIX (/) dla systemu plików DBFS nie są obsługiwane.
  • Tylko administratorzy obszaru roboczego i użytkownicy z uprawnieniami ANY FILE mogą bezpośrednio wchodzić w interakcje z plikami przy użyciu systemu plików DBFS.
  • Nie można nawiązać połączenia z usługą metadanych instancji ani z usługą Azure WireServer.

Ograniczenia jądra scala

Podczas korzystania z jądra scala w przypadku standardowych obliczeń obowiązują następujące ograniczenia:

  • Pewne klasy nie mogą być używane w twoim kodzie, jeśli powodują konflikt z wewnętrzną biblioteką jądra Almond, zwłaszcza Input. Aby uzyskać listę zdefiniowanych importów migdałów, zobacz import migdałów.
  • Rejestrowanie bezpośrednio w usłudze log4j nie jest obsługiwane.
  • W interfejsie użytkownika nie obsługiwane jest rozwijane menu schematu ramki danych.
  • Jeśli sterownik napotka problem z brakiem pamięci (OOM), środowisko Scala REPL nie zakończy działania.
  • //connector/sql-aws-connectors:sql-aws-connectors nie znajduje się w docelowym bazelu języka Scala REPL, skorzystaj z wyników w ClassNotFoundException.
  • Jądro Scala jest niezgodne z sqlImplicits.

Ograniczenia zależne od środowiska uruchomieniowego

Następujące ograniczenia zostały rozwiązane za pośrednictwem aktualizacji środowiska uruchomieniowego, ale nadal mogą dotyczyć obciążenia, jeśli używasz starszego środowiska uruchomieniowego.

Obsługa języków

Funkcja Wymagana wersja środowiska Databricks Runtime
Scala 13.3 lub nowsza
Wszystkie biblioteki Java i Scala połączone ze środowiskiem uruchomieniowym są domyślnie dostępne 15.4 LTS lub nowszy (dla wersji 15.3 lub nowszej ustaw wartość spark.databricks.scala.kernel.fullClasspath.enabled=true)

Obsługa interfejsu API platformy Spark

Funkcja Wymagana wersja środowiska Databricks Runtime
Spark ML 17.0 lub nowsze
Python: SparkContext (sc), , spark.sparkContextsqlContext 14.0 lub nowsza
Scala Dataset ops: map, , mapPartitionsforeachPartition, flatMap, , reducefilter 15.4 LTS lub nowsze

Obsługa funkcji zdefiniowanej przez użytkownika

Funkcja Wymagana wersja środowiska Databricks Runtime
applyInPandas, mapInPandas 14.3 LTS lub nowszy
Scala skalarne funkcje zdefiniowane przez użytkownika i scala UDAFs 14.3 LTS lub nowszy
Importowanie modułów z folderów Git, plików obszaru roboczego lub woluminów w funkcjach zdefiniowanych przez użytkownika PySpark 14.3 LTS lub nowszy
Używanie niestandardowych wersji obiektów , grpclub pyarrow w funkcjach zdefiniowanych protobufprzez użytkownika PySpark za pośrednictwem bibliotek o zakresie notesu lub obliczeń 14.3 LTS lub nowszy
Nieskalowane funkcje zdefiniowane przez użytkownika języka Python i biblioteki Pandas, w tym funkcje UDAFs, funkcje zdefiniowane przez użytkownika i biblioteki Pandas na platformie Spark 14.3 LTS lub nowszy
Skalarne funkcje zdefiniowane przez użytkownika języka Python i funkcje zdefiniowane przez użytkownika biblioteki Pandas 13.3 LTS lub nowszy

Obsługa przesyłania strumieniowego

Funkcja Wymagana wersja środowiska Databricks Runtime
transformWithStateInPandas 16.3 lub nowsza
applyInPandasWithState 14.3 LTS lub nowszy
Scala foreach 16.1 lub nowszy
Scala foreachBatch i flatMapGroupsWithState 16.2 lub nowsza
Scala from_avro 14.2 lub nowsza
Opcje kafka.ssl.truststore.location platformy Kafka i kafka.ssl.keystore.location (określona lokalizacja musi być lokalizacją zewnętrzną zarządzaną przez wykaz aparatu Unity) 13.3 LTS lub nowszy
Scala StreamingQueryListener 16.1 lub nowszy
Interakcja języka Python StreamingQueryListener z obiektami zarządzanymi przez wykaz aparatu Unity 14.3 LTS lub nowszy

Ponadto w przypadku języka Python foreachBatch zmiany zachowania w środowisku Databricks Runtime 14.0 lub nowszym są następujące:

  • print() polecenia zapisują dane wyjściowe w dziennikach sterowników.
  • Nie można uzyskać dostępu do modułu dbutils.widgets podrzędnego wewnątrz funkcji.
  • Wszystkie pliki, moduły lub obiekty, do których odwołuje się funkcja, muszą być serializowalne i dostępne na platformie Spark.

Obsługa sieci i systemu plików

Funkcja Wymagana wersja środowiska Databricks Runtime
Połączenia z portami innymi niż 80 i 443 12.2 LTS lub nowszy