Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les fonctionnalités et améliorations de Databricks SQL suivantes ont été publiées en 2026.
Mars 2026
Databricks SQL version 2026.10 est désormais disponible en préversion
26 mars 2026
Databricks SQL version 2026.10 est désormais disponible dans le canal d’évaluation . Passez en revue la section suivante pour en savoir plus sur les nouvelles fonctionnalités, les modifications comportementales et les correctifs de bogues.
Les erreurs de métrique d’observation n'échouent plus les requêtes
Les erreurs lors de la collecte des métriques d’observation ne provoquent plus d’échecs d’exécution de requête. Auparavant, les erreurs dans OBSERVE les clauses (telles que la division par zéro) pouvaient bloquer ou échouer l’intégralité de la requête. Maintenant, la requête se termine avec succès et l’erreur est déclenchée lorsque vous appelez observation.get.
Clause FILTER pour les fonctions d’agrégation MEASURE
Les fonctions d’agrégation MEASURE prennent désormais en charge les clauses FILTER. Auparavant, les filtres étaient ignorés en mode silencieux.
Écritures optimisées pour les opérations CRTAS du Unity Catalog
CRÉER OU REMPLACER TABLE Les opérations AS SELECT (CRTAS) sur les tables de catalogue Unity partitionnée appliquent désormais des écritures optimisées par défaut, produisant moins de fichiers plus volumineux. Pour désactiver, définissez spark.databricks.delta.optimizeWrite.UCTableCRTAS.enabled sur false.
Les valeurs de partition timestamp utilisent le fuseau horaire de session
Les valeurs de partition d’horodatage utilisent désormais le fuseau horaire de session SQL Warehouse. Si vous avez des partitions d’horodatage écrites avant Databricks SQL version 2025.40, exécutez SHOW PARTITIONS pour vérifier vos métadonnées de partition avant d’écrire de nouvelles données.
Mot clé réservé « DESCRIBE FLOW »
La DESCRIBE FLOW commande est désormais disponible. Si vous avez une table nommée flow, utilisez DESCRIBE schema.flow, DESCRIBE TABLE flowou DESCRIBE `flow` avec des backticks.
Opérations d'ensemble booléen SpatialSQL
ST_Difference, ST_Intersectionet ST_Union utilisez une nouvelle implémentation avec les améliorations suivantes :
- Les géométries d’entrée valides produisent toujours un résultat et ne déclenchent plus d’erreurs. Les entrées non valides ne déclenchent pas d’erreurs, mais peuvent ne pas produire de résultats valides.
- Performances environ 2 fois plus rapides.
- Les résultats peuvent différer après la 15e décimale pour les intersections de segment de ligne en raison de différentes formules et de l’ordre des opérations.
- Les résultats sont normalisés pour une sortie cohérente et comparable :
- Les points sont triés par valeurs de coordonnées.
- Les chaînes de ligne sont construites à partir des chemins les plus longs possibles.
- Les anneaux de polygones sont pivotés afin que le premier point ait les plus petites valeurs de coordonnées.
- Cette normalisation s’applique dans tous les cas, sauf lors de l’appel
ST_Differenceavec deux géométries qui ne se chevauchent pas, où la première géométrie est retournée non modifiée.
Types d’exceptions pour SQLSTATE
Les types d’exceptions prennent désormais en charge SQLSTATE. Si votre code analyse les exceptions par chaîne correspondante ou intercepte des types d’exceptions spécifiques, mettez à jour votre logique de gestion des erreurs.
Prise en charge des types de données DATETIMEOFFSET pour Microsoft Azure Synapse
Le DATETIMEOFFSET type de données est désormais disponible pour les connexions Microsoft Azure Synapse.
Commentaires de table Google BigQuery
Les descriptions des tables Google BigQuery sont résolues et exposées en tant que commentaires de table.
Évolution du schéma avec INSERT des déclarations
Utilisez la WITH SCHEMA EVOLUTION clause avec des instructions SQL INSERT pour faire évoluer automatiquement le schéma de la table cible pendant les opérations d’insertion. La clause est prise en charge pour INSERT INTO, INSERT OVERWRITE, et INSERT INTO ... REPLACE formats. Par exemple:
INSERT WITH SCHEMA EVOLUTION INTO students TABLE visiting_students_with_additional_id;
Le schéma de la table Delta Lake cible est mis à jour pour accueillir des colonnes supplémentaires ou des types élargis issus de la source. Pour plus d’informations, consultez la syntaxe de l’évolution du schéma et INSERT de l’instruction.
Les valeurs de struct NULL sont conservées dans les opérations INSERT.
INSERT désormais, les opérations avec l’évolution du schéma ou la conversion implicite conservent NULL les valeurs struct lorsque les tables source et cible ont des ordres de champs struct différents.
parse_timestamp fonction SQL
La fonction PARSE_TIMESTAMP SQL analyse les chaînes d’horodatage à l’aide de plusieurs modèles et s’exécute sur le moteur Photon pour améliorer les performances lors de l’analyse des horodatages dans plusieurs formats. Consultez les modèles Datetime pour plus d’informations sur la mise en forme des modèles datetime.
max_by et min_by avec une limite facultative
Les fonctions d’agrégation max_by et min_by acceptent désormais un troisième argument limit facultatif (jusqu’à 100 000). Lorsqu'elles sont fournies, les fonctions retournent un tableau de valeurs pouvant limit correspondre aux valeurs les plus grandes (ou les plus petites) de l'expression d'ordre, ce qui permet de simplifier les requêtes top-K et bottom-K sans fonctions de fenêtre ni de CTE.
Fonctions d’agrégation et scalaires vectorielles
Les nouvelles fonctions SQL fonctionnent sur ARRAY<FLOAT> vecteurs pour l’intégration et la similarité des charges de travail :
Fonctions d’agrégation :
- vector_avg : retourne la moyenne à l’élément des vecteurs d’un groupe.
- vector_sum : retourne la somme des vecteurs dans un groupe.
Fonctions scalaires :
- vector_cosine_similarity : retourne la similarité cosinus de deux vecteurs.
- vector_inner_product : retourne le produit interne (point) de deux vecteurs.
- vector_l2_distance : retourne la distance Euclide (L2) entre deux vecteurs.
- vector_norm : retourne la norme Lp d’un vecteur (1, 2 ou infini).
- vector_normalize : retourne un vecteur normalisé en longueur unitaire.
Consultez les fonctions intégrées.
Support du curseur SQL dans les instructions composées
Les instructions composées de script SQL prennent désormais en charge le traitement des curseurs. Utilisez DECLARE CURSOR pour définir un curseur, puis l’instruction OPEN, l’instruction FETCH et l’instruction CLOSE pour exécuter la requête et consommer des lignes une par une. Les curseurs peuvent utiliser des marqueurs de paramètres et des gestionnaires de conditions tels que NOT FOUND pour le traitement de ligne par ligne.
Fonctions d'esquisse top-k approximatives
De nouvelles fonctions permettent de créer et de combiner des croquis approximatifs de top-K pour l’agrégation top-K distribuée.
- approx_top_k_accumulate : crée un croquis par groupe.
- approx_top_k_combine : fusionne les croquis.
- approx_top_k_estimate : retourne les éléments K principaux avec des nombres estimés.
Pour plus d’informations, consultez approx_top_k fonctions d’agrégation et fonctions intégrées.
Fonctions de croquis tuple
Les nouvelles fonctions d’agrégation et scalaires pour le croquis tuple prennent en charge le comptage et l’agrégation distincts sur des paires de synthèse de clés.
Fonctions d’agrégation :
-
tuple_sketch_agg_doublefonction d’agrégation -
tuple_sketch_agg_integerfonction d’agrégation -
tuple_union_agg_doublefonction d’agrégation -
tuple_union_agg_integerfonction d’agrégation -
tuple_intersection_agg_doublefonction d’agrégation -
tuple_intersection_agg_integerfonction d’agrégation
Fonctions scalaires :
- tuple_sketch_estimate
- tuple_sketch_summary
- tuple_sketch_theta
- tuple_union
- tuple_intersection
- tuple_difference
Consultez les fonctions intégrées.
Dépendances personnalisées pour les UDTF Python du Catalogue Unity
Les fonctions de table définies par l’utilisateur Python du catalogue Unity peuvent désormais utiliser des dépendances personnalisées pour les bibliothèques externes. Vous pouvez donc utiliser des packages au-delà de ce qui est disponible dans l’environnement SQL Warehouse par défaut. Consultez Étendre les UDF à l'aide de dépendances personnalisées.
Nouvelles fonctions géospatiales
Les fonctions géospatiales suivantes sont désormais disponibles :
-
st_estimatesridfonction : estime le meilleur identificateur de référence spatiale projeté (SRID) pour une géométrie d’entrée. -
st_force2dfonction : convertit une géographie ou une géométrie en sa représentation 2D. -
st_nringsfonction : compte le nombre total d’anneaux dans un polygone ou multipolygon, y compris les anneaux extérieurs et intérieurs. -
st_numpointsfonction : compte le nombre de points non vides dans une géographie ou une géométrie.
Assistance Photon pour les fonctions géospatiales
Les fonctions géospatiales suivantes s’exécutent désormais sur le moteur Photon pour accélérer les performances :
Février 2026
Databricks SQL version 2025.40 est déployée dans Current
23 février 2026
Databricks SQL version 2025.40 est en cours de déploiement sur le canal Actuel. Consultez les fonctionnalités de la version 2025.40.
Databricks SQL version 2025.40 est désormais disponible en préversion
11 février 2026
Databricks SQL version 2025.40 est désormais disponible dans le canal d’évaluation . Passez en revue la section suivante pour en savoir plus sur les nouvelles fonctionnalités, les modifications comportementales et les correctifs de bogues.
Le script SQL est généralement disponible
Le script SQL est désormais en disponibilité générale. Écrivez une logique procédurale avec SQL, notamment des instructions conditionnelles, des boucles, des variables locales et la gestion des exceptions.
Marqueurs de paramètres désormais pris en charge dans d’autres contextes SQL
Vous pouvez maintenant utiliser des marqueurs de paramètres nommés (:param) et non nommés (?) n’importe où une valeur littérale du type approprié est autorisée. Cela inclut des instructions DDL telles que CREATE VIEW v AS SELECT ? AS c1, des types de colonnes tels que DECIMAL(:p, :s), et des commentaires tels que COMMENT ON t IS :comment. Cela vous permet de paramétrer une grande variété d’instructions SQL sans exposer votre code aux attaques par injection SQL. Consultez les marqueurs de paramètre.
IDENTIFIER clause développée vers d’autres contextes SQL
La IDENTIFIER clause, qui convertit les chaînes en noms d’objets SQL, est désormais prise en charge dans presque tous les contextes où un identificateur est autorisé. Combiné avec la prise en charge élargie des marqueurs de paramètre et du rassemblement des chaînes littérales, vous pouvez paramétrer n’importe quoi, des alias de colonne (AS IDENTIFIER(:name)) aux définitions de colonne (IDENTIFIER(:pk) BIGINT NOT NULL). Consultez la clause IDENTIFIER.
Fusion de chaîne littérale prise en charge partout
Littéraux de chaîne séquentiels tels que 'Hello' ' World' se combinent maintenant avec 'Hello World' dans tout contexte où les littéraux de chaîne sont autorisés, y compris COMMENT 'This' ' is a ' 'comment'. Voir STRING type.
Nouvelle fonction BITMAP_AND_AGG
Une nouvelle fonction BITMAP_AND_AGG est désormais disponible pour compléter la bibliothèque existante de BITMAP fonctions.
Nouvelles fonctions Theta Sketch pour des nombres distincts approximatifs
Une nouvelle bibliothèque de fonctions pour le comptage approximatif des éléments distincts et les opérations sur des ensembles en utilisant Datasketches Theta Sketch est désormais disponible :
-
theta_sketch_aggfonction d’agrégation -
theta_union_aggfonction d’agrégation -
theta_intersection_aggfonction d’agrégation -
Fonction
theta_sketch_estimate -
Fonction
theta_union -
Fonction
theta_difference -
Fonction
theta_intersection
Nouvelles fonctions de croquis KLL pour les quantiles approximatifs
Une nouvelle bibliothèque de fonctions permettant de générer des croquis KLL pour un calcul quantile approximatif est désormais disponible :
-
kll_sketch_agg_bigintfonction d’agrégation -
Fonction
kll_sketch_get_quantile_bigint -
Fonction
kll_sketch_merge_bigint -
kll_sketch_agg_doublefonction d’agrégation -
Fonction
kll_sketch_get_quantile_double -
Fonction
kll_sketch_merge_double -
kll_sketch_agg_floatfonction d’agrégation -
Fonction
kll_sketch_get_quantile_float -
Fonction
kll_sketch_merge_float -
Fonction
kll_sketch_get_n_bigint -
Fonction
kll_sketch_get_rank_bigint -
Fonction
kll_sketch_to_string_bigint -
Fonction
kll_sketch_get_n_double -
Fonction
kll_sketch_get_rank_double -
Fonction
kll_sketch_to_string_double -
Fonction
kll_sketch_get_n_float -
Fonction
kll_sketch_get_rank_float -
Fonction
kll_sketch_to_string_float
Vous pouvez fusionner plusieurs croquis KLL dans un contexte d’agrégation à l’aide de kll_merge_agg_bigint, de kll_merge_agg_double et de kll_merge_agg_float.
Fonctions de fenêtre SQL dans les vues de métriques
Vous pouvez désormais utiliser des fonctions de fenêtre SQL dans les vues de métriques pour calculer les totaux en cours d’exécution, les classements et d’autres calculs basés sur des fenêtres.
Nouvelles fonctions géospatiales
Les nouvelles fonctions géospatiales suivantes sont désormais disponibles :
-
st_azimuthfonction : retourne l'azimut basé sur le nord du premier point au deuxième en radians dans[0, 2π). -
st_boundaryfonction : retourne la limite de la géométrie d’entrée. -
st_closestpointfonction : retourne la projection 2D d’un point sur la première géométrie la plus proche de la deuxième géométrie. -
st_geogfromewktfonction : analyse une description de géographie en texte étendu Bien Connu (EWKT). -
st_geomfromewktfonction : analyse une description de texte étendu bien connu (EWKT) d’une géométrie.
Prise en charge des entrées EWKT pour les fonctions géométriques et géographiques existantes
Les fonctions suivantes acceptent désormais le texte étendu Well-Known (EWKT) comme entrée :
Amélioration des performances pour les requêtes répétées sur des tables avec des filtres de lignes et des masques de colonne
Les requêtes éligibles répétées sur des tables avec des filtres de lignes et des masques de colonne bénéficient désormais d’une mise en cache améliorée des résultats des requêtes, ce qui accélère l’exécution.
Amélioration des performances des fonctions géospatiales
Les performances de jointure spatiale sont améliorées avec la prise en charge de la jointure spatiale redistribuée. Les fonctions ST suivantes ont désormais des implémentations Photon :
FSCK REPAIR TABLE inclut la réparation des métadonnées par défaut
FSCK REPAIR TABLE inclut désormais une étape de réparation des métadonnées initiale avant de vérifier les fichiers de données manquants, ce qui lui permet de travailler sur des tables avec des points de contrôle endommagés ou des valeurs de partition non valides. En outre, la dataFilePath colonne du FSCK REPAIR TABLE DRY RUN schéma de sortie est désormais nullable pour prendre en charge de nouveaux types de problèmes où le chemin d’accès au fichier de données n’est pas applicable.
DESCRIBE TABLE la sortie inclut la colonne de métadonnées
La sortie de DESCRIBE TABLE [EXTENDED] inclut maintenant une colonne metadata pour tous les types de tables. Cette colonne contient des métadonnées sémantiques (nom d’affichage, format et synonymes) définies sur la table en tant que chaîne JSON.
Structs NULL conservés dans MERGE, UPDATE, et les opérations d'écriture en flux
Les structs NULL sont désormais conservés comme NULL dans Delta LakeMERGEUPDATE, ainsi que dans les opérations d’écriture en streaming qui incluent des casts de type struct. Auparavant, les structures NULL étaient transformées en structures avec tous les champs définis sur NULL.
Colonnes de partition matérialisées dans des fichiers Parquet
Les tables Delta Lake partitionnées matérialisent maintenant les colonnes de partition dans les fichiers de données Parquet récemment écrits. Auparavant, les valeurs de partition étaient stockées uniquement dans les métadonnées du journal des transactions Delta Lake. Les charges de travail qui lisent directement les fichiers Parquet écrits par Delta Lake voient des colonnes de partition supplémentaires dans les fichiers nouvellement écrits.
Les valeurs de partition timestamp respectent le fuseau horaire de session
Les valeurs de partition d’horodatage sont désormais correctement ajustées à l’aide de la spark.sql.session.timeZone configuration. Auparavant, ils étaient convertis incorrectement en UTC à l’aide du fuseau horaire JVM.
Restrictions de voyage temporelle mises à jour
Azure Databricks bloque désormais les requêtes de voyage dans le temps au-delà du deletedFileRetentionDuration seuil pour toutes les tables. La VACUUM commande ignore l’argument de durée de rétention, sauf lorsque la valeur est de 0 heures. Vous ne pouvez pas définir deletedFileRetentionDuration plus grand que logRetentionDuration.
SHOW TABLES DROPPED respecte la disposition de LIMIT
SHOW TABLES DROPPED respecte maintenant correctement la LIMIT clause.