Udostępnij za pośrednictwem


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 Twojego obciążenia, użyj dedykowanych zasobów obliczeniowych.

Ogólne standardowe ograniczenia obliczeniowe

  • Środowisko uruchomieniowe Databricks Runtime ML dla uczenia maszynowego nie jest obsługiwane. Zamiast tego zainstaluj dowolną bibliotekę ML, która nie jest dołączona do Databricks Runtime, jako bibliotekę o zakresie użycia w obliczeniach.
  • 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 oraz inni klienci mogą odczytywać dane z magazynu chmurowego tylko 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 UDF

  • Funkcje UDF zdefiniowane przez użytkownika w Hive nie są obsługiwane. Zamiast tego należy używać funkcji zdefiniowanych przez użytkownika w Unity Catalog.
  • Nie można używać UDFów Scali wewnątrz funkcji wyższego rzędu.

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 Nawiązywanie połączenia z platformą Apache Kafka.

  • 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
  • Język Python foreachBatch nie obsługuje ThreadPoolExecutor ani wykonywania wielowątkowego. Wykonywanie wielowątkowe może nie zgłaszać błędów, ale może spowodować uszkodzenie danych lub niespójne wyniki.

Ograniczenia dotyczące sieci i systemu plików

  • Standardowe obliczenia komputerowe uruchamiają polecenia jako użytkownik o niskim poziomie uprawnień z zabronionym dostępem 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.sparkContext, sqlContext 14.0 lub nowsza
Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, reduce, filter 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 UDF i Scala funkcje agregujące UDAF 14.3 LTS lub nowszy
Importowanie modułów z folderów Git, plików przestrzeni roboczej lub wolumenów w funkcjach użytkownika PySpark 14.3 LTS lub nowszy
Użyj niestandardowych wersji grpc, pyarrow lub protobuf w funkcjach zdefiniowanych przez użytkownika PySpark za pośrednictwem bibliotek o zakresie notesu lub obliczeń 14.3 LTS lub nowszy
Nieskalarnych funkcji zdefiniowanych przez użytkownika (UDFs) w języku Python i Pandas, w tym UDAFs, UDTFs oraz Pandas on Spark 14.3 LTS lub nowszy
Skalarne UDF-y w Pythonie i UDF-y w 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 i kafka.ssl.keystore.location (określona lokalizacja musi być lokalizacją zewnętrzną zarządzaną przez Unity Catalog) 13.3 LTS lub nowszy
Scala StreamingQueryListener 16.1 lub nowszy
Interakcja Pythona StreamingQueryListener z obiektami zarządzanymi przez Unity Catalog 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