Teilen über


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 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 funktion from_avro und der avro 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() als NULLvorliegt.
    • 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 der DeltaMergeBuilder-Klasse hinzugefügt. Verwenden Sie withSchemaEvolution(), um die automatische Schemaentwicklung während MERGE 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 jetzt VACUUM 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 den SYNC METADATA-Parameter mit dem Befehl REPAIR 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 den LZ4 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 DriverManagerverwenden, 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 und long 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 und long bis decimal.
    • byte, shortund int bis double.
  • 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 der WHEN 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 Sie addArtifact(archive = True) verwenden, um eine Abhängigkeit zu serverlosem Rechnen hinzuzufügen, wird das Archiv automatisch entpackt. Diese Änderung macht das addArtifact(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 einen VARIANT 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 den VARIANT 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 nicht VARIANT 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 in CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 wird umbenannt in CF_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ür FOREIGN 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 den COPY 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 mithilfe ALTER TABLE table_name DROP FEATURE checkConstraintseiner 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ür NOT externe boolesche Logik nicht zulassen: Databricks tolerieren die Verwendung ! als Synonym für NOT 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 und NOT 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 oder DEFAULT 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 oder ConversionInvalidInputError 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 eine ALTER TABLE ADD CONSTRAINT Einschränkung enthält, die auf einen CHECK ungültigen Spaltennamen verweist, den UNRESOLVED_COLUMN zurück. WITH_SUGGESTION Fehlerklasse. Zuvor wurde ein INTERNAL_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 jetzt x'0ABC' anstatt x'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 ein str(..)-Wrapper auf das Ergebnis angewendet.
    • Von UDFs mit Rückgaben vom Typ timestamp werden keine Zeitzonenkonvertierung mehr auf Zeitstempel angewendet.