Informacje o wersji obliczeniowej bezserwerowej

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej. Aby uzyskać informacje na temat uprawnień i włączania, zobacz Włączanie bezserwerowej publicznej wersji zapoznawczej obliczeń.

W tym artykule opisano funkcje i zachowania, które są obecnie dostępne i nadchodzący w przypadku obliczeń bezserwerowych dla notesów i przepływów pracy.

Usługa Databricks okresowo publikuje aktualizacje bezserwerowych zasobów obliczeniowych. Wszyscy użytkownicy otrzymują te same aktualizacje, wdrażane w krótkim czasie. Zobacz Jak są wdrażane wersje?.

Nadchodzące zmiany zachowania

W tej sekcji zostaną wyróżnione zmiany behawioralne, które pojawią się w następnej bezserwerowej wersji obliczeniowej. Po wypchnięciu zmian do środowiska produkcyjnego zostaną one dodane do informacji o wersji.

Informacje o wersji

Ta sekcja zawiera informacje o wersji dla obliczeń bezserwerowych. Informacje o wersji są zorganizowane według roku i tygodnia roku. Przetwarzanie bezserwerowe zawsze jest uruchamiane przy użyciu ostatnio wydanej wersji wymienionej tutaj.

Bezserwerowe obliczenia w wersji 2024.15

15 kwietnia 2024 r.

Bezserwerowe obliczenia w wersji 2024.15 zostały wydane w środowisku produkcyjnym. Jest to początkowa bezserwerowa wersja obliczeniowa, która w przybliżeniu odpowiada środowisku Databricks Runtime 14.3 z pewnymi modyfikacjami, które usuwają obsługę niektórych funkcji bezserwerowych i starszych.

Ta wersja zawiera następujące aktualizacje:

Konfiguracje platformy Spark nie są obsługiwane

W celu zautomatyzowania konfiguracji platformy Spark w obliczeniach bezserwerowych usługa Databricks usunęła obsługę większości konfiguracji platformy Spark. Można ustawić spark.sql.legacy.timeParserPolicy tylko konfiguracje platformy Spark i spark.sql.session.timeZone w tych konfiguracjach.

Jeśli spróbujesz dowolną inną konfigurację platformy Spark, nie zostanie ona uruchomiona.

Buforowanie interfejsu API i poleceń SQL nie są obsługiwane

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

Nieobsługiwane interfejsy API:

Nieobsługiwane polecenia SQL:

Globalne widoki tymczasowe nie są obsługiwane

Tworzenie globalnych widoków tymczasowych nie jest obsługiwane. Użycie jednego z tych poleceń spowoduje wyjątek:

Zamiast tego usługa Databricks zaleca używanie widoków tymczasowych sesji lub tworzenie tabel, w których wymagane jest przekazywanie danych między sesjami.

FUNKCJA CREATE (zewnętrzna) nie jest obsługiwana

Polecenie CREATE FUNCTION (external) nie jest obsługiwane. Użycie tego polecenia spowoduje wyjątek.

Zamiast tego usługa Databricks zaleca używanie funkcji CREATE (SQL i Python) do tworzenia funkcji zdefiniowanych przez użytkownika.

Tabele Usługi Hive SerDe nie są obsługiwane

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

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.

funkcje input_file są przestarzałe

Funkcje input_file_name(), input_file_block_length() i input_file_block_start() są przestarzałe. Korzystanie z tych funkcji jest zdecydowanie zniechęcane.

Zamiast tego użyj kolumny metadanych pliku, aby pobrać informacje o metadanych pliku.

Zmiany zachowań

Bezserwerowe obliczenia w wersji 2024.15 obejmują następujące zmiany behawioralne:

  • poprawka usterki unhex(hexStr): w przypadku korzystania z unhex(hexStr) funkcji szesnastkowy jest zawsze dopełniany do całego bajtu. Wcześniej funkcja unhex zignorowała pierwszy bajt połowy. Na przykład: unhex('ABC') teraz tworzy x'0ABC' zamiast x'BC'.
  • Aliasy kolumn generowanych automatycznie są teraz stabilne: gdy wynik wyrażenia jest przywoływane bez aliasu kolumny określonego przez użytkownika, ten automatycznie wygenerowany alias będzie teraz stabilny. Nowy algorytm może spowodować zmianę wcześniej wygenerowanych automatycznie nazw używanych w funkcjach, takich jak zmaterializowane widoki.
  • Skanowania tabel z polami CHAR typów są teraz zawsze dopełniane: tabele delty, niektóre tabele JDBC i zewnętrzne źródła danych przechowują dane CHAR w postaci nieupełnionej. Podczas odczytywania usługa Databricks będzie teraz dopełniać dane spacjami do zadeklarowanej długości, aby zapewnić poprawną semantykę.
  • Rzutowania z BIGINT/DECIMAL do TIMESTAMP zgłaszają wyjątek dla przepełnionych wartości: usługa Databricks umożliwia rzutowanie z bigINT i dziesiętnego na ZNACZNIK CZASU, traktując wartość jako liczbę sekund z epoki unix. Wcześniej usługa Databricks zwracała przepełnione wartości, ale teraz zgłasza wyjątek w przypadkach przepełnienia. Użyj polecenia try_cast , aby zwrócić wartość NULL zamiast wyjątku.
  • Ulepszono wykonywanie funkcji zdefiniowanej przez użytkownika PySpark w celu dopasowania do dokładnego zachowania wykonywania funkcji zdefiniowanej przez użytkownika w obliczeniach pojedynczego użytkownika: Wprowadzono następujące zmiany:
    • Funkcje zdefiniowane przez użytkownika z typem zwracanym ciągu nie są już niejawnie konwertowane wartości inne niż ciągi na ciągi. Wcześniej funkcje zdefiniowane przez użytkownika z zwracanym typem str klasy zastosują str(..) otokę do wyniku niezależnie od rzeczywistego typu danych zwróconej wartości.
    • Funkcje zdefiniowane przez użytkownika z typami timestamp zwracanymi nie stosują już niejawnie konwersji strefy czasowej na znaczniki czasu.

Środowisko systemu

Obliczenia bezserwerowe obejmują następujące środowisko systemowe:

  • System operacyjny: Ubuntu 22.04.3 LTS
  • Python: 3.10.12
  • Delta Lake: 3.1.0

Zainstalowane biblioteki języka Python

Biblioteka Wersja Biblioteka Wersja Biblioteka Wersja
anyio 3.5.0 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0
asttokens 2.0.5 astunparse 1.6.3 attrs 22.1.0
backcall 0.2.0 beautifulsoup4 4.11.1 black (czarny) 22.6.0
Bleach 4.1.0 migacz 1.4 boto3 1.24.28
botocore 1.27.96 cachetools 5.3.2 certifi 2022.12.7
cffi 1.15.1 chardet 4.0.0 charset-normalizer 2.0.4
kliknięcie 8.0.4 Comm 0.1.2 konturowy 1.0.5
Kryptografii 39.0.1 Cycler 0.11.0 Cython 0.29.32
databricks-connect 14.3.1 databricks-sdk 0.20.0 dbus-python 1.2.18
debugpy 1.6.7 Dekorator 5.1.1 defusedxml 0.7.1
distlib 0.3.8 docstring-to-markdown 0,11 punkty wejścia 0,4
Wykonywanie 0.8.3 aspekty — omówienie 1.1.1 fastjsonschema 2.19.1
filelock 3.13.1 fonttools 4.25.0 google-auth 2.28.1
googleapis-common-protos 1.62.0 grpcio 1.62.0 stan obiektu grpcio 1.62.0
httplib2 0.20.2 Idna 3.4 importlib-metadata 4.6.4
ipyflow-core 0.0.198 ipykernel 6.25.0 Ipython 8.14.0
ipython-genutils 0.2.0 ipywidgets 7.7.2 Jedi 0.18.1
Jeepney 0.7.1 Jinja2 3.1.2 jmespath 0.10.0
joblib 1.2.0 jsonschema 4.17.3 jupyter-client 7.3.4
jupyter-server 1.23.4 jupyter_core 5.2.0 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 Brelok 23.5.0 kiwisolver 1.4.4
launchpadlib 1.10.16 lazr.restfulclient 0.14.4 lazr.uri 1.0.6
Lxml 4.9.1 Znaczniki Sejf 2.1.1 matplotlib 3.7.0
biblioteka matplotlib-inline 0.1.6 Mccabe 0.7.0 mistune 0.8.4
więcej itertools 8.10.0 mypy-extensions 0.4.3 nbclassic 0.5.2
nbclient 0.5.13 nbconvert 6.5.4 nbformat 5.7.0
nest-asyncio 1.5.6 nodeenv 1.8.0 notes 6.5.2
notebook_shim 0.2.2 Numpy 1.23.5 oauthlib 3.2.0
Opakowania 23.2 Pandas 1.5.3 pandocfilters 1.5.0
parso 0.8.3 pathspec 0.10.3 Patsy 0.5.3
pexpect 4.8.0 pickleshare 0.7.5 Poduszkę 9.4.0
Pip 22.3.1 platformdirs 2.5.2 kreślenie 5.9.0
wtyczka 1.0.0 prometheus-client 0.14.1 prompt-toolkit 3.0.36
protobuf 4.25.3 psutil 5.9.0 psycopg2 2.9.3
ptyprocess 0.7.0 pure-eval 0.2.2 py4j 0.10.9.7
pyarrow 8.0.0 pyarrow-hotfix 0.5 pyasn1 0.5.1
pyasn1-modules 0.3.0 pyccolo 0.0.52 pycparser 2.21
pydantic 1.10.6 pyflakes 3.1.0 Pygments 2.11.2
PyGObject 3.42.1 PyJWT 2.3.0 pyodbc 4.0.32
pyparsing 3.0.9 pyright 1.1.294 pirstent 0.18.0
python-dateutil 2.8.2 python-lsp-jsonrpc 1.1.1 python-lsp-server 1.8.0
pytoolconfig 1.2.5 pytz 2022.7 pyzmq 23.2.0
żądania 2.28.1 Liny 1.7.0 rsa 4.9
s3transfer 0.6.2 scikit-learn 1.1.1 scipy 1.10.0
seaborn 0.12.2 SecretStorage 3.3.1 Send2Trash 1.8.0
setuptools 65.6.3 Sześć 1.16.0 wąchanie 1.2.0
zupy 2.3.2.post1 ssh-import-id 5,11 stack-data 0.2.0
statsmodels 0.13.5 Wytrzymałość 8.1.0 terminado 0.17.1
threadpoolctl 2.2.0 tinycss2 1.2.1 tokenize-rt 4.2.1
tomli 2.0.1 Tornado 6.1 traitlety 5.7.1
typing_extensions 4.4.0 ujson 5.4.0 nienadzorowane uaktualnienia 0.1
urllib3 1.26.14 Virtualenv 20.16.7 wadllib 1.3.6
wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.58.0
whatthepatch 1.0.2 Koła 0.38.4 widgetsnbextension 3.6.1
yapf 0.33.0 Zipp 1.0.0

Ograniczenia

Obliczenia bezserwerowe są oparte na współużytkowanej architekturze obliczeniowej. Poniżej wymieniono najważniejsze ograniczenia dziedziczone ze 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.
  • Podczas pisania kodu SQL obsługiwany jest tylko język ANSI SQL.
  • Interfejsy API RDD platformy Spark nie są obsługiwane.
  • Kontekst platformy Spark (sc), spark.sparkContexti sqlContext nie są obsługiwane.
  • Nie można uzyskać dostępu do systemu plików DBFS.
  • Usługi kontenerów usługi Databricks nie są obsługiwane.
  • Terminal internetowy nie jest obsługiwany.
  • Zapytania przesyłania strumieniowegoquery.awaitTermination() ze strukturą wymagają wywołania, aby upewnić się, że zapytanie zostało ukończone.
  • Ż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.

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 przepływów pracy 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 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

Często zadawane pytania

Jak są wdrażane wersje?

Przetwarzanie bezserwerowe to bezserwerowy produkt, co oznacza, że usługa Databricks automatycznie uaktualnia bezserwerowe środowisko uruchomieniowe obliczeniowe w celu obsługi ulepszeń i uaktualnień do platformy. Wszyscy użytkownicy otrzymują te same aktualizacje, wdrażane w krótkim czasie.

Jak mogę określić, która wersja jest uruchomiona?

Obciążenia bezserwerowe zawsze będą działać w najnowszej wersji środowiska uruchomieniowego. Zobacz Informacje o wersji dla najnowszej wersji.