SELECTSELECT

SELECT

Nouveautés Snowflake : juin 2025

By Jeff SkoldbergJul 13, 20257 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

Bienvenue dans l'édition de juin 2025 de Last Month in Snowflake, où nous passons en revue les annonces les plus marquantes du mois écoulé. Juin a été particulièrement riche en annonces grâce au Snowflake Summit. Dans ce billet, nous ne reviendrons pas sur la trentaine d'annonces déjà recensées dans notre récapitulatif du Summit 2025. Nous mettrons plutôt en avant les annonces de juin 2025 les plus structurantes pour l'utilisateur Snowflake moyen (avec quelques recoupements avec celles du Summit). C'est parti !

Mises à jour Snowsight

Voici les évolutions de Snowsight qui nous enthousiasment le plus !

Workspaces — Public Preview

L'une des annonces les plus enthousiasmantes du Summit est la nouvelle fonctionnalité Workspaces, un IDE moderne basé sur les fichiers, intégré à Snowsight et compatible avec Git (GitHub, GitLab, etc.). Elle apporte à l'interface Snowflake des fonctionnalités dignes d'un IDE : dossiers, intégration Git, suggestions de code dopées à l'IA et prise en charge native de dbt. Workspaces permet d'organiser le code en projets, de collaborer plus facilement, de pousser et tirer depuis GitHub (ou un autre fournisseur Git) et de fluidifier les workflows de développement sans quitter la plateforme Snowflake.

Workspaces prend toute sa puissance lorsqu'on y connecte un dépôt Git. Pour ajouter un dépôt, le seul prérequis est une API Integration (et un Secret si le dépôt n'est pas public) ; tout le reste se fait depuis l'interface graphique.

Workspaces propose une intégration Git conviviale : vous pouvez sélectionner une branche, pousser, tirer et comparer les diffs directement dans l'UI :

Impressions générales sur Workspaces

Personnellement, j'ai laissé tomber les Worksheets et je n'utilise plus que Workspaces, ne serait-ce que pour la possibilité d'organiser mes fichiers dans des dossiers et de naviguer dans l'arborescence bien plus facilement qu'avec l'interface Worksheets. Même sans dépôt Git connecté, je préfère Workspaces pour sa mise en page améliorée, l'accès à l'historique des requêtes et le copilot intégré.

Workspaces propose trop de fonctionnalités pour les couvrir toutes ici ; nous publierons prochainement un billet dédié aux astuces et bonnes pratiques Workspaces (projets dbt inclus).

Projets dbt dans Snowflake — Public Preview

Dans Workspaces, vous pouvez exécuter des projets dbt directement depuis l'interface Snowsight. Le plus simple est de commencer par connecter un dépôt existant, comme indiqué plus haut. Une fois votre Workspace relié à un dépôt dbt, Snowflake vous invite à créer un fichier profiles.yml. Cette étape franchie, vous pouvez lancer des commandes dbt depuis l'interface !

Dans le volet inférieur, vous pouvez basculer entre Query History, DAG View et Output.

La vue de l'historique des requêtes renvoie directement vers le profil de la requête. À noter : cette fonctionnalité ne se limite pas aux projets dbt ; tous les Workspaces affichent l'historique des requêtes. Mais je trouve particulièrement utile d'avoir l'historique des requêtes dbt directement intégré à l'IDE.

Depuis n'importe quel modèle, le bouton Compile SQL affiche le SQL compilé à côté du SQL templaté. Le bouton Show in DAG met en évidence ce modèle dans le volet DAG en dessous.

Lorsque vous êtes prêt à déployer, cliquez sur Connect en haut à droite, puis sur Deploy dbt.

Après le déploiement, le projet dbt apparaît dans Data → Database / Schema → dbt projects, et l'historique d'exécution de tous les projets dbt est consultable dans Monitoring → dbt.

Observations et impressions :

  • Pour : j'adore l'idée de pouvoir créer, planifier et superviser des projets dbt directement depuis Snowsight.
  • Contre : les commandes comme dbt deps et dbt build semblent souffrir d'un démarrage à froid très long.
  • Contre : les logs ne s'affichent qu'une fois l'exécution terminée. Difficile, dans ces conditions, de savoir où le temps est passé.
  • Contre : devoir passer par l'interface graphique pour chaque commande de build est un peu lourd. L'exécution de slices du DAG en ligne de commande me manque. (L'interface pour passer des arguments à la commande build est extrêmement peu ergonomique et gagnerait à être améliorée.)

Nous n'avons pas tout couvert sur l'exécution des projets dbt ici. Restez à l'écoute, un billet dédié arrive bientôt !

Task Overview et Graph au niveau du compte — GA

Il était déjà possible de visualiser un Task Graph au niveau de la base de données depuis quelque temps. Désormais, les utilisateurs peuvent consulter une vue d'ensemble de toutes les tâches d'un compte, selon les privilèges Task Monitoring.

Dans la barre latérale gauche, cliquez sur Monitoring, puis sur Task History. Vous y trouverez une liste filtrable de toutes les tâches du compte, ainsi qu'un statut visuel des exécutions précédentes.

Dans l'onglet Task Runs, vous pouvez consulter la liste de chaque exécution de tâche sur le compte.

Vous y verrez le DAG d'une exécution terminée, accompagné du Total Duration Breakdown.

Globalement, cette UI est très réussie ! J'apprécie particulièrement l'info-bulle Previous Runs. Une fonctionnalité d'observabilité vraiment utile, à mon sens.

Gestion des Integrations dans Snowsight — GA

Dans Snowflake, une Integration sert à se connecter à des ressources externes : comptes de stockage, dépôts Git, création de Network Rules, accès API, etc. Jusqu'ici, les Integrations ne pouvaient être gérées et observées qu'en SQL. Snowflake a ajouté la possibilité de créer, gérer et observer les Integrations depuis l'interface Snowsight. Un vrai bond en avant côté observabilité.

Rendez-vous dans Data → Integrations pour obtenir une vue à l'échelle du compte. Utilisez les 3 points pour gérer une intégration existante.

L'écran Create permet de créer facilement de nouvelles intégrations :

L'interface create integration vous renvoie finalement vers une page SQL qui ressemble à un Worksheet, mais en plus éphémère, sauf si vous cliquez sur Open in Worksheets.

J'aurais aimé que Snowflake propose un parcours 100 % graphique pour créer les Integrations, mais je comprends la difficulté étant donné le grand nombre de propriétés possibles.

Pour en savoir plus, consultez la documentation.

Mises à jour SQL

Lors du Summit, Snowflake a annoncé plusieurs extensions du dialecte SQL liées à l'IA. Nous n'y reviendrons pas ici. Concentrons-nous plutôt sur l'une des extensions les plus utiles du dialecte SQL : UNION BY NAME.

Opérateur Union [all] by Name — GA

En SQL, union et union all exigent généralement que chaque partie de l'union comporte le même nombre de colonnes et que celles-ci soient alignées dans le bon ordre. La nouvelle syntaxe Union by Name aligne automatiquement les colonnes en fonction de leur nom. Si un nom de colonne est absent ou si le nombre de colonnes diffère, Snowflake gère la situation en renvoyant automatiquement des valeurs null pour la colonne manquante dans la partie concernée de l'union. Voici un exemple.

with data1 as
(
    select
        'jeff' as first_name,
        'engineering' as department,
),
data2 as
(
    select
        'skoldberg' as last_name,
        'engineering' as department,
)
select * from data1
union all by name
select * from data2;

Ayant utilisé la macro dbt_utils.union_relations un nombre incalculable de fois, je salue chaleureusement cette fonctionnalité native Snowflake, d'autant qu'elle fonctionne aussi bien sur des CTEs que sur des vues et des tables. Une belle avancée !

Mises à jour Data Engineering

En juin, Snowflake a apporté une évolution notable dans la catégorie Data Engineering (hors annonces du Summit).

Artifact Repository — GA

L'Artifact Repository désigne la possibilité d'utiliser des packages Python issus du Python Package Index (PyPI) au sein des fonctions définies par l'utilisateur (UDFs) Snowpark Python et des procédures stockées. Cette fonctionnalité n'est malheureusement pas disponible pour les Notebooks ni les Python Worksheets, même si les packages les plus populaires y ont toujours été accessibles.

Pour utiliser cette fonctionnalité, un rôle intégré nommé pypi_repository_user doit être attribué à un rôle utilisateur.

1GRANT DATABASE ROLE SNOWFLAKE.PYPI_REPOSITORY_USER TO ROLE data_engineering;

Vous pouvez ensuite spécifier n'importe quel package PyPI dans la signature de la procédure en mentionnant l'argument ARTIFACT_REPOSITORY. Par exemple :

CREATE OR REPLACE FUNCTION sklearn_udf()
  RETURNS FLOAT
  LANGUAGE PYTHON
  RUNTIME_VERSION = 3.9
  ARTIFACT_REPOSITORY = snowflake.snowpark.pypi_shared_repository
  PACKAGES = ('scikit-learn')
  HANDLER = 'udf'
  AS
$$

C'est une nette amélioration par rapport au processus précédent, qui consistait à copier les wheels Python dans des Snowflake Stages. Snowflake facilite grandement l'utilisation des bibliothèques populaires !

Pour en savoir plus, consultez la page Artifact Repository overview.

Autres mises à jour (hors Summit) :

Pour conclure

Je rappelle que de nombreuses annonces de juin 2025 ne sont pas traitées dans cet article, car déjà couvertes dans le récapitulatif du Summit. Les prochaines éditions de Last Month in Snowflake se voudront quasi exhaustives. Nous continuerons à vous tenir informé des évolutions Snowflake les plus importantes !

Jeff est consultant Data et Analytics avec plus de 15 ans d'expérience dans l'automatisation des analyses et l'exploitation de la donnée pour piloter les processus métier. Côté technologies, il est spécialisé sur Snowflake + dbt + Tableau. Côté secteurs, il a travaillé dans les services publics, les essais cliniques, l'édition, le CPG et l'industrie manufacturière. N'hésitez pas à le contacter à tout moment : [email protected].