Versionshinweise für serverloses Computing
In diesem Artikel werden die Features und Verhaltensweisen erläutert, die derzeit für serverloses Computing für Notebooks und Aufträge verfügbar und geplant sind.
Weitere Informationen zu serverlosem Computing finden Sie unter Herstellen einer Verbindung mit serverlosem Computing.
Azure Databricks veröffentlicht regelmäßig Updates für serverlose Compute, aktualisiert automatisch die serverlose Computelaufzeit, um Verbesserungen und Upgrades auf die Plattform zu unterstützen. Alle Benutzer erhalten innerhalb eines kurzen Zeitraums die gleichen Updates.
Versionen der serverlosen Umgebung
Databricks serverlose Berechnung für Notizbücher und Aufträge verfügt über eine Spark Connect-basierte Architektur und ermöglicht unabhängige Modulupgrades ohne Auswirkungen auf die Anwendung. Um die Anwendungskompatibilität sicherzustellen, verwenden serverlose Workloads eine versionslose API, die als Umgebungsversion oder Client bezeichnet wird, die mit neueren Serverversionen kompatibel bleibt.
Die neueste Umgebungsversion empfängt weiterhin Updates, bis eine neue Version veröffentlicht wird. Benutzer können aus einer der folgenden unterstützten Umgebungsversionen auswählen:
Versionshinweise
Dieser Abschnitt enthält Versionshinweise für serverloses Computing. Versionshinweise sind nach Jahr und Woche des Jahres strukturiert. Serverloses Computing wird immer mit dem zuletzt veröffentlichten Release ausgeführt, das hier aufgeführt ist.
- Einstellung für hohen Arbeitsspeicher auf serverlosen Notebooks (Public Preview)
- Version 16.1
- Version 15.4
- Das JDK wird von JDK 8 auf JDK 17 aktualisiert.
- Version 15.1
- Version 14.3
Einstellung für hohen Arbeitsspeicher auf serverlosen Notizbüchern (Public Preview)
7. Februar 2025
Sie können jetzt eine höhere Arbeitsspeichergröße für Ihre serverlosen Rechennotizbucharbeitslasten konfigurieren. Diese Einstellung kann sowohl auf interaktive als auch auf geplante Notizbucharbeitslasten angewendet werden.
Die serverlose Verwendung mit hohem Arbeitsspeicher hat eine höhere DBU-Emissionsrate als standardspeicher.
Weitere Informationen finden Sie unter Konfigurieren von hohem Arbeitsspeicher für Ihre serverlosen Workloads.
Version 16.1
5. Februar 2025
Dieses serverlose Computingrelease entspricht ungefähr Databricks Runtime 16.0 und Databricks Runtime 16.1.
Neue Funktionen
Avro-Unterstützung für rekursives Schema: Sie können jetzt die Option
recursiveFieldMaxDepth
mit der funktionfrom_avro
und deravro
Datenquelle verwenden. Diese Option legt die maximale Tiefe für die Schema rekursion in der Avro-Datenquelle fest. Weitere Informationen finden Sie unter Lesen und Schreiben von Avro-Streamingdaten.Erweiterte Unterstützung für Confluent Schema Registry für Avro: Serverless unterstützt jetzt Avro-Schemareferenzen mit dem Confluent Schema Registry. Weitere Informationen finden Sie unter Authentifizieren bei einer externen Schemaregistrierung von Confluent.
Erzwingen der Neuclusterung auf Tabellen mit flüssigem Clustering: Sie können jetzt die
OPTIMIZE FULL
-Syntax verwenden, um die Neuclusterung aller Datensätze in einer Tabelle mit aktivierter Flüssigclusterung zu erzwingen. Weitere Informationen finden Sie unter Erzwingen eines erneuten Clusterings für alle Datensätze.Die Delta-APIs für Python unterstützen jetzt Identitätsspalten: Sie können jetzt die Delta-APIs für Python verwenden, um Tabellen mit Identitätsspalten zu erstellen. Weitere Informationen finden Sie unter Verwenden von Identitätsspalten in Delta Lake.
Erstellen flüssig gruppierter Tabellen während des Streaming-Schreibvorgangs: Sie können jetzt
clusterBy
verwenden, um flüssiges Clustering zu ermöglichen, wenn Sie neue Tabellen mit Strukturiertem Streaming erstellen. Weitere Informationen finden Sie unter Aktivieren des Liquid Clustering.Unterstützung für die OPTIMIZE FULL-Klausel: Serverloses Rechnen unterstützt jetzt die OPTIMIZE FULL-Klausel. Diese Klausel optimiert alle Datensätze in einer Tabelle, die flüssigen Clustering verwendet, einschließlich Daten, die zuvor gruppiert wurden.
Unterstützung der Spezifikation von WITH-Optionen in INSERT und Tabellenreferenzen: Serverloses Computing unterstützt jetzt die Spezifikation von Optionen für Tabellenreferenzen und Tabellennamen einer
INSERT
-Anweisung, die zum Steuern des Verhaltens von Datenquellen verwendet werden kann.Neue SQL-Funktionen: Die folgenden SQL-Funktionen sind jetzt auf serverloser Berechnung verfügbar:
- try_url_decode ist eine fehlertolerante Version von url_decode.
- zeroifnull gibt 0 zurück, wenn der Eingabeausdruck für die Funktion
zeroifnull()
alsNULL
vorliegt. - nullifzero gibt
NULL
zurück, wenn die Eingabe 0 ist, oder die Eingabe selbst, wenn sie nicht 0 ist. - dayname(expr) gibt das englische Akronym mit drei Buchstaben für den Wochentag für das angegebene Datum zurück.
- uniform(expr1, expr2 [,seed]) gibt einen Zufallswert mit unabhängigen und identisch verteilten Werten innerhalb des angegebenen Zahlenbereichs zurück.
- randstr(length) gibt eine zufällige Zeichenfolge aus
length
alphanumerischen Zeichen zurück.
Automatische Schemaentwicklung beim Zusammenführen von Daten in eine Delta-Tabelle aktivieren: Support wurde für das
withSchemaEvolution()
Mitglied derDeltaMergeBuilder
-Klasse hinzugefügt. Verwenden SiewithSchemaEvolution()
, um die automatische Schemaentwicklung währendMERGE
Vorgängen zu aktivieren. Beispiel:mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}
.Unterstützung von Sortierungen in Apache Spark befindet sich in der öffentlichen Vorschau: Sie können jetzt sprachspezifische, case-sensitive und zugriffsunempfindliche Sortierungen zu
STRING
Spalten und Ausdrücke zuweisen. Diese Sortierungen werden in Vergleichen von Zeichenfolgen, Sortiervorgängen, Gruppierungsvorgängen und vielen Zeichenfolgenfunktionen verwendet. Siehe Sortierung.Unterstützung für Sortierungen in Delta Lake befindet sich in der öffentlichen Vorschau: Sie können jetzt Sortierungen für Spalten definieren, wenn Sie eine Delta-Tabelle erstellen oder ändern. Weitere Informationen finden Sie unter Sortierungsunterstützung für Delta Lake.
LITE
Modus für Vakuum befindet sich in der öffentlichen Vorschau: Sie können jetztVACUUM table_name LITE
verwenden, um einen leichteren Vakuum-Vorgang auszuführen, der Metadaten im Delta-Transaktionsprotokoll nutzt. Siehe Vollmodus gegenüber Lite-Modus und VACUUM.Unterstützung der Parametrierung der
USE CATALOG with IDENTIFIER
-Klausel: Die IDENTIFIER-Klausel wird jetzt für die USE CATALOG-Anweisung unterstützt. Mit dieser Unterstützung können Sie den aktuellen Katalog basierend auf einer Zeichenfolgenvariablen oder Parametermarkierung parametrisieren.COMMENT ONCOLUMN Unterstützung für Tabellen und Ansichten: Die COMMENT ON-Anweisung unterstützt jetzt das Ändern von Kommentaren für Ansichts- und Tabellenspalten.
Aufrufen benannter Parameter für weitere Funktionen: Die folgenden Funktionen unterstützen den Aufruf benannter Parameter:
Der
SYNC METADATA
-Parameter für den Befehl REPAIR TABLE wird mit dem Hive-Metaspeicher unterstützt: Sie können jetzt denSYNC METADATA
-Parameter mit dem BefehlREPAIR TABLE
verwenden, um die Metadaten einer verwalteten Hive-Metastore-Tabelle zu aktualisieren. Siehe REPAIR TABLE.Erweiterte Datenintegrität für komprimierte Apache Arrow-Batches: Um den Schutz vor Datenbeschädigungen zu erhöhen, enthält jeder
LZ4
komprimierte Arrow-Batch jetzt denLZ4
Inhalt und blockierte Prüfsummen. Siehe Beschreibung des LZ4-Frameformats.Integrierter Oracle JDBC-Treiber: Serverless Compute verfügt jetzt über den integrierten Oracle JDBC-Treiber. Wenn Sie ein vom Kunden hochgeladenes JDBC-Treiber-JAR über
DriverManager
verwenden, müssen Sie Skripts neu schreiben, um das benutzerdefinierte JAR explizit zu verwenden. Andernfalls wird der integrierte Treiber verwendet. Dieser Treiber unterstützt nur den Lakehouse-Verbund. Für andere Anwendungsfälle müssen Sie Ihren eigenen Treiber bereitstellen.Detailliertere Fehler für Delta-Tabellen, auf die mit Pfaden zugegriffen wird: Eine neue Fehlermeldung für Delta-Tabellen, auf die mithilfe von Pfaden zugegriffen wird, ist jetzt verfügbar. Alle Ausnahmen werden jetzt an den Benutzer weitergeleitet. Die Ausnahme
DELTA_MISSING_DELTA_TABLE
ist jetzt reserviert, wenn zugrundeliegende Dateien nicht als Delta-Tabelle gelesen werden können.
Verhaltensänderungen
Breaking change: Hosted RStudio ist am Ende des Lebenszyklus: Ab dieser Version ist der auf Databricks gehostete RStudio Server am Ende seines Lebenszyklus und in allen Azure Databricks-Arbeitsbereichen nicht mehr verfügbar, die auf serverlosem Computing laufen. Weitere Informationen und eine Liste der Alternativen zu RStudio finden Sie unter Einstellung des gehosteten RStudio Servers.
Breaking Change: Entfernen der Unterstützung für das Ändern von
byte
,short
,int
undlong
Typen auf breitere Typen: Um ein konsistentes Verhalten in Delta- und Iceberg-Tabellen sicherzustellen, können die folgenden Änderungen von Datentypen nicht mehr auf Tabellen angewendet werden, bei denen die Funktion Typverbreiterung aktiviert ist:byte
,short
,int
undlong
bisdecimal
.byte
,short
undint
bisdouble
.
Korrekte Analyse von Regex-Mustern mit Negation in geschachtelter Zeichengruppierung: Diese Version enthält eine Änderung zur Unterstützung der korrekten Analyse von Regex-Mustern mit Negation in geschachtelter Zeichengruppierung. Beispielsweise wird
[^[abc]]
als „beliebiges Zeichen analysiert, das NICHT abc“ ist.Darüber hinaus war das Photon-Verhalten mit Spark für geschachtelte Zeichenklassen inkonsistent. Regex-Muster, die geschachtelte Zeichenklassen enthalten, verwenden Photon nicht mehr und verwenden stattdessen Spark. Eine geschachtelte Zeichenklasse ist jedes Muster, das eckige Klammern in eckigen Klammern enthält, z. B.
[[a-c][1-3]]
.Verbessern der Erkennung doppelter Übereinstimmungen in Delta Lake
MERGE
:MERGE
berücksichtigt jetzt bedingungen, die in derWHEN MATCHED
-Klausel angegeben sind. Siehe Ausführen eines Upsert-Vorgangs in einer Delta Lake-Tabelle mithilfe von „Merge“.Die
addArtifact()
-Funktionalität ist jetzt konsistent über alle Rechenarten hinweg: Wenn SieaddArtifact(archive = True)
verwenden, um eine Abhängigkeit zu serverlosem Rechnen hinzuzufügen, wird das Archiv automatisch entpackt. Diese Änderung macht dasaddArtifact(archive = True)
Verhalten konsistent mit der Berechnung einzelner Benutzer, die bereits das automatische Entpacken von Archiven unterstützt.Der datentyp "
VARIANT
" kann nicht mehr mit Vorgängen verwendet werden, die Vergleiche erfordern: Sie können die folgenden Klauseln oder Operatoren nicht in Abfragen verwenden, die einenVARIANT
Datentyp enthalten:DISTINCT
INTERSECT
EXCEPT
UNION
DISTRIBUTE BY
Darüber hinaus können Sie diese DataFrame-Funktionen nicht verwenden:
df.dropDuplicates()
df.repartition()
Diese Vorgänge führen Vergleiche aus, und Vergleiche, die den Datentyp
VARIANT
verwenden, erzeugen nicht definierte Ergebnisse und werden in Databricks nicht unterstützt. Wenn Sie denVARIANT
Typ in Ihren Azure Databricks-Workloads oder -Tabellen verwenden, empfiehlt Databricks die folgenden Änderungen:- Aktualisieren Sie Abfragen oder Ausdrücke, um
VARIANT
-Werte explizit in Nicht-VARIANT
-Datentypen umzuwandeln. - Wenn Sie über Felder verfügen, die mit einem der oben genannten Vorgänge verwendet werden müssen, extrahieren Sie diese Felder aus dem Datentyp
VARIANT
und speichern Sie sie mit Datentypen, die nichtVARIANT
sind.
Siehe Abfragevariantendaten.
Fehlerkorrekturen
- Zeitzonenversätze enthalten jetzt Sekunden, wenn sie in CSV, JSON und XML serialisiert werden: Bei Zeitstempeln mit Zeitzonenversatz, die Sekunden enthalten (was bei Zeitstempeln vor 1900 üblich ist), wurden die Sekunden bei der Serialisierung nach CSV, JSON und XML weggelassen. Der Standardformatierer für den Zeitstempel wurde behoben und gibt nun die richtigen Offsetwerte für diese Zeitstempel zurück.
Weitere Änderungen
- Umbenannte Fehlercodes für die
cloudFiles
Strukturierte Streamingquelle: Die folgenden Fehlercodes wurden umbenannt:_LEGACY_ERROR_TEMP_DBR_0143
wird umbenannt inCF_INCORRECT_STREAM_USAGE
._LEGACY_ERROR_TEMP_DBR_0260
wird umbenannt inCF_INCORRECT_BATCH_USAGE
.
Version 15.4
28. Oktober 2024
Diese serverlose Computeversion entspricht ungefähr Databricks Runtime 15.4.
Neue Funktionen
- UTF-8-Überprüfungsfunktionen: In dieser Version werden die folgenden Funktionen zum Validieren von UTF-8-Zeichenfolgen eingeführt:
- is_valid_utf8 überprüft, ob eine Zeichenfolge eine gültige UTF-8-Zeichenkette ist.
- make_valid_utf8 konvertiert eine potenziell ungültige UTF-8-Zeichenfolge in eine gültige UTF-8-Zeichenfolge mit Ersetzungszeichen.
- validate_utf8 löst einen Fehler aus, wenn die Eingabe keine gültige UTF-8-Zeichenkette ist.
- try_validate_utf8 gibt
NULL
zurück, wenn die Eingabe keine gültige UTF-8-Zeichenkette ist.
- UniForm Iceberg mit ALTER TABLEaktivieren: Sie können uniForm Iceberg jetzt auf vorhandenen Tabellen aktivieren, ohne Datendateien neu zu schreiben. Siehe Aktivieren von Iceberg-Lesevorgängen in einer vorhandenen Tabelle.
- try_url_decode Funktion: In dieser Version wird die try_url_decode-Funktion eingeführt, die eine URL-codierte Zeichenfolge decodiert. Wenn die Zeichenfolge nicht das richtige Format hat, gibt die Funktion
NULL
zurück, anstatt einen Fehler zu auslösen. - Optional können Sie zulassen, dass der Optimierer auf nicht erzwungene Fremdschlüsseleinschränkungen angewiesen ist: Um die Abfrageleistung zu verbessern, können Sie nun das
RELY
Schlüsselwort fürFOREIGN KEY
Einschränkungen angeben, wenn Sie eine Tabelle ERSTELLEN oder ÄNDERN . - Parallelisierter Auftrag wird für selektive Überschreibungen ausgeführt: Selektive Überschreibungen mit jetzt ausgeführten
replaceWhere
Aufträgen, mit denen Daten gelöscht und neue Daten parallel eingefügt werden, um die Abfrageleistung und die Clusterauslastung zu verbessern. - Verbesserte Leistung für Änderungsdatenfeeds mit selektiven Überschreibungen: Selektive Überschreibungen mithilfe von
replaceWhere
Tabellen mit Änderungsdatenfeed schreiben keine separaten Änderungsdatendateien für eingefügte Daten mehr. Diese Vorgänge verwenden eine ausgeblendete_change_type
-Spalte, die in den zugrunde liegenden Parquet-Datendateien vorhanden ist, um Änderungen ohne Schreibverstärkung aufzuzeichnen. - Verbesserte Abfragelatenz für den
COPY INTO
Befehl: Diese Version enthält eine Änderung, die die Abfragelatenz für denCOPY INTO
Befehl verbessert. Diese Verbesserung wird implementiert, indem das Laden des Zustands durch den RocksDB-Zustandsspeicher asynchron wird. Dank dieser Änderung sollten Sie eine Verbesserung der Startzeiten für Abfragen mit großen Zuständen feststellen,wie Abfragen mit einer großen Anzahl bereits erfasster Dateien. - Unterstützung für das Ablegen der Funktion "Check constraints table": Sie können das
checkConstraints
Tabellenfeature jetzt mithilfeALTER TABLE table_name DROP FEATURE checkConstraints
einer Delta-Tabelle ablegen. Weitere Informationen finden Sie unter Deaktivieren von Überprüfungseinschränkungen.
Verhaltensänderungen
Änderung der Schemabindung für Ansichten: Wenn sich die Datentypen in der zugrunde liegenden Abfrage einer Ansicht von denen ändern, die beim ersten Erstellen der Ansicht verwendet wurden, löst Databricks keine Fehler mehr für Verweise auf die Ansicht aus, wenn keine sichere Umwandlung ausgeführt werden kann.
Stattdessen entschädigt die Ansicht nach Möglichkeit die Verwendung regulärer Umwandlungsregeln. Diese Änderung ermöglicht es Databricks, Tabellenschemaänderungen besser zu tolerieren.
Nicht dokumentierte
!
Syntax-Tolerierung fürNOT
externe boolesche Logik nicht zulassen: Databricks tolerieren die Verwendung!
als Synonym fürNOT
außerhalb der booleschen Logik nicht mehr. Diese Änderung vermindert Verwirrung, entspricht dem SQL-Standard und macht SQL portierbarer. Zum Beispiel:CREATE ... IF ! EXISTS
, IS ! NULL,! NULL
-Spalteneigenschaft oder -Feldeigenschaft,! IN
und ! BETWEEN müssen durch Folgendes ersetzt werden:CREATE ... IF NOT EXISTS
-,IS NOT NULL
-,NOT NULL
-Spalteneigenschaft oder Feldeigenschaft,NOT IN
undNOT BETWEEN
.Der booleschen Präfixoperator
!
(z. B.!is_mgr
oder!(true AND false)
) ist von dieser Änderung nicht betroffen.Undokumentierte und nicht verarbeitete Teile der Spaltendefinitionssyntax in Ansichten dürfen nicht zugelassen werden: Databricks unterstützt CREATE VIEW für benannte Spalten und Spaltenkommentare.
Die Spezifikation von Spaltentypen,
NOT NULL
-Einschränkungen oderDEFAULT
wurde in der Syntax toleriert, ohne dass dies Folgen hat. Databricks entfernt diese Syntaxtoleranz. Dies reduziert Verwirrung, entspricht dem SQL-Standard und ermöglicht zukünftige Verbesserungen.Einheitliche Fehlerbehandlung für die Base64-Decodierung in Spark und Photon: Diese Version ändert, wie Photon Base64-Decodierungsfehler behandelt, um die Spark-Behandlung dieser Fehler abzugleichen. Vor diesen Änderungen konnte der Photon- und Spark-Codegenerierungspfad manchmal keine Analyseausnahmen auslösen, während die Spark-Ausführung richtig
IllegalArgumentException
oderConversionInvalidInputError
auslöste. Mit diesem Update wird sichergestellt, dass Photon bei Base64-Decodierungsfehlern konsistent dieselben Ausnahmen auslöst, was eine vorhersehbarere und zuverlässige Fehlerbehandlung ermöglicht.Das Hinzufügen einer
CHECK
Einschränkung für eine ungültige Spalte gibt jetzt den UNRESOLVED_COLUMN zurück. WITH_SUGGESTION Fehlerklasse: Um nützlichere Fehlermeldungen bereitzustellen, gibt in Databricks Runtime 15.3 und höher eine Anweisung, die eineALTER TABLE ADD CONSTRAINT
Einschränkung enthält, die auf einenCHECK
ungültigen Spaltennamen verweist, den UNRESOLVED_COLUMN zurück. WITH_SUGGESTION Fehlerklasse. Zuvor wurde einINTERNAL_ERROR
Wert zurückgegeben.
Das JDK wird von JDK 8 auf JDK 17 aktualisiert.
15. August 2024
Serverloses Compute für Notebooks und Workflows wurde von Java Development Kit (JDK) 8 auf der Serverseite zu JDK 17 migriert. Dieses Upgrade umfasst die folgenden Verhaltensänderungen:
Fehlerkorrekturen
Korrekte Analyse von Regex-Mustern mit Negation in geschachtelter Zeichengruppierung: Mit diesem Upgrade unterstützt Azure Databricks jetzt die richtige Analyse von Regex-Mustern mit Negation in geschachtelter Zeichengruppierung. Beispielsweise wird [^[abc]]
als „beliebiges Zeichen analysiert, das NICHT abc“ ist.
Darüber hinaus war das Photon-Verhalten mit Spark für geschachtelte Zeichenklassen inkonsistent. Regex-Muster, die geschachtelte Zeichenklassen enthalten, verwenden Photon nicht mehr und verwenden stattdessen Spark. Eine geschachtelte Zeichenklasse ist jedes Muster, das eckige Klammern in eckigen Klammern enthält, z. B. [[a-c][1-3]]
.
Version 15.1
23. Juli 2024
Dieses serverlose Computingrelease entspricht ungefähr Databricks Runtime 15.1.
Neue Funktionen
Unterstützung für die *
-Syntax (Stern) in der WHERE
-Klausel: Sie können jetzt die *
-Syntax (Stern) in der WHERE
-Klausel verwenden, um auf alle Spalten in der SELECT
-Liste zu verweisen.
Beispiel: SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)
.
Änderungen
Verbesserte Wiederherstellung nach Fehlern für die JSON-Analyse: Der für from_json()
und JSON-Pfadausdrücke verwendete JSON-Parser wird bei falsch formatierter Syntax jetzt schneller wiederhergestellt, sodass weniger Datenverluste auftreten.
Beim falsch formatierter JSON-Syntax in einem Strukturfeld, einem Arraywert, einem Zuordnungsschlüssel oder einem Zuordnungswert gibt der JSON-Parser NULL
jetzt nur für das nicht lesbare Feld, den Schlüssel oder das Element zurück. Nachfolgende Felder, Schlüssel oder Elemente werden ordnungsgemäß analysiert. Vor dieser Änderung hat der JSON-Parser die Analyse des Arrays, der Struktur oder der Zuordnung abgebrochen und für den verbleibenden Inhalt NULL
zurückgegeben.
Version 14.3
15. April 2024
Dies ist die Anfangsversion für serverloses Computing. Diese Version entspricht ungefähr Databricks Runtime 14.3 mit einigen Änderungen, um die Unterstützung für einige nicht serverlose und ältere Features zu entfernen.
Unterstützte Spark-Konfigurationsparameter
Um die Konfiguration von Spark auf serverlosem Compute zu automatisieren, hat Azure Databricks die Unterstützung für die manuelle Einstellung der meisten Spark-Konfigurationen entfernt. Nur die folgenden Spark-Konfigurationsparameter können manuell festgelegt werden:
spark.sql.legacy.timeParserPolicy
(Standardwert:CORRECTED
)spark.sql.session.timeZone
(Standardwert:Etc/UTC
)spark.sql.shuffle.partitions
(Standardwert:auto
)spark.sql.ansi.enabled
(Standardwert:true
)
Die Ausführung von Aufträgen auf serverlosem Computing schlägt fehl, wenn Sie eine Spark-Konfiguration festlegen, die nicht in dieser Liste enthalten ist.
Weitere Informationen zum Konfigurieren von Spark-Eigenschaften finden Sie unter Festlegen von Spark-Konfigurationseigenschaften in Azure Databricks.
Ausmusterung von input_file-Funktionen
Die Funktionen input_file_name(), input_file_block_length() und input_file_block_start() wurden ausgemustert. Von der Verwendung dieser Funktionen wird dringend abgeraten.
Verwenden Sie stattdessen die Spalte mit Dateimetadaten, um Dateimetadaten abzurufen.
Verhaltensänderungen
Die Version 2024.15 des serverlosen Computings enthält folgende Verhaltensänderungen:
- Korrektur für unhex(hexStr): Bei Verwendung der
unhex(hexStr)
-Funktion wird „hexStr“ immer links auf ein ganzes Byte aufgefüllt. Zuvor wurde das erste halbe Byte von der unhex-Funktion ignoriert. Beispiel:unhex('ABC')
erzeugt jetztx'0ABC'
anstattx'BC'
. - Automatisch generierte Spaltenaliase sind jetzt stabil: Wenn auf das Ergebnis eines Ausdrucks ohne einen benutzerseitig angegebenen Spaltenalias verwiesen wird, ist dieser automatisch generierte Alias jetzt stabil. Der neue Algorithmus führt möglicherweise zu einer Änderung der zuvor automatisch generierten Namen, die in Features wie materialisierten Sichten verwendet werden.
- Tabellenüberprüfungen mit Feldern vom Typ
CHAR
werden jetzt immer aufgefüllt: Delta-Tabellen, bestimmte JDBC-Tabellen und externe Datenquellen speichern CHAR-Daten in nicht aufgefüllter Form. Beim Lesen werden die Daten von Azure Databricks jetzt mit Leerzeichen auf die deklarierte Länge geblockt, um die richtige Semantik sicherzustellen. - 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. Zuvor würden Azure Databricks überlaufene Werte zurückgeben, löst aber jetzt eine Ausnahme in Fällen von Überlauf aus. Verwenden Sie
try_cast
, um NULL anstelle einer Ausnahme zurückzugeben. - PySpark UDF-Ausführung wurde verbessert, um das genaue Verhalten der UDF-Ausführung bei der Berechnung einzelner Benutzer abzugleichen: Die folgenden Änderungen wurden vorgenommen:
- Von UDFs mit einem Zeichenfolgenrückgabetyp werden nicht mehr implizit zeichenfolgenfremde Werte in Zeichenfolgen konvertiert. Zuvor wurde von UDFs mit dem Rückgabetyp
str
unabhängig vom tatsächlichen Datentyp des zurückgegebenen Werts einstr(..)
-Wrapper auf das Ergebnis angewendet. - Von UDFs mit Rückgaben vom Typ
timestamp
werden keine Zeitzonenkonvertierung mehr auf Zeitstempel angewendet.
- Von UDFs mit einem Zeichenfolgenrückgabetyp werden nicht mehr implizit zeichenfolgenfremde Werte in Zeichenfolgen konvertiert. Zuvor wurde von UDFs mit dem Rückgabetyp