Utilisation de Snowflake Notebooks

Snowflake CLI inclut les commandes snow notebook suivantes qui vous permettent de créer et d’exécuter des Notebooks Snowflake depuis la ligne de commande :

Créer un notebook

Note

À partir de la version 3.4.0, Snowflake CLI a ajouté la commande snow notebook deploy pour remplacer la commande snow notebook create. Pour garantir la rétrocompatibilité, vous pouvez toujours créer un notebook à l’aide de la commande snow notebook create, mais Snowflake vous recommande de commencer à utiliser la nouvelle procédure Déployer et créer un notebook.

La commande snow notebook create crée un notebook à partir d’un notebook existant sur la zone de préparation. La commande renvoie un lien vers le nouveau notebook. L’exemple suivant crée le notebook MY_NOTEBOOK à partir du notebook intermédiaire spécifié :

snow notebook create MY_NOTEBOOK -f @MY_STAGE/path/to/notebook.ipynb
Copy

La commande crée le notebook dans l’entrepôt par défaut défini pour la connexion. Vous pouvez utiliser l’option --warehouse pour spécifier un entrepôt alternatif ou en spécifier un si la connexion ne définit pas d’entrepôt par défaut.

Déployer et créer un notebook

La commande snow notebook deploy télécharge les fichiers locaux vers une zone de préparation et crée un nouvel objet de notebook dans la base de données et le schéma que vous avez choisis. Votre fichier de définition du projet doit spécifier le fichier notebook principal et l’entrepôt de requêtes. L’option --replace remplace l’objet de notebook spécifié s’il existe déjà.

Chaque notebook dans Snowflake doit inclure un fichier de définition de projet snowflake.yml.

L’exemple suivant montre un échantillon de fichier de définition de projet de notebook snowflake.yml :

definition_version: 2
entities:
  my_notebook:
    type: notebook
    query_warehouse: xsmall
    notebook_file: notebook.ipynb
    artifacts:
    - notebook.ipynb
    - data.csv
Copy

La table suivante décrit les propriétés d’une définition de projet de notebook :

Propriétés de définition de projet de notebook

Propriété

Définition

type

required, string

Doit être notebook.

query_warehouse

required, string

L’entrepôt de Snowflake pour héberger le notebook.

notebook_file

required, string

Chemin d’accès au fichier notebook.

artifacts

requis, séquence de chaînes

Liste des fichiers chargés dans la zone de préparation. Le fichier notebook doit être inclus dans cette liste.

stage_path

optional, string

Chemin d’accès à la zone de préparation où les artefacts seront stockés. Par défaut : notebooks/<notebook_id>.

compute_pool

optional, string

Pool de calcul pour un notebook conteneurisé à utiliser.

Note

Les notebooks conteneurisés sont actuellement en PuPr.

runtime_name

optional, string

Nom de l’environnement d’exécution pour un notebook conteneurisé à utiliser. Les valeurs suivantes sont valides :

  • SYSTEM$BASIC_RUNTIME pour l’environnement d’exécution CPU

  • SYSTEM$GPU_RUNTIME pour l’environnement d’exécution GPU

Note

Les notebooks conteneurisés sont actuellement en PuPr.

identifier

optional, string

Identificateur Snowflake facultatif pour l’entité. La valeur peut avoir les formes suivantes :

  • Texte d’identificateur de chaîne

    identifier: my-notebook-id
    
    Copy

    Les identificateurs entre guillemets et sans guillemets sont pris en charge. Pour utiliser des identificateurs entre guillemets, incluez les guillemets dans la valeur de YAML (par exemple, "Mon notebook").

  • Objet

    identifier:
      name: my-notebook-id
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    Note

    Une erreur se produit si vous spécifiez un schéma :codenowrap: `` ou une base de données :codenowrap:`` et que vous utilisez un nom entièrement qualifié dans la propriété name (tel que mydb.schema1.my-notebook).

L’exemple suivant télécharge les fichiers spécifiés dans votre fichier de définition de projet et crée un nouveau notebook nommé my_notebook :

snow notebook deploy my_notebook
Copy
Uploading artifacts to @notebooks/my_notebook
  Creating stage notebooks if not exists
  Uploading artifacts
Creating notebook my_notebook
Notebook successfully deployed and available under https://snowflake.com/provider-deduced-from-connection/#/notebooks/DB.SCHEMA.MY_NOTEBOOK

Exécuter un notebook

La commande snow notebook execute exécute un notebook en mode sans tête. Actuellement, la commande renvoie uniquement un message indiquant si le notebook a été exécuté avec succès.

snow notebook execute MY_NOTEBOOK
Copy
Notebook MY_NOTEBOOK executed.