Sdílet prostřednictvím


Poznámky k verzi bezserverového výpočetního prostředí

Tento článek vysvětluje funkce a chování, které jsou aktuálně dostupné a nadcházející na výpočetních prostředcích bez serveru pro poznámkové bloky a pracovní postupy.

Další informace o bezserverových výpočetních prostředcích najdete v tématu Připojení k výpočetním prostředkům bez serveru.

Databricks pravidelně vydává aktualizace bezserverového výpočetního prostředí, automaticky upgraduje bezserverový výpočetní modul runtime, aby podporoval vylepšení a upgrady na platformu. Všichni uživatelé získají stejné aktualizace, které se nasadí za krátkou dobu.

Nadcházející změny chování

Tato část zvýrazní změny chování přicházející v příští bezserverové výpočetní verzi. Když se změny nasdílí do produkčního prostředí, přidají se do poznámek k verzi.

Poznámky k verzi

Tato část obsahuje poznámky k verzi pro bezserverové výpočetní prostředky. Poznámky k verzi jsou uspořádány podle roku a týdne v roce. Bezserverové výpočetní prostředí se vždy spouští pomocí nejnovější vydané verze uvedené zde.

Verze 2024.30

23. července 2024

Nové funkce

  • Podpora klauzule hvězdičky (*) v WHERE klauzuli: Nyní můžete použít klauzuli hvězdička (*) v WHERE klauzuli k odkazování na všechny sloupce ze SELECT seznamu. Například SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Změny

  • Vylepšené obnovení chyb pro parsování JSON: Analyzátor JSON používaný pro from_json() výrazy cesty JSON se teď obnovuje rychleji z poškozené syntaxe, což vede k menší ztrátě dat.

    Při výskytu chybné syntaxe JSON v poli struktury, maticové hodnotě, klíči mapy nebo hodnotě mapy se analyzátor JSON teď vrátí NULL jenom pro nečitelné pole, klíč nebo prvek. Další pole, klíče nebo prvky se správně parsují. Před touto změnou parser JSON opustil analýzu pole, struktury nebo mapování a vrátil NULL zbývající obsah.

Verze 2024.15

15. dubna 2024

Jedná se o počáteční bezserverovou výpočetní verzi. Tato verze zhruba odpovídá databricks Runtime 14.3 s některými úpravami, které odeberou podporu některých bezserverových a starších funkcí.

Podporované parametry konfigurace Sparku

Kvůli automatizaci konfigurace Sparku na bezserverových výpočetních prostředcích služba Databricks odebrala podporu ručního nastavení většiny konfigurací Sparku. Můžete ručně nastavit pouze následující parametry konfigurace Sparku:

  • spark.sql.legacy.timeParserPolicy (výchozí hodnota je EXCEPTION)
  • spark.sql.session.timeZone (výchozí hodnota je Etc/UTC)
  • spark.sql.shuffle.partitions (výchozí hodnota je auto)
  • spark.sql.ansi.enabled (výchozí hodnota je true)

Pokud nastavíte konfiguraci Sparku, která není v tomto seznamu, úloha běží na bezserverových výpočetních prostředcích.

Rozhraní API pro ukládání do mezipaměti a příkazy SQL se nepodporují.

Použití rozhraní API datového rámce a mezipaměti SQL se nepodporuje. Pokud použijete některá z těchto rozhraní API nebo příkazů SQL, dojde k výjimce.

Nepodporovaná rozhraní API:

Nepodporované příkazy SQL:

Globální dočasná zobrazení nejsou podporována.

Vytváření globálních dočasných zobrazení není podporováno. Použití některého z těchto příkazů způsobí výjimku:

Místo toho Databricks doporučuje používat dočasná zobrazení relace nebo vytvářet tabulky, ve kterých se vyžadují předávání dat mezi relacemi.

FUNKCE CREATE (externí) není podporována.

Příkaz CREATE FUNCTION (External) není podporován. Při použití tohoto příkazu dojde k výjimce.

Místo toho databricks doporučuje k vytváření funkcí CREATE FUNCTION (SQL a Python) použít funkci CREATE.

Nepodporované tabulky Hive SerDe

Tabulky Hive SerDe se nepodporují. Kromě toho se nepodporuje odpovídající příkaz LOAD DATA , který načítá data do tabulky Hive SerDe. Při použití příkazu dojde k výjimce.

Podpora zdrojů dat je omezená na AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT a XML.

Proměnné Hive se nepodporují.

Proměnné Hive (například ${env:var}, ${configName}, ${system:var}a spark.sql.variable) nebo odkazy na proměnné konfigurace používající ${var} syntaxi nejsou podporovány. Při použití proměnných Hive dojde k výjimce.

Místo toho použijte odkazy na proměnné DEKLAROVAT PROMĚNNOU, SET PROMĚNNOU a PROMĚNNÉ RELACE SQL a značky parametrů ('?', nebo ':var') k deklaraci, úpravě a referenčnímu stavu relace. Klauzuli IDENTIFIER můžete také použít k parametrizaci názvů objektů v mnoha případech.

input_file funkce jsou zastaralé

Funkce input_file_name(), input_file_block_length() a input_file_block_start() jsou zastaralé. Používání těchto funkcí se důrazně nedoporučuje.

Místo toho použijte sloupec metadat souboru k načtení informací o metadatech souboru.

Změny chování

Bezserverové výpočetní prostředky verze 2024.15 zahrnují následující změny chování:

  • oprava chyby unhex(hexStr): Při použití unhex(hexStr) funkce je hexStr vždy vycpaný do celého bajtu. Dříve funkce unhex ignorovala první poloviční bajt. Například: unhex('ABC') nyní vytvoří x'0ABC' místo x'BC'.
  • Automaticky generované aliasy sloupců jsou nyní stabilní: Když se na výsledek výrazu odkazuje bez aliasu sloupce zadaného uživatelem, bude tento automaticky vygenerovaný alias nyní stabilní. Nový algoritmus může vést ke změně dříve automaticky generovaných názvů používaných ve funkcích, jako jsou materializovaná zobrazení.
  • Kontroly tabulek s CHAR poli typu jsou nyní vždy vycpány: tabulky Delta, některé tabulky JDBC a externí zdroje dat ukládají data CHAR v necpdované podobě. Při čtení teď Databricks rozdělí data mezerami na deklarovanou délku, aby se zajistila správná sémantika.
  • Přetypování z BIGINT/DECIMAL na TIMESTAMP vyvolá výjimku pro přetečení hodnot: Databricks umožňuje přetypování z BIGINT a DECIMAL na TIMESTAMP tím, že považuje hodnotu za počet sekund z epochy Unixu. Databricks dříve vracela přetečení hodnot, ale teď vyvolá výjimku v případech přetečení. Slouží try_cast k vrácení hodnoty NULL místo výjimky.
  • Bylo vylepšeno provádění PySpark UDF tak, aby odpovídalo přesnému chování spouštění UDF na výpočetních prostředcích s jedním uživatelem: Provedli jsme následující změny:
    • Funkce definované uživatelem s návratovým typem řetězce už implicitně nepřevádějí neřetězcové hodnoty na řetězce. Dříve by funkce definované uživatelem s návratovým typem str použily obálku str(..) na výsledek bez ohledu na skutečný datový typ vrácené hodnoty.
    • Funkce definované uživatelem s návratovými timestamp typy už implicitně nepoužijí převod časového pásma na časová razítka.

Prostředí systému

Bezserverové výpočetní prostředí zahrnuje následující systémové prostředí:

  • Operační systém: Ubuntu 22.04.3 LTS
  • Python: 3.10.12
  • Delta Lake: 3.1.0

Nainstalované knihovny Pythonu

Následující knihovny Pythonu se ve výchozím nastavení instalují na bezserverové výpočetní prostředky. Další závislosti je možné nainstalovat pomocí bočního panelu Prostředí . Viz Instalace závislostí poznámkového bloku.

Knihovna Verze Knihovna Verze Knihovna Verze
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 krásnásoup4 4.11.1 černý 22.6.0
bělit 4.1.0 blinkr 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
kliknutí 8.0.4 Komunikace 0.1.2 obrysová křivka 1.0.5
kryptografie 39.0.1 cyklista 0.11.0 Cython 0.29.32
Připojení databricks 14.3.1 Databricks-sdk 0.20.0 dbus-python 1.2.18
ladění 1.6.7 dekoratér 5.1.1 defusedxml 0.7.1
distlib 0.3.8 docstring-to-markdown 0,11 vstupní body 0,4
vykonávající 0.8.3 přehled omezujících vlastností 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 grpcio-status 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-widgety 1.0.0 keyring 23.5.0 verizonsolver 1.4.4
launchpadlib 1.10.16 lazr.restfulclient 0.14.4 lazr.uri 1.0.6
lxml 4.9.1 MarkupSafe 2.1.1 matplotlib 3.7.0
matplotlib-inline 0.1.6 Mccabe 0.7.0 špatně zamyšlení 0.8.4
more-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 poznámkový blok 6.5.2
notebook_shim 0.2.2 numpy 1.23.5 oauthlib 3.2.0
balení 23.2 pandas 1.5.3 pandocfilters 1.5.0
parso 0.8.3 pathspec 0.10.3 bábovka 0.5.3
pexpect 4.8.0 pickleshare 0.7.5 Polštář 9.4.0
jádro 22.3.1 platformdirs 2.5.2 plotly 5.9.0
pluggy 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 čistý-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 pyrsistent 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
žádosti 2.28.1 lano 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 Šest 1.16.0 sniffio 1.2.0
polévky 2.3.2.post1 ssh-import-id 5,11 stack-data 0.2.0
statsmodels 0.13.5 houževnatost 8.1.0 terminado 0.17.1
threadpoolctl 2.2.0 tinycss2 1.2.1 tokenize-rt 4.2.1
tomli 2.0.1 tornádo 6.1 vlastnosti 5.7.1
typing_extensions 4.4.0 ujson 5.4.0 bezobslužné upgrady 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 kolo 0.38.4 widgetsnbextension 3.6.1
yapf 0.33.0 Zipp 1.0.0