Snowflake présente Snowpark Connect pour Apache Spark en avant-première publique


Les utilisateurs qui utilisent Spark peuvent profiter de la puissance du moteur Snowflake directement avec leur code Spark existant. Snowpark Connect pour Apache Spark est basé sur une architecture client-serveur découplée qui permet de séparer le code utilisateur du cluster Spark sur lequel le traitement est exécuté. Cette nouvelle architecture permet désormais d'exécuter des jobs Spark à partir de Snowflake. Elle a été présentée par la communauté Apache Spark dans la version 3.4.
Snowpark Connect permet aux clients d'utiliser le moteur vectorisé de Snowflake pour leur code Spark et d'éviter ainsi la complexité de la maintenance ou de l'adaptation d'environnements Spark séparés, y compris la gestion des dépendances, la compatibilité des versions et les mises à jour. Avec Snowpark Connect, tout le code moderne de Spark DataFrame, Spark SQL et les fonctions personnalisées (UDF) peuvent être exécutés avec Snowflake.
Snowflake s'occupe automatiquement de toute l'optimisation des performances et de la mise à l'échelle, de sorte que les développeurs n'ont plus à se soucier de l'exploitation de Spark. En transférant le traitement des données sur Snowflake, on met également en place dès le départ un cadre de gouvernance unifié et robuste qui garantit la cohérence et la sécurité des données tout au long de leur cycle de vie, sans faire double emploi.
Développé sur Spark Connect et l'architecture Snowflake
Snowpark Connect pour Spark utilise l'architecture découplée de Spark Connect, qui permet aux applications d'envoyer un plan logique non résolu à un cluster Spark distant pour traitement. Cette philosophie de séparation du client et du serveur a été un élément essentiel de la conception de Snowpark dès le début. Actuellement, Snowpark Connect prend en charge les versions 3.5.x de Spark, assurant ainsi la compatibilité avec les dernières fonctionnalités et améliorations de ces versions.
Cette innovation élimine la nécessité de déplacer les données entre Spark et Snowflake, un processus qui, par le passé, entraînait des coûts supplémentaires, de la latence et de la complexité de gouvernance. Désormais, les entreprises peuvent exécuter le code Spark DataFrame, SQL et UDF dans Snowflake via les ordinateurs portables Snowflake, les ordinateurs portables Jupyter, les procédures Snowflake stockées, VSCode, Airflow ou Snowpark Submit, ce qui permet une intégration transparente avec les différentes options de stockage dans Snowflake, Iceberg (géré dans Snowflake ou en externe) et le cloud.