Sdílet prostřednictvím


Poznámky k verzi bezserverových výpočetních prostředků

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 úlohy.

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.

Azure Databricks pravidelně vydává aktualizace bezserverového výpočetního prostředí, které automaticky upgraduje bezserverový výpočetní modul runtime, aby podporoval vylepšení a upgrady na platformu. Všichni uživatelé dostávají stejné aktualizace, které jsou zavedeny během krátké doby.

bezserverové verze prostředí

Bezserverové výpočetní prostředí Databricks pro poznámkové bloky a úlohy nabízí architekturu založenou na technologii Spark Connect, která umožňuje nezávislé upgrady modulu bez dopadu na aplikaci. Kvůli zajištění kompatibility aplikací používají bezserverové úlohy rozhraní API verze označované jako verze prostředí nebo klienta, které zůstává kompatibilní s novějšími verzemi serveru.

Nejnovější verze prostředí bude nadále dostávat aktualizace, dokud nebude vydána nová verze. Uživatelé můžou vybírat z některé z následujících podporovaných verzí prostředí:

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.

Možnost nastavení vysoké paměti dostupná v bezserverových poznámkových blocích (Veřejná ukázka)

7. února 2025

Teď můžete nakonfigurovat větší velikost paměti pro úlohy výpočetních poznámkových bloků bez serveru. Toto nastavení se dá použít u interaktivních i plánovaných úloh poznámkových bloků.

Bezserverové využití s vysokou pamětí má vyšší rychlost emisí DBU než standardní paměť.

Další informace najdete v tématu Konfigurace vysoké paměti pro bezserverové úlohy.

Verze 16.1

5. února 2025

Tato bezserverová výpočetní verze přibližně odpovídá Databricks Runtime 16.0 a Databricks Runtime 16.1.

Nové funkce

  • podporu Avro pro rekurzivní schéma: Teď můžete použít možnost recursiveFieldMaxDepth s funkcí from_avro a zdrojem dat avro. Tato možnost nastaví maximální hloubku rekurze schématu ve zdroji dat Avro. Viz Čtení a zápis streamovaných dat Avro.

  • Rozšířená podpora pro Confluent Schema Registry pro Avro: Serverless nyní podporuje referencované schéma Avro, které je podporováno registrem schémat Confluent. Viz Ověření v externím registru schématu Confluent.

  • Vynutit přeskupení tabulek s liquid clusteringem: Teď můžete pomocí syntaxe OPTIMIZE FULL vynutit přeskupení všech záznamů v tabulce s povoleným liquid clusteringem. Viz Vynucení přeclusterování pro všechny záznamy.

  • rozhraní Delta API pro Python teď podporují sloupce identit: k vytváření tabulek se sloupci identit teď můžete použít rozhraní Delta API pro Python. Viz Použití sloupců identit v Delta Lake.

  • Vytváření clusterovaných tabulek během streamovaných zápisů: Nyní můžete použít clusterBy k povolení liquid clusterování při vytváření nových tabulek pomocí strukturovaných streamovaných zápisů. Viz Povolení clusteringu liquid.

  • Podpora klauzule OPTIMIZE FULL: Bezserverové výpočetní prostředky teď podporují klauzuli OPTIMIZE FULL. Tato klauzule optimalizuje všechny záznamy v tabulce, která používá clustering liquid, včetně dat, která byla dříve seskupována.

  • Podpora specifikace možností WITH ve INSERT a tabulkových referencích: Bezserverové výpočetní prostředky nyní podporují specifikaci možností pro odkazy na tabulky a názvy tabulek příkazů INSERT, které lze použít k řízení chování zdrojů dat.

  • Nové funkce SQL: Na výpočetních prostředcích bez serveru jsou nyní k dispozici následující funkce SQL:

  • Povolení automatického vývoje schématu při slučování dat do tabulky Delta: Byla přidána podpora pro withSchemaEvolution() člena třídy DeltaMergeBuilder. Slouží withSchemaEvolution() k povolení automatického vývoje schématu během MERGE operací. Například mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.

  • podpora kolací v Apache Sparku je ve verzi Public Preview: teď můžete přiřazovat kolace nerozlišující jazyk, malá a velká písmena a bez rozlišování přístupu k STRING sloupců a výrazů. Tato seřazení se používají v porovnání řetězců, řazení, operacích seskupování a mnoha řetězcových funkcích. Viz kolace.

  • Podpora kolací v Delta Lake je ve verzi Public Preview: Při vytváření nebo změně tabulky Delta teď můžete pro sloupce definovat kolace. Podívejte se na podporu řazení pro Delta Lake.

  • LITE režim pro vyčištění je ve verzi Public Preview: Nyní můžete použít VACUUM table_name LITE k provedení lehčí operace, která využívá metadata z transakčního protokolu Delta. Viz plnohodnotný režim vs. odlehčený režim a VACUUM.

  • Podpora parametrizace klauzule USE CATALOG with IDENTIFIER:IDENTIFIER je nyní podporována pro příkaz USE CATALOG. S touto podporou můžete parametrizovat aktuální katalog na základě řetězcové proměnné nebo značky parametru.

  • COMMENT ON COLUMN podpora tabulek a zobrazení: Příkaz COMMENT ON teď podporuje změny komentářů pro zobrazení a sloupce tabulky.

  • vyvolání pojmenovaného parametru pro další funkce: Následující funkce podporují volání pojmenovaných parametrů:

  • parametr SYNC METADATA příkazu REPAIR TABLE se podporuje v metastoru Hive: Teď můžete použít parametr SYNC METADATA s příkazem REPAIR TABLE k aktualizaci metadat spravované tabulky metastoru Hive. Viz REPAIR TABLE.

  • Vylepšenou integritu dat pro komprimované dávky Apache Arrow: Chcete-li lépe chránit před poškozením dat, každá LZ4 komprimovaná dávka Apache Arrow teď obsahuje LZ4 obsah a kontrolní součty bloků. Viz popis formátu rámce LZ4 .

  • integrovaný ovladač Oracle JDBC: bezserverové výpočetní prostředí teď obsahuje integrovaný ovladač Oracle JDBC. Pokud používáte JAR soubor ovladače JDBC nahraného zákazníkem prostřednictvím DriverManager, je nutné skripty přepsat tak, aby explicitně používaly vlastní JAR soubor. V opačném případě se použije integrovaný ovladač. Tento ovladač podporuje pouze Federaci Lakehouse. Pro jiné případy použití musíte poskytnout vlastní ovladač.

  • podrobnější chybové zprávy pro tabulky Delta přístupné přes cesty: je nyní k dispozici nové rozhraní chybových zpráv pro tabulky Delta, ke kterým se přistupuje přes cesty. Všechny výjimky se teď předávají uživateli. Výjimka DELTA_MISSING_DELTA_TABLE je teď vyhrazena, když se podkladové soubory nedají číst jako tabulka Delta.

Změny chování

  • Zásadní změna: Hostovaný RStudio má ukončenou podporu.: S touto verzí má RStudio Server hostovaný službou Databricks ukončenou podporu a není dostupný v žádném pracovním prostoru Azure Databricks, který běží na bezserverovém výpočetním prostředí. Další informace a seznam alternativ k RStudio najdete v tématu Vyřazení hostovaného RStudio Serveru.

  • Zásadní změna: Odebrání podpory pro změnu byte, short, int a long typů na širší typy: Chcete-li zajistit konzistentní chování tabulek Delta a Iceberg, následující změny datového typu už nelze použít u tabulek s povolenou funkcí rozšíření typu :

    • byte, shortint a long do decimal.
    • byte, shorta int do double.
  • Správná analýza vzorů regulárních výrazů s negací ve vnořených seskupování znaků: Tato verze obsahuje změnu, která podporuje správné parsování vzorů regulárních výrazů s negací ve vnořených seskupování znaků. Bude například [^[abc]] analyzován jako "libovolný znak, který není jedním z "abc".

    Kromě toho chování Photon bylo nekonzistentní se Sparkem pro vnořené třídy znaků. Vzory regulárních výrazů obsahující vnořené třídy znaků už nebudou používat Photon a místo toho budou používat Spark. Vnořená třída znaků je libovolný vzor obsahující hranaté závorky v hranatých závorkách, například [[a-c][1-3]].

  • Zlepšit detekci duplicitní shody v Delta Lake MERGE:MERGE nyní bere v úvahu podmínky zadané v klauzuli WHEN MATCHED. Podívejte se na Upsert v tabulce Delta Lake použitím slučování.

  • Funkce addArtifact() je teď konzistentní mezi typy výpočetních prostředků: Když použijete addArtifact(archive = True) k přidání závislosti na bezserverových výpočetních prostředcích, archiv se automaticky rozbalí. Tato změna činí chování addArtifact(archive = True) konzistentním s výpočetním prostředím jednoho uživatele, které již podporuje automatické rozbalování archivů.

  • Datový typ VARIANT již nelze použít s operacemi, které vyžadují porovnání: V dotazech, které obsahují datový typ VARIANT, nelze použít následující klauzule ani operátory:

    • DISTINCT
    • INTERSECT
    • EXCEPT
    • UNION
    • DISTRIBUTE BY

    Kromě toho nemůžete použít tyto funkce datového rámce:

    • df.dropDuplicates()
    • df.repartition()

    Tyto operace provádějí porovnání a porovnávání, která používají datový typ VARIANT, vytváří nedefinované výsledky a nejsou podporovány v Databricks. Pokud používáte typ VARIANT v úlohách nebo tabulkách Azure Databricks, doporučuje Databricks následující změny:

    • Aktualizujte dotazy nebo výrazy tak, aby explicitně přetypovály hodnoty VARIANT na datové typy, které nejsouVARIANT.
    • Pokud máte pole, která je nutné použít s některou z výše uvedených operací, extrahujte tato pole z datového typu VARIANT a uložte je pomocí datových typů, které nejsouVARIANT.

    Viz dotaz variant dat.

Opravy chyb

  • Offsety časového pásma nyní zahrnují sekundy při serializaci do CSV, JSON a XML: U časových razítek s offsety časového pásma, které zahrnují sekundy (běžné pro časová razítka z období před rokem 1900), byly sekundy při serializaci do CSV, JSON a XML vynechávány. Byl opraven výchozí formátovač časového razítka a nyní vrací správné hodnoty posunu pro tyto časová razítka.

Další změny

  • přejmenování kódů chyb pro zdroj strukturovaného streamování cloudFiles: Byly přejmenovány následující kódy chyb:
    • _LEGACY_ERROR_TEMP_DBR_0143 se přejmenuje na CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 se přejmenuje na CF_INCORRECT_BATCH_USAGE .

Verze 15.4

28. října 2024

Tato bezserverová výpočetní verze přibližně odpovídá modulu Databricks Runtime 15.4.

Nové funkce

  • Ověřovací funkce UTF-8: Tato verze zavádí následující funkce pro ověřování řetězců UTF-8:
    • is_valid_utf8 ověřil, jestli je řetězec platným řetězcem UTF-8.
    • make_valid_utf8 převede potenciálně neplatný řetězec UTF-8 na platný řetězec UTF-8 pomocí náhradních znaků.
    • validate_utf8 vyvolá chybu, pokud vstup není platným řetězcem UTF-8.
    • try_validate_utf8 vrátíNULL, pokud vstup není platným řetězcem UTF-8.
  • Povolit UniForm Iceberg pomocí ALTER TABLE: Nyní můžete povolit UniForm Iceberg u existujících tabulek, aniž byste museli přepisovat datové soubory. Viz Povolení čtení Icebergu v existující tabulce.
  • try_url_decode funkce: Tato verze zavádí funkci try_url_decode , která dekóduje řetězec kódovaný adresou URL. Pokud řetězec není ve správném formátu, vrátí NULL funkce místo vyvolání chyby.
  • Volitelně můžete optimalizátoru umožnit spoléhat se na nevynucená omezení cizího klíče: Ke zlepšení výkonu dotazů teď můžete zadat klíčové slovo RELY pro omezení FOREIGN KEY při VYTVOŘENÍ nebo ALTER tabulce.
  • Paralelizovaná úloha se spouští pro selektivní přepsání: Selektivní přepsání pomocí replaceWhere nyní spouštějí úlohy, které paralelně odstraňují a vkládají nová data, což zlepšuje výkon dotazů a využití clusteru.
  • Vylepšený výkon datového kanálu změn se selektivním přepisováním: Selektivní přepisy pomocí replaceWhere na tabulkách s datovým kanálem změn již nezapisují samostatné soubory datových změn pro vložená data. Tyto operace používají skrytý sloupec _change_type přítomný v podkladových datových souborech Parquet ke sledování změn, aniž by docházelo ke zvětšování objemu zápisu.
  • Vylepšená latence dotazu pro COPY INTO příkaz: Tato verze obsahuje změnu, která zlepšuje latenci dotazu pro COPY INTO příkaz. Toto vylepšení je implementováno tak, že načtení stavu úložištěm stavů RocksDB je asynchronní. Při této změně byste měli vidět vylepšení počátečních časů pro dotazy s velkými stavy, jako jsou dotazy s velkým počtem již přijatých souborů.
  • Podpora pro vyřazení funkce tabulky kontrolních omezení: Funkci tabulky checkConstraints teď můžete odstranit z tabulky Delta pomocí ALTER TABLE table_name DROP FEATURE checkConstraints. Viz Zakázání omezení kontroly.

Změny chování

  • Změna vazby schématu pro zobrazení: Když se datové typy v podkladovém dotazu zobrazení změní z těch, které se použily při prvním vytvoření zobrazení, Databricks už nevyvolá chyby pro odkazy na zobrazení, pokud není možné provést bezpečné přetypování.

    Místo toho zobrazení vyrovnává pravidel přetypování tam, kde je to možné. Tato změna umožňuje Databricks tolerovat změny schématu tabulky snadněji.

  • Zákaz nezdokumentované ! tolerance syntaxe pro NOT vnější logickou logiku: Databricks už nebude tolerovat použití ! jako synonyma pro NOT mimo logickou logiku. Tato změna snižuje nejasnosti, je v souladu se standardem SQL a usnadňuje přenosnost SQL. Příklad:

    CREATE ... IF ! EXISTS, IS ! NULL, ! NULL vlastnost sloupce nebo pole, ! IN a ! BETWEEN musí být nahrazeny tímto:

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULL sloupcová nebo políčková vlastnost, NOT IN a NOT BETWEEN.

    Na operátor logické předpony! (např. !is_mgr nebo !(true AND false)) tato změna nemá vliv.

  • Zakázat nezdokumentované a nezpracované části syntaxe definice sloupce v zobrazeních: Databricks podporuje CREATE VIEW s pojmenovanými sloupci a komentáři sloupců.

    Specifikace typů sloupců, omezení NOT NULL nebo DEFAULT byla v syntaxi tolerována bez jakéhokoli účinku. Databricks odstraní tuto toleranci syntaxe. Tím se sníží záměna, zarovná se se standardem SQL a umožní budoucí vylepšení.

  • Konzistentní zpracování chyb pro dekódování Base64 ve Sparku a Photonu: Tato verze mění způsob, jakým Photon zpracovává chyby dekódování Base64 tak, aby odpovídaly zpracování těchto chyb Sparku. Před těmito změnami se cesta generování kódu Photon a Spark někdy nepodařilo vyvolat výjimky analýzy, zatímco Spark interpretoval správně provedené IllegalArgumentException spuštění nebo ConversionInvalidInputError. Tato aktualizace zajišťuje, že Photon konzistentně vyvolává stejné výjimky jako Spark během chyb dekódování Base64, což poskytuje předvídatelnější a spolehlivější zpracování chyb.

  • Přidání omezení CHECK pro neplatný sloupec teď vrátí UNRESOLVED_COLUMN. WITH_SUGGESTION třída chyb: Chcete-li poskytovat užitečnější chybové zprávy, vrátí v Databricks Runtime 15.3 a vyšší příkaz ALTER TABLE ADD CONSTRAINT, který obsahuje omezení CHECK odkazující na neplatný název sloupce vrátí UNRESOLVED_COLUMN. WITH_SUGGESTION třídu chyb. Dříve byla vrácena INTERNAL_ERROR .

JDK se upgraduje z JDK 8 na JDK 17.

15. srpna 2024

Bezserverové výpočetní prostředky pro poznámkové bloky a pracovní postupy se migrovaly ze sady Java Development Kit (JDK) 8 na JDK 17 na straně serveru. Tento upgrade zahrnuje následující změny chování:

  • Správná analýza vzorů regulárních výrazů s negací ve vnořeném seskupování znaků: Při tomto upgradu teď Azure Databricks podporuje správnou analýzu vzorů regulárních výrazů s negací ve vnořeném seskupování znaků. Bude například [^[abc]] analyzován jako "libovolný znak, který není jedním z "abc".

    Kromě toho chování Photon bylo nekonzistentní se Sparkem pro vnořené třídy znaků. Vzory regulárních výrazů obsahující vnořené třídy znaků už nebudou používat Photon a místo toho budou používat Spark. Vnořená třída znaků je libovolný vzor obsahující hranaté závorky v hranatých závorkách, například [[a-c][1-3]].

Verze 15.1

23. července 2024

Tato bezserverová verze výpočetních prostředků přibližně odpovídá modulu Databricks Runtime 15.1.

Nové funkce

*klauzule WHERE: Nyní můžete použít syntaxi hvězdičky () v klauzuli * k odkazování na všechny sloupce ze seznamu WHERE.

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 14.3

15. dubna 2024

Jedná se o počáteční bezserverovou výpočetní verzi. Tato verze přibližně odpovídá Databricks Runtime 14.3 s některými úpravami, které odeberou podporu některých funkcí bez serveru a starších verzí.

podporované parametry konfigurace Sparku

Kvůli automatizaci konfigurace Sparku na bezserverových výpočetních prostředcích služba Azure 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 CORRECTED)
  • 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)

Úloha selže na bezserverových výpočetních prostředcích, pokud nastavíte konfiguraci Sparku, která není v tomto seznamu.

Další informace o konfiguraci vlastností Sparku najdete v tématu Nastavení vlastností konfigurace Sparku v azure Databricks.

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í.
  • Prohledávání tabulek s poli typu CHAR jsou nyní vždy vyplněná: tabulky Delta, některé tabulky JDBC a externí zdroje dat ukládají data TYPU CHAR v nevyplněné podobě. Při čtení teď Azure 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: Azure 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. Dříve služba Azure Databricks vracela přetečené hodnoty, ale nyní v případě přetečení vyvolá výjimku. 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í provádění UDF na výpočetních prostředcích jednoho uživatele: 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.
    • UDF s návratovými typy timestamp již implicitně neprovádějí převod časové zóny na časová razítka.