Notes de version de Snowpark Connect for Spark pour 2026

Snowflake utilise la version sémantique pour les mises à jour Snowpark Connect for Spark.

Pour la documentation, voir Exécuter les charges de travail Apache Spark™ sur Snowflake avec Snowpark Connect for Spark et Soumission d’applications Spark.

1.24.0 (24 avril 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Désactiver filter_classpath_jars au démarrage du serveur

  • Prendre en charge la conversion des UDT en chaîne et rejeter les conversions d’UDT non valides

  • Réparer les APIs DataFrame describe et summary

  • Ajouter une protection SUPPORTED_SCALES pour ignorer des charges de travail à des échelles non prises en charge

Nouvelles fonctionnalités

  • Ajouter les fichiers JARs équivalents pour Scala 2.13 aux paquets de dépendances

  • Ajouter une référence aux limitations et à l’implémentation du partitionnement Hive

  • Supprimer 29 fichiers JARs inutilisés des paquets snowpark_connect_deps (~23MB)

  • Ignorer la conversion structurée explicite lorsque le serveur prend en charge la conversion implicite pour Parquet

  • Mettre à niveau la dépendance de Snowpark à 1.50.0

1.23.0 (22 avril 2026)

Snowpark Connect for Spark

Changements de comportement

  • Définir la valeur par défaut de useLogicalType sur true pour le format Parquet

Corrections de bogues

  • Corriger count() pour qu’il corresponde au comportement de Spark SQL

  • Assouplir la contrainte de version de protobuf de :code:` <6.32.0` à :code:` <6.34.0`

  • Convertir systématiquement vers des types non structurés

  • Remplacer l’importation de snowflake.snowpark_connect.includes par pyspark.sql

  • Utilisez toujours un scanner Parquet vectorisé ; supprimer l’option de configuration useVectorizedScanner

  • Corriger les valeurs par défaut de regexp_extract, les indicateurs en ligne et la gestion de PCRE

  • Corriger les écarts de compatibilité des opérateurs SQL

  • Corriger la sémantique de IN NULL pour correspondre au comportement de Spark

  • Prendre en charge la lecture depuis une zone de préparation externe persistante nommée dans une UDTF XML

  • Préserver les métadonnées UDT via des vues temporaires et des renommages toDF

  • Utiliser le chemin SQL pour les contrôles d’existence de la table de catalogue

  • Autoriser l’expression d’étoile dans l’agrégation de colonnes de la carte

Nouvelles fonctionnalités

  • Implémenter la prise en charge des séquences pour les types d’horodatage/de date et d’intervalle

  • Ajouter le paramètre de session CTE

  • Initialiser la nullabilité du suivi des colonnes et des types complexes

  • Examiner la nullabilité des fonctions intégrées dans plusieurs catégories d’expressions

  • Examiner la nullabilité dans la commande Set

  • Ajouter la nullabilité à range

  • Introduire une barrière de régression des performances dansGitHub Actions

1.22.0 (18 avril 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Corriger les références de colonnes qualifiées CTE dans ORDER BY/WHERE/GROUP BY

  • Corriger withColumn sur une clé de jointure après une jointure de type « using »

  • Corriger l’erreur immédiate de:code:fillna lorsqu’une colonne du sous-ensemble manque

  • Corriger la lecture sensible à la casse de la zone de préparation interne

  • Réduire la matérialisation des limites des fonctions de fenêtre

  • Préserver le schéma struct/map/array avec du contenu vide

  • Prendre en charge ON_ERROR =CONTINUE pourINFER_SCHEMA dans les lectures de fichiers CSV etJSON

  • Corriger la sélection du type au moment de la compilation pour les valeurs hexadécimales

  • Éviter la création de tables temporaires redondantes pour:code:read.parquet dans saveAsTable

  • Préserver StructType/MapType en mode strict

  • Comparaison de qualificatifs insensibles à la casse dans la résolution de colonnes

  • Utiliser la fonction intégrée de Snowpark pour la fonction CBRT

  • Corriger le traitement de nullValue et des espaces blancs dans les fichiers XML

  • Utiliser la décimale pour DecimalType en mode strict

  • Corriger le bogue map_concat

  • Corriger unionByName pour gérer les guillemets dans les noms de colonnes et respecter la configuration sensible à la casse

  • Supprimer les virgules de fin des fichiers de ressource de test JSON

Nouvelles fonctionnalités

  • Bibliothèque Snowpark Connect Java Client pour prendre en charge les charges de travail Spark Scala et Java

  • Utiliser l’implémentation native pour ARRAY_REPEAT et MAP_ENTRIES

  • Utiliser MAP_ENTRIES dans map_cast

  • Réduire le nombre de requêtes utilisées pour l’inférence VARIANT dans read_parquet

  • Ajouter un cache de sous-plan inter-requêtes croisées pour map_relation

1.21.1 (10 avril 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Implémenter la validation de l’encodage JSON

  • Réduction de la taille des requêtes pour les fonctions qui renomment les colonnes en interne

  • Assouplissement des contraintes de la version py4j pour permettre une compatibilité plus large

  • Isoler les artefacts par session spark

Nouvelles fonctionnalités

  • Ajouter un nom d’application par défaut pour la session

  • Ajouter la conversion du format date/heure JSON

1.21.0 (09 avril 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Gérer l’échappement des métacaractères de recherche globale dans les chemins CSV/JSON

  • Corriger le schéma non annulable JSON pour qu’il corresponde au comportement de Spark

  • Ajouter une casse de correspondance de colonne par défaut pour XML

  • Corriger TEXT:code:lineSep avec codage hexadécimal pour RECORD_DELIMITER

  • Corriger la lecture Spark de fichiers XML depuis la zone de préparation externe

  • CSV vide renvoie DataFrame vide

  • Ajouter un idx par défaut à regexp_extract

  • Corriger le schéma non annulable CSV pour qu’il corresponde au comportement de Spark

  • Corriger la collision de nommage de zone de préparation temporaire sous des tests parallèles

  • Ajouter un chemin rapide aux fonctions regexp

  • Contrainte de schéma sur storeAssignmentPolicy

  • Double-échappement du délimiteur barre oblique inverse dans les fichiers CSV

  • Optimiser posexplode

  • Validation de lineSep vide pour les fichiers CSV

  • Corriger un bogue empêchant xml de lire un fichier de zone de préparation externe

  • Réduire la verbosité du journal par défaut pour les utilisateurs

Nouvelles fonctionnalités

  • Ajout de la prise en charge du nombre de lignes DML

  • Prendre en charge overwrite(condition) pour DataFrameWriterV2

  • mergeSchema en écriture dans Iceberg - évolution des colonnes de premier niveau

  • Ajout de la prise en charge de l’écrasement des partitions dans DataFrameWriterV2

  • Ajouter un paramètre app_name à init_spark_session

1.20.0 (03 avril 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Corriger un problème de performances

  • Corriger le schéma de fusion pour JSON

  • Corriger arrays_zip pour les types complexes

  • Corriger LCAs dans les agrégations implicites

Nouvelles fonctionnalités

  • Résultat du cache du format de fichier JSON

  • Résoudre les types connus depuis map_unresolved_function sans passer par le « typer »

  • Prendre en charge le partitionnement Hive pour le mode « copy into » des fichiers JSON

  • Ajouter l’inscription de session SCOS lors de l’initialisation du serveur

  • Modifier la requête de préchauffage avec une chaîne distincte pour le filtrage

1.19.0 (26 mars 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Correction de l’accès au champ struct à partir d’un tableau via getIlem

  • Correction des noms pour l’accès aux éléments des tableaux

  • Ajout de la compression manquante pour le format TEXT

  • Réduction de la taille des requêtes dans DataFrame.replace, création d’UDTF et read_parquet

  • Émulation des types lors de la création de la vue [temp]

  • Correction de la conversion des types structurés

  • Correction de la validation des types d’écriture de texte

  • Prise en charge de la lecture des répertoires XML en parallèle

  • Optimisation de l’utilisation de la fonction conv

  • Prise en charge de la lecture et de l’écriture aux formats Snowflake et net.snowflake.spark.snowflake

  • Émulation des types lors de la création d’une table

  • Correction de l’accès aux structures imbriquées avec des tableaux

  • Correction du message d’erreur Parquet

  • Optimisation de to_number réduisant la taille des requêtes

  • Correction du cache UDF pour prendre en compte la modification de la base de données de requêtes

  • Optimisation de la fonction mask

  • Transmission de PATTERN au lecteur de secours NVS lors de l’inférence du schéma Parquet

  • Conversion des types nuls et structurés

Nouvelles fonctionnalités

  • Introduction de l’indice de jointure DIRECTED

  • Intégration de XML inferSchema

1.18.0 (19 mars 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Ajout d’un mappage de type JDBC manquant

  • Prise en charge du schéma fourni par l’utilisateur dans Parquet

  • Gestion souple des caractères UTF-8 non valides en JSON

  • Résolution des colonnes LCA uniquement si elles sont effectivement utilisées

  • Optimisation de la génération de requêtes get_json_object

  • Suppression du point-virgule de la requête SQL

  • Définition de la valeur processInBulk=True par défaut pour les lectures JSON et correction de l’inférence du schéma NullType

  • Correction d’un bogue concernant la lecture incorrecte des zones de préparation

  • Ajout d’une non-vérification dans l’enregistrement UDF

  • Réduction de la limite pour le message d’erreur

  • Autorisation des champs manquants dans le schéma fourni par l’utilisateur

  • Inférence de compression JSON et CSV

  • Correction de coalesce(1) qui générait un seul fichier

Nouvelles fonctionnalités

  • Ajout de la méthode execute_jar pour lancer des charges de travail Java/Scala

Snowpark Submit

Corrections de bogues

  • Correction de l’erreur d’ingestion avec l’indicateur --wait-for-completion

1.17.0 (13 mars 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Inférence de compression JSON etCSV.

  • Correction pour coalesce qui générait un seul fichier.

  • Réorganisation de la lecture JSON pour utiliser COPY INTO lors de la lecture d’un seul fichier et ajouter l’inférence de schéma VariantType.

  • Autoriser le chargement JSON sans schéma explicite.

  • Correction de multi_line dans JSON.

  • Correction du schéma d’inférence JSON pour éviter d’analyser des fichiers entiers.

  • Gérer correctement la conversion vers l’horodatage ltz.

  • Limitation de la valeur de hachage renvoyée.

  • Correction de repartition avec partitionBy.

  • Correction pour utiliser l’en-tête de section [connections.spark-connect] dans config.toml.

  • Conversion des jetons Java au format date/timestamp en équivalents Snowflake pour les lectures de fichiers CSV.

  • Calcul du schéma des fonctions pivot.

  • Correction des UDTFs dans les jointures latérales avec aliasing.

  • Alignement du résultat de la commande SQL SET.

  • Correction du type de retour pour les fonctions CEIL et FLOOR.

  • Amélioration de la génération de requêtes dans unbase64 v2.

  • Correction de certaines des options du mappage Snowflake pour CSV.

  • Correction de la sérialisation pour POJO.

  • Amélioration des messages d’erreur d’en-tête CSV.

  • Amélioration de la logique de détection mapType avec:code:try_cast pour les lectures de fichiers Parquet.

Nouvelles fonctionnalités

  • Prise en charge de reduceGroups API.

  • Prise en charge de la spécification du nom de connexion dans init_spark_session.

  • Ajout d’un paramètre de configuration pour utiliser UDF pour unbase64.

1.16.0 (12 mars 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Optimisation de la génération SQL dans la fonction unbase64.

  • Correction de la régression from_json

  • Correction concernant les enregistrements qui s’étendent sur plusieurs limites de blocs de compression BZ2

  • Correction du mappage de nullabilité dans un attribut non résolu

  • Initialisation d’une session spark-connect avec une connexion quelconque, et non uniquement avec une connexion nommée spark-connect

  • Ajout de la validation d’options XML

  • Suppression de l’option CSV ESCAPE lorsqu’elle correspond au caractère guillemet pour éviter les erreurs de compilation

  • Correction de la conversion incorrecte des tuples nommés dans productEncoder

  • Vérifier que mergeSchema pour CSV et JSON n’est pas pris en charge

  • Correction de l’aller-retour de type complexe Parquet (écriture + lecture)

  • Correction du schéma pour pivot/unpivot

  • Correction du type de retour pour les fonctions MOD et PMOD

  • Correction de l’extraction d’en-têtes CSV pour les fichiers dont les lignes d’en-tête sont vides

  • Vérifier correctement les fuseaux horaires et remplacer la sérialisation des dates et heures sous forme de chaînes de caractères par une sérialisation basée sur l’époque

  • Mise à jour de la vérification de la version Java pour Windows

  • Aplatir les appels withColumn imbriqués

  • Modifier la logique pour Literal _IntegralType dans les opérations d’addition et de soustraction

  • Retour de LongType pour les fonctions COUNT

  • Lecture JSON : test de compression = bz2/bzip2/aucun

  • Amélioration des performances de to_varchar/to_char

  • Améliorer la comparaison lors des tests d’E/S

  • Définir multi_line sur False par défaut pour la copie JSON

Snowpark Submit

Corrections de bogues

  • Lancer une erreur sur un pool de calcul non spécifié.

1.15.0 (6 Mars 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Suppression de l’analyse des résultats lors de l’appel de df.count()

  • S’assurer que le schéma d’inférence s’exécute sur des lignes limitées lors de la lecture JSON

  • Correction de createDataFrame pour les types d’intervalle

  • Modification de la logique de Literal _IntegralType dans les opérations de multiplication et de division

  • Élargir et imposer le type pour les opérations Set

  • Correction de la prise en charge des étiquettes multiples neo4j

  • Modification des métadonnées JAR afin que Grype ne détecte pas la vulnérabilité de Netty

  • Renvoi du type correct pour la fonction ANY_VALUE

  • Renvoi du type élargi pour la séquence

  • Ajout de la prise en charge de la configuration spark.sql.parquet.inferTimestampNTZ.enabled

  • Renommage/conversion de colonnes par lots en _validate_schema_and_get_writer

  • Blocage de JDBC lors de requêtes partitionnées avec une taille de récupération spécifiée

  • Renvoi d’un message d’exception tronqué lorsqu’il dépasse les limites de l’en-tête HTTP

  • Correction de map_type_to_snowflake_type pour BigDecimal

  • Correction de la précision décimale littérale et de l’échelle

  • Amélioration de la génération aléatoire de chaînes

  • Faire en sorte que le chargement des fichiers JSON compressés au format BZ2 ignore les enregistrements corrompus

Nouvelles fonctionnalités

  • Utiliser des fichiers en zone de préparation issus de la configuration des UDFs Scala

  • Utiliser TRY_CAST permissif lors de la lecture JSON

  • Rendre le nombre de threads du serveur configurable

Snowpark Submit

Corrections de bogues

  • Réintégrer init_spark_session() dans les tests

  • Mettre à jour la sortie de ligne de commande snowpark-submit pour clarifier snowflake-connection-name est nécessaire.

1.14.0 (19 février 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Mise en cache du type de table lors de l’exécution de saveAsTable

  • Optimisation de l’entrée littérale pour la sous-chaîne et le casting de type pour coalesce

  • Gestion du débordement décimal dans avg/mean et correction de la coercition du type décimal

  • Iceberg - Préservation des autorisations en cas de réécriture

  • Normalisation du mode SQL intermédiaire

  • Optimisation de from_utc_timestamp/to_utc_timestamp pour le fuseau horaire littéral

  • Gestion des valeurs JSON nulles dans les types structurés pour correspondre à la sémantique Spark

  • Émulation des types intégraux lors de la création de tables à partir de SQL

  • Correction d’un cas périphérique lors du mappage de lignes imbriquées dans les UDFs Scala

  • Correction de la façon dont Parquet gère la lecture et l’écriture de types de données structurés complexes

  • Prise en charge de l’enregistrement de l’argument ignoré pour les fichiers Parquet

  • Ajout de la prise en charge du dépôt d’artefacts

  • Correction de la nullabilité des tableaux dans les UDxF Scala

  • Correction de log1p pour les arguments de la plage (-1, 0)

  • Correction de first_value et last_value dans le contexte agrégé

  • Correction de la lecture de DayTimeIntervalType pour le client Scala

Nouvelles fonctionnalités

  • Gestion correcte des fuseaux horaires dans les UDFs Scala

  • Prise en charge de Java 11 et 17 sans aucune configuration

Mises à jour de Snowpark Submit

Nouvelles fonctionnalités

  • Prise en charge de snowpark-submit pour Python 3.9

  • Amélioration de init_spark_session pour le rendre utilisable dans le flux de travail snowpark-submit

1.13.0 (13 février 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Correction d’un problème lié à la fonction split

  • Mise à niveau de la dépendance snowflake-snowpark-python vers la version 1.44

  • Correction de la correspondance des dialectes Neo4j pour améliorer la traduction SQL

  • Correction de l’ID d’opération renvoyé dans les réponses d’exécution à des fins de cohérence

  • Correction du traitement des métadonnées gRPC pour les connexions de canaux TCP

Nouvelles fonctionnalités

  • Ajout de la prise en charge de partition_hint dans les opérations mapPartitions

  • Ajout de la prise en charge du lecteur XML pour les scénarios avec des schémas définis par l’utilisateur

1.11.0 (28 janvier 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Préservation des colonnes masquées après divers opérateurs DataFrame

  • Correction de problèmes pour les types d’entrée udf scala (byte, binary, scala.math.BigDecimal)

Autres mises à jour

  • Ajout des arguments définis par l’utilisateur snowpark-submit à des fins de commentaire

1.10.0 (22 janvier 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Correction d’une erreur non définie pour la configuration de session.

  • Utilisation de la copie pour charger des fichiers CSV en parallèle.

  • Correction des écritures pour les DataFrames en utilisant des jointures externes.

  • Gestion des valeurs nulles dans les UDFs Scala.

  • Optimisation de la génération de requêtes CTE avec la protection des paramètres.

  • Conversion bloquée des arguments de DATEDIFF.

  • Correction de l’ajout de fichiers partitionnés et la lecture de partitions nulles.

  • Amélioration des performances par 10 pour la conversion entre les bases 10 et 16 à l’aide de SQL.

Nouvelles fonctionnalités

  • Remplacement uniquement des partitions modifiées pour les fichiers Parquet.

Autres mises à jour

  • Logique mise à jour pour détecter si Snowpark Connect for Spark est exécuté sur XP.

  • Prise en charge de l’écriture dans une table avec un type de données VARIANT dans Snowflake.

  • Suppression des journaux d’informations inutiles.

  • Déplacement des tests Java de la tâche de tests Scala vers une tâche distincte.

  • Mise à jour de la version de la dépendance pour gcsfs.

Snowpark Submit

Aucun.

1.9.0 (14 janvier 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Correction de la sérialisation des tuples Scala.

  • Correction du chargement de JSON fichiers volumineux.

  • Implémentation de petits correctifs pour les problèmes des clients.

  • Implémentation des corrections pour les comparaisons de structures.

  • Ajout du traitement des DataFrames pour la colonne 0.

  • Correction du chemin de chargement des fichiers.

  • Correction de Upload_files_if_needed ne s’exécutant pas en parallèle.

  • Amélioration de l’inférence de type d’entrée lorsque les types d’entrée UDF ne sont pas définis dans le proto.

  • Correction des cas Edge NA.

Nouvelles fonctionnalités

  • Prise en charge de la lecture d’un fichier JSON BZ2.

  • Prise en charge des UDFs Scala dans Snowpark Connect for Spark côté serveur.

  • Implémentation d’une conversion entre la chaîne et daytime.

  • Ajout de la prise en charge des UDFs Scala dans group_map.

Snowpark Submit

Corrections de bogues

  • Réduction des noms de charge de travail générés.

1.8.0 (07 janvier 2026)

Snowpark Connect for Spark

Corrections de bogues

  • Correction du traitement JAVA_HOME pour Windows.

Nouvelles fonctionnalités

  • Prise en charge de la source de données neo4j via JDBC.

Snowpark Submit

Aucun.