Modifier et exécuter des notebooks dans Workspaces

Définir le contexte d’exécution

Les notebooks dans Workspaces ne définissent pas automatiquement une base de données ou un schéma. Pour interroger des données, vous devez définir le contexte d’exécution dans une cellule à l’aide des commandes SQLsuivantes :

USE DATABASE <database>;
USE SCHEMA <schema>;
Copy

Pour que les notebooks fonctionnent de manière cohérente dans les environnements et les applications clientes, utilisez des noms entièrement qualifiés pour les tables et les autres objets. Par exemple :

-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;

-- Create a table using a fully qualified name
WITH filtered_events AS (
    SELECT
        user_id,
        event_type,
        event_timestamp
    FROM raw_events
    WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
Copy

Utiliser le rôle et le sélecteur d’entrepôt

Vous pouvez définir le rôle actif et l’entrepôt à l’aide du sélecteur situé en haut à gauche de l’éditeur Notebooks ou en exécutant la commande SQL suivante :

USE ROLE <role>;
USE WAREHOUSE <warehouse>;
Copy

L’entrepôt de requêtes est utilisé pour exécuter les requêtes SQL et le calcul pushdown Snowpark invoqués par le notebook. Il permet également de rendre la grille de données interactive, mais cette opération n’implique aucun frais de crédit.

Pour en savoir plus sur l’utilisation du crédit, voir Configuration du calcul.

Exécuter des cellules

Il existe quatre options d’exécution prises en charge :

  • Exécuter toutes les cellules

  • Exécuter une seule cellule

  • Exécuter la cellule actuelle et toutes les cellules ci-dessus (via le menu à points de suspension de la cellule)

  • Exécuter la cellule actuelle et toutes les cellules ci-dessous (via le menu à points de suspension de la cellule)

Annuler l’exécution de la cellule

Utilisez Stop en haut du notebook ou Cancel execution dans une cellule.

Les deux actions arrêtent la cellule en cours d’exécution et toutes les cellules en file d’attente déclenchées par Run all.

Note

Le bouton Run all peut se transformer temporairement en Stop lorsque le notebook se connecte ou se reconnecte au service.

Noms de cellule

Vous pouvez attribuer des noms aux cellules pour faciliter la navigation et fournir des étiquettes contextuelles.

Si un fichier .ipynb importé contient déjà des métadonnées de nom ou de titre, ces valeurs sont utilisées automatiquement.

Référencement de cellule

Le référencement bidirectionnel de cellules SQL vers Python vous permet de réutiliser les résultats et les variables dans les cellules dans n’importe quel langage, permettant des transitions transparentes entre les workflows SQL et Python.

Vous pouvez survoler l’info-bulle du résultat pour voir le nom du DataFrame que vous pouvez utiliser pour référencer le résultat en Python et SQL.

Référencement de cellule

Référencement des résultats de cellule SQL

Chaque cellule SQL expose son résultat sous forme de pointeur vers un DataFrame pandas nommé dataframe_x.

  • Dans SQL, référencez-le en utilisant des accolades doubles : {{dataframe_1}}.

  • En Python, référencez-le directement en tant que DataFrame pandas : dataframe_1.

Référencement de variables Python

Pour référencer des variables Python dans les requêtes SQL, entourez-les d’accolades. Par exemple :

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

Les variables DataFrame sont également prises en charge lors du référencement à des variables Python dans SQL.

Exemple de flux de travail

Calcul Python

import pandas as pd

uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Copy

Cellule SQL référençant une variable Python

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

Cellule SQL référençant les résultats de cellules SQL

Le résultat d’une cellule SQL fournit un pointeur DataFrame appelé dataframe_1. Vous pouvez y faire référence dans une autre requête SQL :

SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
Copy

Grille de données interactive

La grille de données prend en charge :

  • Défilement

  • Rechercher

  • Filtrage

  • Tri

  • Création de graphiques sans code

Créateur de graphiques intégré

Fournit une expérience utilisateur cohérente pour la manipulation et la visualisation des données sur les zones d’édition dans Workspaces.

Minimap et statut de cellule

La minimap génère une table des matières à partir d’en-têtes Markdown et affiche un statut complet en session pour chaque cellule (en cours d’exécution, réussite, échec et modifiée).

Noyau de notebook

Le noyau du notebook reste actif tant que le service du notebook se trouve dans l’état RUNNING, ce qui permet d’exécuter sans interruption des processus critiques de longue durée tels que des tâches de formation et d’ingénierie des données ML.

Actions qui n’affectent pas l’exécution du noyau :

  • Navigation vers d’autres pages

  • Travailler ailleurs dans Snowsight

  • Fermeture de votre navigateur

  • Arrêt de votre ordinateur

Vous pouvez arrêter ou redémarrer le noyau en utilisant le menu déroulant Connected.

Note

Utiliser Shut down kernel ou Restart kernel effacera les variables en mémoire, mais conservera tous les paquets installés par l’utilisateur. Si vous souhaitez un environnement parfaitement propre avec uniquement les paquets préinstallés, vous devez redémarrer le service ou créer un nouveau service et vous y connecter.

Si le service du notebook est suspendu, le noyau du notebook est également arrêté. Pour plus d’informations, voir Paramétrage du calcul.

Magics Jupyter

Les notebooks dans Workspaces exécutent le noyau IPython (Python interactif) et fournissent des cellules Jupyter standard et des lignes de magics. Exécutez %lsmagic pour afficher les magics disponibles.

Utilisation du terminal

Le terminal peut être utilisé pour :

  • Installer les dépendances

  • Gérer les fichiers

  • Exécuter des tâches parallèles

  • Surveiller l’utilisation des ressources de calcul

Vous devez être connecté à un service Notebook pour utiliser le terminal. L’utilisation d’un autre service entraîne le redémarrage de la session du terminal.

Exemple d’installation et d’exécution de htop pour surveiller l’utilisation des ressources de calcul en temps réel :

# If installation fails, run `apt update` first
# Install `htop`
apt install htop

# Run `htop`
htop
Copy