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>;
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;
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>;
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 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;
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
Cellule SQL référençant une variable Python
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
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;
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