Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.sparkContextisqlContextnie są obsługiwane dla języka Scala:- Usługa Azure Databricks zaleca używanie zmiennej
sparkdo interakcji z wystąpieniemSparkSession. - Następujące
scfunkcje 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.
- Usługa Azure Databricks zaleca używanie zmiennej
- Właściwość konfiguracji Spark
spark.executor.extraJavaOptionsnie 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.
-
sourceArchiveDirmusi znajdować się w tej samej lokalizacji zewnętrznej co źródło, gdy używaszoption("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.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
- Język Python
foreachBatchnie obsługujeThreadPoolExecutorani 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-connectorsnie znajduje się w docelowym bazelu języka Scala REPL, skorzystaj z wyników wClassNotFoundException. - 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.widgetspodrzę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 |