Notes de version de Snowflake Connector for Spark pour 2022

Cet article contient les notes de version Snowflake Connector for Spark, y compris les éléments suivants, le cas échéant :

  • Changements de comportement

  • Nouvelles fonctionnalités

  • Corrections de bogues pour les clients

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

Version 2.11.1 (13 décembre 2022)

Nouvelles fonctionnalités

  • Ajout de la prise en charge des déploiements VPCE AWS en ajoutant le paramètre de configuration S3_STAGE_VPCE_DNS_NAME à la spécification du nom DNS VPCE au niveau de la session.

  • Ajout d’une nouvelle option de configuration treat_decimal_as_long pour permettre au connecteur Spark de renvoyer des valeurs Long au lieu des valeurs BigDecimal si la requête renvoie Decimal(<any_precision>, 0). WARNING : si la valeur est supérieure à la valeur maximale de Long, une erreur se produit.

  • Ajout d’une nouvelle option proxy_protocol pour spécifier le protocole de proxy (http ou https) avec les déploiements AWS. (Cette option n’a aucun effet sur les déploiements Azure et GCP.).

  • Ajout de la prise en charge du comptage des lignes dans une table dont le nombre de lignes est supérieur à la valeur maximale de Integer.

  • Mise à jour du connecteur pour utiliser le pilote JDBC Snowflake 3.13.24.

Corrections de bogues

  • Mise à jour du connecteur pour fermer les connexions JDBC afin d’éviter les fuites de connexion.

  • Correction d’un problème NullPointerException lors de l’envoi de messages de télémétrie.

Version 2.11.0 (2 septembre 2022)

Version du pilote JDBC compatible : 3.13.22

  • Ajout de la prise en charge de Spark 3.3 et correction de quelques bogues :

    • Mise à niveau de la version du pilote JDBC PostgreSQL dont dépendent les tests pour éviter la vulnérabilité de sécurité CVE-2022-31197.

    • Mise à jour du connecteur pour utiliser le pilote JDBC Snowflake 3.13.22 et le SDK Snowflake Ingest 0.10.8.

Note

  • À partir de la version 2.11.0, le connecteur Snowflake pour Spark prend en charge Spark 3.1, 3.2 et 3.3. La version 2.11.0 du connecteur Snowflake pour Spark ne prend pas en charge Spark 3.0. Notez que les versions précédentes du connecteur continuent de prendre en charge Spark 3.0.

  • Pour les comptes GCP Snowflake, les versions 3.13.16 à 3.13.21 du pilote JDBC Snowflake ne fonctionnent pas avec le connecteur Spark.

Version 2.10.1 (15 août 2022)

Version du pilote JDBC compatible : 3.13.14

Corrections de bogues

  • Suppression des dépendances inutiles sur les bibliothèques pour éviter les vulnérabilités de sécurité CVE-2020-8908 et CVE-2018-10237.

  • Ajout de la prise en charge de l’utilisation du type de données JDBC TIMESTAMP_WITH_TIMEZONE lors de la lecture de données depuis Snowflake.

  • Modification de la logique de vérification de l’existence d’une table avant l’enregistrement d’un DataFrame dans Snowflake :

    • Le connecteur réutilise désormais la connexion existante (au lieu de créer une nouvelle connexion) afin d’éviter les problèmes potentiels liés à l’expiration des jetons.

    • Si le nom de la table n’est pas complet (c’est-à-dire qu’il n’inclut pas le nom du schéma), le connecteur recherche désormais la table dans le schéma spécifié par sfSchema, plutôt que dans le schéma actuellement utilisé dans la session.

      Note

      Si vous devez enregistrer un DataFrame dans une table d’un schéma autre que sfSchema, indiquez le schéma dans le nom complet de la table, plutôt que d’exécuter USE SCHEMA pour modifier le schéma actuel.

  • Amélioration des performances en évitant les appels inutiles à parse_json() dans la commande COPY INTO TABLE lors de l’écriture d’un DataFrame avec des colonnes ArrayType, MapType, ou StructType dans Snowflake.

  • Ajout des méthodes getLastSelectQueryId et getLastCopyLoadQueryId à la classe Utils. Ces méthodes renvoient l’ID de requête de la dernière requête qui a lu des données dans Snowflake et la dernière instruction COPY INTO TABLE qui a été exécutée (respectivement).

Version 2.10.0 (17 février 2022)

Version du pilote JDBC compatible : 3.13.14

Modification de comportement

  • Ajout de la prise en charge de Spark, version 3.2. À partir de cette version, le connecteur Snowflake pour Spark ne prend en charge que Spark 3.0, 3.1 et 3.2. La version 2.4 de Spark n’est plus prise en charge.

Correction d’un bogue

  • Correction d’un problème où la chaîne « null » est considérée comme un type NULL.