Releaseopmerkingen voor serverloze compute
In dit artikel worden de functies en het gedrag uitgelegd die momenteel beschikbaar zijn en die binnenkort beschikbaar komen op serverloos computergebruik voor notebooks en werkzaamheden.
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 serverloos rekenen voor notebooks en taken bevat een architectuur op basis van Spark Connect, waardoor onafhankelijke upgrades van de engine mogelijk worden gemaakt zonder invloed te hebben 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.
- versie 16.2
- hoge geheugeninstelling beschikbaar op serverloze notebooks (openbare preview)
- Versie 16.1
- versie 15.4
- De JDK wordt bijgewerkt van JDK 8 naar JDK 17
- Versie 15.1
- Versie 14.3
Versie 16.2
13 maart 2025
Deze serverloze compute-release komt ongeveer overeen met Databricks Runtime 16.2.
Gedragswijzigingen
In Delta Delen is de tabelgeschiedenis standaard ingeschakeld: Shares die zijn gemaakt met de SQL-opdracht
ALTER SHARE <share> ADD TABLE <table>
nu standaard geschiedenis delen (WITH HISTORY
) hebben ingeschakeld. Zie ALTER SHARE.SQL-instructies voor referentiegegevens retourneren een fout wanneer het type referentiegegevens niet overeenkomt: Als het type referentiegegevens dat is opgegeven in een SQL-instructie voor referentiebeheer niet overeenkomt met het type van het referentieargument, wordt een fout geretourneerd en wordt de instructie niet uitgevoerd.
Nieuwe functies
Gebruik de
timestampdiff
×tampadd
in gegenereerde kolomexpressies. U kunt nu de functies timestampdiff en timestampadd gebruiken in door Delta Lake gegenereerde kolomexpressies. Zie door Delta Lake gegenereerde kolommen.Bijwerken naar
DESCRIBE TABLE
retourneert metagegevens als gestructureerde JSON-: u kunt nu de opdrachtDESCRIBE TABLE AS JSON
gebruiken om metagegevens van tabellen als een JSON-document te retourneren. De JSON-uitvoer is gestructureerder dan het standaard door mensen leesbare rapport en kan worden gebruikt om het schema van een tabel programmatisch te interpreteren. Zie DESCRIBE TABLE AS JSON-voor meer informatie.volgbare, niet-gevoelige sorteringen: Serverloos ondersteunt nu volgbare, niet-gevoelige sorteringen. Deze sorteringen behandelen bijvoorbeeld
'Hello'
en'Hello '
als gelijk. Raadpleeg RTRIM-collatievoor meer informatie.
Oplossingen voor fouten
-
Verbeterde incrementele kloonverwerking: deze release bevat een oplossing voor een edge-geval waarin een incrementele
CLONE
bestanden die al uit een brontabel zijn gekopieerd, opnieuw kunnen kopiëren naar een doeltabel. Zie Een tabel klonen in Azure Databricks.
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 functiefrom_avro
en deavro
gegevensbron. Met deze optie stelt u de maximale diepte in voor schemarecursie op de Avro-gegevensbron. Zie Lezen en schrijven van streaming Avro-gegevens. - 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()
NULL
is. -
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 deDeltaMergeBuilder
-klasse. GebruikwithSchemaEvolution()
dit om automatische schemaontwikkeling in te schakelen tijdensMERGE
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 nuVACUUM 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 aanroepen 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 parameterSYNC METADATA
gebruiken met de opdrachtREPAIR 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 deLZ4
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
DriverManager
gebruikt, 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
enlong
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
,short
,int
enlong
aandecimal
. -
byte
,short
,int
naardouble
.
-
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 bij 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 deWHEN MATCHED
clausule. Zie Upsert in een Delta Lake-tabel met behulp van een merge.De
addArtifact()
-functionaliteit is nu consistent voor rekentypen: Wanneer uaddArtifact(archive = True)
gebruikt om een afhankelijkheid toe te voegen aan serverloze berekeningen, wordt het archief automatisch uitgepakt.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 eenVARIANT
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 hetVARIANT
-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.
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 inCF_INCORRECT_STREAM_USAGE
. -
_LEGACY_ERROR_TEMP_DBR_0260
wordt gewijzigd inCF_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, geeft de functie
NULL
terug in plaats van een foutmelding 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 voorFOREIGN KEY
beperkingen wanneer u een tabel MAAKT of WIJZIGt . -
Parallelle uitvoering van taken voor selectief overschrijven: selectief overschrijven met behulp van
replaceWhere
laat nu taken parallel draaien die gegevens wissen en nieuwe gegevens invoegen, waardoor de queryprestaties en het clustergebruik worden verbeterd. -
Verbeterde prestaties voor wijzigingenstroom met selectieve overschrijvingen: Selectief overschrijven met behulp van
replaceWhere
op tabellen met een wijzigingenstroom schrijven 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 deCOPY 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 vanALTER 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.
De weergave compenseert in plaats daarvan waar mogelijk door gebruik te maken van standaard castingregels. Met deze wijziging kan Databricks tabelschemawijzigingen gemakkelijker tolereren.
Niet-gedocumenteerde
!
syntaxistolerantie voorNOT
buiten booleaanse logica niet toestaan: Databricks tolereert niet langer het gebruik van!
als synoniem voorNOT
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
,IS NOT NULL
,NOT NULL
kolom- of veldeigenschap,NOT IN
enNOT BETWEEN
.De booleaanse voorvoegseloperator
!
(bijvoorbeeld!is_mgr
of!(true AND false)
) wordt niet beïnvloed door deze wijziging.Verbied niet-gedocumenteerde en niet-verwerkte delen van de syntaxis van kolomdefinities in views: Databricks ondersteunt CREATE VIEW met benoemde kolommen en kolomopmerkingen.
De specificatie van kolomtypen,
NOT NULL
beperkingen ofDEFAULT
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 parseringsfouten veroorzaken, terwijl de uitvoering door Spark correct
IllegalArgumentException
ofConversionInvalidInputError
meldde. 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 foutklasse UNRESOLVED_COLUMN.WITH_SUGGESTION geretourneerd: Om voor nuttigere foutmeldingen te zorgen, geeft in Databricks Runtime 15.3 en hoger eenALTER TABLE ADD CONSTRAINT
instructie met eenCHECK
beperking die verwijst naar een ongeldige kolomnaam de foutklasse UNRESOLVED_COLUMN.WITH_SUGGESTION terug. Eerder werd er eenINTERNAL_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 gedrag van Photon 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
Ondersteuning voor ster (*
) syntax in de WHERE
clausule: U kunt nu de ster (*
) syntax gebruiken in de WHERE
clausule om te verwijzen naar alle kolommen uit de SELECT
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 er onjuiste JSON-syntaxis wordt aangetroffen in een structveld, een array-waarde, een kaart-sleutel of een kaartwaarde, zal de JSON-parser nu alleen NULL
retourneren voor het onleesbare veld, de sleutel of het element. Volgende velden, sleutels of elementen worden correct geparseerd. Vóór deze wijziging stopte de JSON-parser het parsen van de array, de struct of de map, en gaf NULL
terug 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 isCORRECTED
) -
spark.sql.session.timeZone
(standaardwaarde isEtc/UTC
) -
spark.sql.shuffle.partitions
(standaardwaarde isauto
) -
spark.sql.ansi.enabled
(standaardwaarde istrue
)
Taakuitvoeringen op serverloze compute zullen mislukken 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 links opgevuld naar een hele byte. Voorheen negeerde de onhexe functie de eerste halve byte. Bijvoorbeeld:unhex('ABC')
produceertx'0ABC'
nu in plaats vanx'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 in Azure Databricks nu met spaties opgevuld tot de gedeclareerde lengte om de juiste semantiek te garanderen. -
Casts van BIGINT/DECIMAL naar TIMESTAMP werpen een uitzondering op voor overgelopen waarden: Azure Databricks staat conversie van BIGINT en DECIMAL naar TIMESTAMP toe door de waarde te behandelen als het aantal seconden vanaf de 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 toegewezen rekenkracht: De volgende wijzigingen zijn aangebracht:
- UDF's met een tekenreeks retourtype converteren niet langer impliciet niet-tekenreekswaarden naar tekenreeksen. Voorheen pasten UDF's met een retourtype van
str
eenstr(..)
-wrapper toe 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.
- UDF's met een tekenreeks retourtype converteren niet langer impliciet niet-tekenreekswaarden naar tekenreeksen. Voorheen pasten UDF's met een retourtype van