Delen via


Releaseopmerkingen voor serverloze compute

In dit artikel worden de functies en het gedrag uitgelegd die momenteel beschikbaar en gepland zijn op serverloze berekeningen voor notebooks en taken.

Zie Verbinding maken met serverloze berekeningen voor meer informatie over serverloze berekeningen.

Azure Databricks brengt regelmatig updates uit voor serverloze berekeningen, en werkt automatisch de serverloze rekenruntime bij om verbeteringen en upgrades naar het platform te ondersteunen. Alle gebruikers krijgen dezelfde updates, die gedurende een korte periode worden geïmplementeerd.

serverloze omgevingsversies

Databricks serverloze berekening voor notebooks en taken bevat een architectuur op basis van Spark Connect, waardoor onafhankelijke engine-upgrades worden ingeschakeld zonder dat dit van invloed is op de toepassing. Om ervoor te zorgen dat toepassingscompatibiliteit wordt gegarandeerd, gebruiken serverloze workloads een versie van de API, ook wel de omgevingsversie of -client genoemd, die compatibel blijft met nieuwere serverversies.

De nieuwste omgevingsversie blijft updates ontvangen totdat er een nieuwe versie wordt uitgebracht. Gebruikers kunnen kiezen uit een van de volgende ondersteunde omgevingsversies:

Opmerkingen bij de release

Deze sectie bevat releaseopmerkingen voor serverloze berekeningen. Releaseopmerkingen zijn ingedeeld op jaar en week van het jaar. Serverloze compute wordt altijd uitgevoerd met behulp van de laatst uitgebrachte versie die hier wordt vermeld.

Hoge geheugeninstelling beschikbaar op serverloze notebooks (openbare preview)

7 februari 2025

U kunt nu een hogere geheugengrootte configureren voor uw serverloze rekenworkloads. Deze instelling kan worden toegepast op zowel interactieve als geplande notebookworkloads.

Serverloos gebruik met hoog geheugen heeft een hogere DBU-emissiesnelheid dan standaardgeheugen.

Zie Hoge geheugen configureren voor uw serverloze workloadsvoor meer informatie.

Versie 16.1

5 februari 2025

Deze serverloze compute-release komt ongeveer overeen met Databricks Runtime 16.0 en Databricks Runtime 16.1.

Nieuwe functies

  • Avro-ondersteuning voor recursief schema: U kunt nu de optie recursiveFieldMaxDepth gebruiken met de functie from_avro en de avro gegevensbron. Met deze optie stelt u de maximale diepte in voor schemarecursie op de Avro-gegevensbron. Zie Streaming Avro-gegevens lezen en schrijven.

  • Uitgebreide ondersteuning voor Confluent Schema Registry voor Avro: Serverloze ondersteunt nu avro-schemaverwijzingen met het Confluent-schemaregister. Zie Verifiëren bij een extern Confluent-schemaregister.

  • Het opnieuw clusteren van tabellen afdwingen met liquide clustering: U kunt nu de syntaxis van de OPTIMIZE FULL gebruiken om de herclustering van alle records in een tabel af te dwingen waarvoor liquide clustering is ingeschakeld. Zie dwangherclustering voor alle records.

  • De Delta-API's voor Python ondersteunen nu identiteitskolommen: U kunt nu de Delta-API's voor Python gebruiken om tabellen met identiteitskolommen te maken. Zie Identiteitskolommen gebruiken in Delta Lake.

  • Dynamische geclusterde tabellen maken tijdens het schrijven van streaming: U kunt nu clusterBy gebruiken om liquide clustering in te schakelen bij het maken van nieuwe tabellen met Structured Streaming-schrijfbewerkingen. Zie Liquid Clustering inschakelen.

  • Ondersteuning voor de component OPTIMIZE FULL: Serverloze compute ondersteunt nu de component OPTIMIZE FULL. Met deze component worden alle records in een tabel geoptimaliseerd die gebruikmaakt van liquide clustering, inclusief gegevens die eerder zijn geclusterd.

  • Ondersteuning voor specificatie van WITH-opties in INSERT en tabelverwijzing: Serverloze berekening ondersteunt nu een specificatie van opties voor tabelverwijzingen en tabelnamen van een INSERT-instructie die kan worden gebruikt om het gedrag van gegevensbronnen te beheren.

  • Nieuwe SQL-functies: De volgende SQL-functies zijn nu beschikbaar op serverloze berekeningen:

    • try_url_decode is een fouttolerante versie van url_decode.
    • zeroifnull- retourneert 0 als de invoerexpressie voor de functie zeroifnull()NULLis.
    • nullifzero- retourneert NULL als de invoer 0 is of zijn invoer als de invoer niet 0 is.
    • dayname(expr) retourneert de drieletterige Engelse acroniem voor de dag van de week voor de opgegeven datum.
    • uniform(expr1, expr2 [,seed]) retourneert een willekeurige waarde met onafhankelijke en identiek verdeelde waarden binnen het opgegeven bereik van getallen.
    • randstr(lengte) retourneert een willekeurige tekenreeks van length alfanumerieke tekens.
  • Automatische schemaontwikkeling inschakelen bij het samenvoegen van gegevens in een Delta-tabel: Ondersteuning is toegevoegd voor het withSchemaEvolution() lid van de DeltaMergeBuilder-klasse. Gebruik withSchemaEvolution() dit om automatische schemaontwikkeling in te schakelen tijdens MERGE bewerkingen. Bijvoorbeeld: mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.

  • Ondersteuning voor sorteringen in Apache Spark is in openbare preview: U kunt nu taalbewuste, hoofdletterongevoelige en toegangsongevoelige sorteringen toewijzen aan STRING kolommen en expressies. Deze sorteringen worden gebruikt in tekenreeksvergelijkingen, sortering, groeperingsbewerkingen en veel tekenreeksfuncties. Zie Collatie.

  • Ondersteuning voor sorteringen in Delta Lake is in openbare preview: U kunt nu sorteringen definiëren voor kolommen bij het maken of wijzigen van een Delta-tabel. Zie Collatieondersteuning voor Delta Lake.

  • LITE modus voor vacuüm is beschikbaar in openbare preview: U kunt nu VACUUM table_name LITE gebruiken om een lichtere vacuümbewerking uit te voeren die gebruikmaakt van metagegevens in het Delta-transactielogboek. Zie Full versus lite mode en VACUUM.

  • Ondersteuning voor het parameteriseren van de USE CATALOG with IDENTIFIER-component: De IDENTIFIER-component wordt nu ondersteund voor de USE CATALOG-instructie. Met deze ondersteuning kunt u de huidige catalogus parameteriseren op basis van een tekenreeksvariabele of parametermarkering.

  • COMMENT ON COLUMN ondersteuning voor tabellen en weergaven: De instructie COMMENT ON ondersteunt nu het wijzigen van opmerkingen voor weergave- en tabelkolommen.

  • benoemde parameter aanroep voor meer functies: De volgende functies ondersteunen benoemde parameter aanroepen:

  • De parameter SYNC METADATA voor de opdracht REPAIR TABLE wordt ondersteund met de Hive-metastore: U kunt nu de parameter SYNC METADATA gebruiken met de opdracht REPAIR TABLE om de metagegevens van een beheerde Hive-metastore-tabel bij te werken. Zie REPAIR TABLE.

  • Verbeterde gegevensintegriteit voor gecomprimeerde Apache Arrow-batches: Om gegevenscorruptie verder te voorkomen, bevat elke LZ4 gecomprimeerde Apache Arrow-batch nu de LZ4 inhoud en blokcontrolesommen. Zie LZ4 Frameformaatbeschrijving.

  • Ingebouwd Oracle JDBC-stuurprogramma: De Oracle JDBC-driver is nu ingebouwd in serverloze computercapaciteit. Als u een door de klant geüploade JAR van het JDBC-stuurprogramma via DriverManagergebruikt, moet u scripts herschrijven om expliciet het aangepaste JAR-bestand te gebruiken. Anders wordt het ingebouwde stuurprogramma gebruikt. Dit stuurprogramma ondersteunt alleen Lakehouse Federation. Voor andere toepassingen moet u uw eigen stuurprogramma opgeven.

  • Gedetailleerdere fouten voor Delta-tabellen die worden geopend met paden: Een nieuwe foutmelding voor Delta-tabellen die worden geopend met behulp van paden, is nu beschikbaar. Alle uitzonderingen worden nu doorgestuurd naar de gebruiker. De uitzondering DELTA_MISSING_DELTA_TABLE is nu gereserveerd voor wanneer onderliggende bestanden niet kunnen worden gelezen als een Delta-tabel.

Gedragswijzigingen

  • Belangrijke wijziging: Het einde van de levensduur voor gehoste RStudio: Met deze release heeft Databricks-gehoste RStudio Server het einde van zijn levensduur bereikt en is niet meer beschikbaar in elke Azure Databricks-werkruimte die gebruikmaakt van serverloze compute. Zie Veroudering van RStudio-servervoor meer informatie en om een lijst van alternatieven te zien voor RStudio Server.

  • Incompatibele wijziging: het weghalen van ondersteuning voor het veranderen van byte, short, int en long typen naar bredere typen: Om consistent gedrag te waarborgen in Delta- en Iceberg-tabellen mogen de volgende veranderingen in gegevenstype niet langer worden toegepast op tabellen waarvoor de type verbredingsfunctie is ingeschakeld.

    • byte, en shortintlong aan .decimal
    • byte, en shortint aan double.
  • Juiste parsering van regex-patronen met negatie in geneste tekengroepering: Deze release bevat een wijziging ter ondersteuning van de juiste parsering van regex-patronen met negatie in geneste tekengroepering. Wordt bijvoorbeeld [^[abc]] geparseerd als 'elk teken dat niet een van 'abc' is.

    Daarnaast was het photon-gedrag inconsistent met Spark voor geneste tekenklassen. Regex-patronen met geneste tekenklassen maken geen gebruik meer van Photon en gebruiken in plaats daarvan Spark. Een geneste tekenklasse is een patroon met vierkante haken binnen vierkante haken, zoals [[a-c][1-3]].

  • Verbeteren van dubbele overeenkomstdetectie in Delta Lake MERGE:MERGE houdt nu rekening met voorwaarden die zijn gespecificeerd in de WHEN MATCHED clausule. Zie Upsert in een Delta Lake-tabel met behulp van een merge.

  • De addArtifact()-functionaliteit is nu consistent voor rekentypen: Wanneer u addArtifact(archive = True) gebruikt om een afhankelijkheid toe te voegen aan serverloze berekeningen, wordt het archief automatisch uitgepakt. Deze wijziging zorgt ervoor dat het addArtifact(archive = True) gedrag consistent is met berekeningen van één gebruiker, die al automatisch uitpakken van archieven ondersteunt.

  • Het gegevenstype VARIANT kan niet meer worden gebruikt met bewerkingen waarvoor vergelijkingen zijn vereist: U kunt de volgende componenten of operators niet gebruiken in query's met een VARIANT gegevenstype:

    • DISTINCT
    • INTERSECT
    • EXCEPT
    • UNION
    • DISTRIBUTE BY

    Bovendien kunt u deze DataFrame-functies niet gebruiken:

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

    Deze bewerkingen voeren vergelijkingen uit en vergelijkingen die gebruikmaken van het VARIANT gegevenstype produceren niet-gedefinieerde resultaten en worden niet ondersteund in Databricks. Als u het VARIANT-type in uw Azure Databricks-workloads of -tabellen gebruikt, raadt Databricks de volgende wijzigingen aan:

    • Werk queries of expressies bij om expliciet VARIANT-waarden te casten naar niet-VARIANT gegevenstypen.
    • Als u velden hebt die moeten worden gebruikt met een van de bovenstaande bewerkingen, extraheert u deze velden uit het VARIANT gegevenstype en slaat u deze op met niet-VARIANT gegevenstypen.

    Zie vraag variantgegevens.

Bugfixes

  • tijdzone-offsets bevatten nu seconden wanneer ze zijn geserialiseerd naar CSV, JSON en XML: Tijdstempels met tijdzone-offsets die seconden bevatten (gebruikelijk voor tijdstempels van vóór 1900) laten de seconden weg wanneer ze worden geserialiseerd naar CSV, JSON en XML. De standaard tijdstempelformatter is gecorrigeerd en retourneert nu de juiste offsetwaarden voor deze tijdstempels.

Andere wijzigingen

  • hernoemde foutcodes voor de cloudFiles Structured Streaming-bron: De volgende foutcodes zijn hernoemd:
    • _LEGACY_ERROR_TEMP_DBR_0143 wordt gewijzigd in CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 wordt gewijzigd in CF_INCORRECT_BATCH_USAGE .

Versie 15.4

28 oktober 2024

Deze serverloze compute-release komt ongeveer overeen met Databricks Runtime 15.4

Nieuwe functies

  • UTF-8-validatiefuncties: in deze release worden de volgende functies geïntroduceerd voor het valideren van UTF-8-tekenreeksen:
    • is_valid_utf8 gecontroleerd of een tekenreeks een geldige UTF-8-tekenreeks is.
    • make_valid_utf8 converteert een mogelijk ongeldige UTF-8-tekenreeks naar een geldige UTF-8-tekenreeks met vervangingstekens.
    • validate_utf8 genereert een fout als de invoer geen geldige UTF-8-tekenreeks is.
    • try_validate_utf8 retourneert NULL als de invoer geen geldige UTF-8-tekenreeks is.
  • UniForm Iceberg inschakelen met behulp van ALTER TABLE: U kunt UniForm Iceberg nu inschakelen op bestaande tabellen zonder gegevensbestanden opnieuw te schrijven. Zie Iceberg-lezen inschakelen voor een bestaande tabel.
  • try_url_decode functie: in deze release wordt de functie try_url_decode geïntroduceerd, waarmee een tekenreeks met URL-codering wordt gedecodeerd. Als de tekenreeks niet de juiste indeling heeft, retourneert NULL de functie in plaats van een fout op te geven.
  • U kunt de optimizer desgewenst laten vertrouwen op niet-afgedwongen beperkingen voor refererende sleutels: Als u de prestaties van query's wilt verbeteren, kunt u nu het RELY trefwoord opgeven voor FOREIGN KEY beperkingen wanneer u een tabel MAAKT of WIJZIGt .
  • Geparallelliseerde taakuitvoeringen voor selectief overschrijven: selectief overschrijven met behulp van replaceWhere nu uitgevoerde taken waarmee gegevens worden verwijderd en nieuwe gegevens parallel worden ingevoegd, waardoor de queryprestaties en het clustergebruik worden verbeterd.
  • Verbeterde prestaties voor wijzigingenfeed met selectieve overschrijven: selectief overschrijven met behulp van replaceWhere tabellen met wijzigingenfeed schrijft geen afzonderlijke wijzigingsgegevensbestanden meer voor ingevoegde gegevens. Deze bewerkingen maken gebruik van een verborgen _change_type kolom die aanwezig is in de onderliggende Parquet-gegevensbestanden om wijzigingen vast te leggen zonder schrijfversterking.
  • Verbeterde querylatentie voor de COPY INTO opdracht: deze release bevat een wijziging die de querylatentie voor de COPY INTO opdracht verbetert. Deze verbetering wordt geïmplementeerd door het laden van de status door de RocksDB-statusopslag asynchroon te maken. Met deze wijziging ziet u een verbetering in de begintijden voor query's met grote statussen, zoals query's met een groot aantal al opgenomen bestanden.
  • Ondersteuning voor het verwijderen van de tabelfunctie voor controlebeperkingen: u kunt de checkConstraints tabelfunctie nu verwijderen uit een Delta-tabel met behulp van ALTER TABLE table_name DROP FEATURE checkConstraints. Zie Controlebeperkingen uitschakelen.

Gedragswijzigingen

  • Wijziging van schemabinding voor weergaven: Wanneer de gegevenstypen in de onderliggende query van een weergave veranderen van de gegevenstypen die worden gebruikt toen de weergave voor het eerst werd gemaakt, genereert Databricks geen fouten meer voor verwijzingen naar de weergave wanneer er geen veilige cast kan worden uitgevoerd.

    In plaats daarvan compenseert de weergave waar mogelijk met behulp van reguliere cast-regels. Met deze wijziging kan Databricks tabelschemawijzigingen gemakkelijker tolereren.

  • Niet-gedocumenteerde ! syntaxistolerantie voor NOT buiten booleaanse logica niet toestaan: Databricks tolereert niet langer het gebruik van ! als synoniem voor NOT buiten booleaanse logica. Deze wijziging vermindert verwarring, komt overeen met de SQL-standaard en maakt SQL draagbaarder. Voorbeeld:

    CREATE ... IF ! EXISTS, IS ! Null, ! NULL kolom- of veldeigenschap, ! IN en ! BETWEEN moet worden vervangen door:

    CREATE ... IF NOT EXISTS, kolomIS NOT NULL- of veldeigenschap en NOT NULLNOT IN . NOT BETWEEN

    De booleaanse voorvoegseloperator! (bijvoorbeeld !is_mgr of !(true AND false)) wordt niet beïnvloed door deze wijziging.

  • Niet-gedocumenteerde en niet-verwerkte gedeelten van de syntaxis van kolomdefinities in weergaven niet mogelijk maken: Databricks ondersteunt CREATE VIEW met benoemde kolommen en kolomopmerkingen.

    De specificatie van kolomtypen, NOT NULL beperkingen of DEFAULT is getolereerd in de syntaxis zonder effect. Databricks verwijdert deze syntaxistolerantie. Dit vermindert verwarring, komt overeen met de SQL-standaard en maakt toekomstige verbeteringen mogelijk.

  • Consistente foutafhandeling voor Base64-decodering in Spark en Photon: in deze release wordt gewijzigd hoe Photon base64-decoderingsfouten verwerkt zodat deze overeenkomen met de Spark-verwerking van deze fouten. Vóór deze wijzigingen kon het pad voor het genereren van Photon- en Spark-code soms geen parseringsonderingen veroorzaken, terwijl de uitvoering door Spark correct werd geïnterpreteerd IllegalArgumentException of ConversionInvalidInputError. Deze update zorgt ervoor dat Photon consistent dezelfde uitzonderingen genereert als Spark tijdens base64-decoderingsfouten, wat voorspelbare en betrouwbare foutafhandeling biedt.

  • Als u een CHECK beperking toevoegt aan een ongeldige kolom, wordt nu de UNRESOLVED_COLUMN geretourneerd. WITH_SUGGESTION foutklasse: Om nuttigere foutberichten te bieden, wordt in Databricks Runtime 15.3 en hoger een ALTER TABLE ADD CONSTRAINT instructie met een CHECK beperking die verwijst naar een ongeldige kolomnaam, de UNRESOLVED_COLUMN geretourneerd. WITH_SUGGESTION foutklasse. Eerder werd er een INTERNAL_ERROR geretourneerd.

De JDK wordt bijgewerkt van JDK 8 naar JDK 17

15 augustus 2024

Serverloze rekenkracht voor notebooks en werkstromen is gemigreerd van Java Development Kit (JDK) 8 naar JDK 17 aan de serverzijde. Deze upgrade omvat de volgende gedragswijzigingen:

  • Corrigeer het parseren van regex-patronen met negatie in geneste tekengroepering: Met deze upgrade ondersteunt Azure Databricks nu de juiste parsering van regex-patronen met negatie in geneste tekengroepering. Wordt bijvoorbeeld [^[abc]] geparseerd als 'elk teken dat niet een van 'abc' is.

    Daarnaast was het photon-gedrag inconsistent met Spark voor geneste tekenklassen. Regex-patronen met geneste tekenklassen maken geen gebruik meer van Photon en gebruiken in plaats daarvan Spark. Een geneste tekenklasse is een patroon met vierkante haken binnen vierkante haken, zoals [[a-c][1-3]].

Versie 15.1

23 juli 2024

Deze serverloze rekenkrachtrelease komt ongeveer overeen met Databricks Runtime 15.1

Nieuwe functies

*lijst.

Bijvoorbeeld: SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Wijzigingen

Verbeterd foutherstel voor JSON-parsering: de JSON-parser die wordt gebruikt voor from_json() expressies van JSON-pad, herstelt nu sneller van onjuiste syntaxis, wat resulteert in minder gegevensverlies.

Wanneer u een ongeldige JSON-syntaxis in een structveld, een matrixwaarde, een kaartsleutel of een toewijzingswaarde tegenkomt, wordt de JSON-parser nu alleen geretourneerd NULL voor het onleesbare veld, de sleutel of het element. Volgende velden, sleutels of elementen worden correct geparseerd. Vóór deze wijziging heeft de JSON-parser de matrix, de struct of de kaart verlaten en geretourneerd NULL voor de resterende inhoud.

Versie 14.3

15 april 2024

Dit is de eerste serverloze rekenversie. Deze versie komt ongeveer overeen met Databricks Runtime 14.3 met enkele wijzigingen die ondersteuning voor sommige niet-serverloze en verouderde functies verwijderen.

Ondersteunde Spark-configuratieparameters

Om de configuratie van Spark op serverloze berekeningen te automatiseren, heeft Azure Databricks de ondersteuning verwijderd voor het handmatig instellen van de meeste Spark-configuraties. U kunt alleen de volgende Spark-configuratieparameters handmatig instellen:

  • spark.sql.legacy.timeParserPolicy (standaardwaarde is CORRECTED)
  • spark.sql.session.timeZone (standaardwaarde is Etc/UTC)
  • spark.sql.shuffle.partitions (standaardwaarde is auto)
  • spark.sql.ansi.enabled (standaardwaarde is true)

De taak wordt uitgevoerd op serverloze berekeningen mislukt als u een Spark-configuratie instelt die niet in deze lijst staat.

Zie Spark-configuratie-eigenschappen instellen in Azure Databricks voor meer informatie over het configureren van Spark-eigenschappen.

input_file functies zijn afgeschaft

De functies input_file_name(), input_file_block_length()en input_file_block_start() zijn afgeschaft. Het gebruik van deze functies wordt sterk afgeraden.

Gebruik in plaats daarvan de kolom met bestandsmetagegevens om metagegevens van bestanden op te halen.

Gedragswijzigingen

Serverloze compute-versie 2024.15 bevat de volgende gedragswijzigingen:

  • unhex(hexStr) bug fix: Wanneer u de unhex(hexStr) functie gebruikt, wordt hexStr altijd opgevuld naar een hele byte. Voorheen negeerde de onhexe functie de eerste halve byte. Bijvoorbeeld: unhex('ABC') produceert x'0ABC' nu in plaats van x'BC'.
  • Automatisch gegenereerde kolomaliassen zijn nu stabiel: wanneer het resultaat van een expressie wordt verwezen zonder een door de gebruiker opgegeven kolomalias, is deze automatisch gegenereerde alias nu stabiel. Het nieuwe algoritme kan leiden tot een wijziging van de eerder automatisch gegenereerde namen die worden gebruikt in functies zoals gerealiseerde weergaven.
  • Tabelscans met CHAR typevelden worden nu altijd opgevuld: Delta-tabellen, bepaalde JDBC-tabellen en externe gegevensbronnen slaan CHAR-gegevens op in niet-opgevulde vorm. Bij het lezen worden de gegevens nu in Azure Databricks opgeslagen met spaties naar de gedeclareerde lengte om de juiste semantiek te garanderen.
  • Casts from BIGINT/DECIMAL to TIMESTAMP throw an exception for overflowed values: Azure Databricks allows casting from BIGINT and DECIMAL to TIMESTAMP by treating the value as the number of seconds from the Unix epoch. Voorheen retourneerde Azure Databricks overloopwaarden, maar genereert nu een uitzondering in gevallen van overloop. Gebruik try_cast dit om NULL te retourneren in plaats van een uitzondering.
  • PySpark UDF-uitvoering is verbeterd zodat deze overeenkomt met het exacte gedrag van UDF-uitvoering op rekenkracht van één gebruiker: De volgende wijzigingen zijn aangebracht:
    • UDF's met een tekenreeks retourtype converteren niet langer impliciet niet-tekenreekswaarden naar tekenreeksen. Voorheen zouden UDF's met een retourtype van str een wrapper worden str(..) toegepast op het resultaat, ongeacht het werkelijke gegevenstype van de geretourneerde waarde.
    • UDF's met timestamp retourtypen passen een tijdzoneconversie niet meer impliciet toe op tijdstempels.