Configuration commune pour les tutoriels sur les APIs Snowflake Python

Introduction

Cette rubrique fournit des instructions pour la configuration commune requise pour tous les tutoriels Snowflake Python APIs fournis dans cette documentation.

Aperçu de Snowflake Python APIs

Avant de commencer votre configuration, jetez un œil à la structure de Snowflake Python APIs. Le tableau suivant répertorie certains modules courants dans l’API :

Module

Description

snowflake.core

Définit un itérateur pour représenter certaines instances de ressources extraites de la base de données de Snowflake.

snowflake.core.database

Gère les bases de données de Snowflake.

snowflake.core.schema

Gère les schémas de Snowflake.

snowflake.core.table

Gère les tables de Snowflake.

snowflake.core.task

Gère les tâches de Snowflake.

snowflake.core.task.dagv1

Un ensemble d’APIs à un niveau supérieur aux APIs de la tâche dans snowflake.core.task pour gérer plus facilement les graphes de tâches (DAGs).

snowflake.core.compute_pool

Gère les pools de calcul dans Snowpark Container Services.

snowflake.core.image_repository

Gère les référentiels d’images dans Snowpark Container Services.

snowflake.core.service

Gère les services dans Snowpark Container Services.

Pour une liste complète des APIs actuellement disponible, voir la documentation de référence d’API.

Le module snowflake.core représente le point d’entrée du noyau Snowflake Python APIs qui gère les objets Snowflake. Pour utiliser l’API, vous suivez un modèle commun :

  1. Établissez une session à l’aide de Snowpark ou d’une connexion Python Connector, représentant votre connexion à Snowflake.

  2. Importez et instanciez la Root classe depuis snowflake.core et transmettez l’objet de session Snowpark comme argument.

    Vous utilisez le résultat obtenu Root pour accéder au reste des méthodes et des types dans l’API.

Le code suivant est un exemple de ce à quoi ressemble généralement ce modèle :

from snowflake.snowpark import Session
from snowflake.core import Root

session = Session.builder.configs(connection_params).create()
root = Root(session)
Copy

Pour plus d’informations sur les différentes options de connexion et attributs, voir Connexion à Snowflake avec Snowflake Python APIs.

Note

Le Snowflake Python APIs peut établir une connexion à Snowflake en utilisant soit une session Snowpark, soit une connexion Python Connector. L’exemple précédent utilise une session Snowpark.

Passez à l’étape suivante pour commencer à configurer l’API et votre environnement de développement !

Installer le Snowflake Python APIs

Important

Snowflake Python APIs prend actuellement en charge les versions suivantes de Python :

  • 3,9

  • 3,10

  • 3,11

  • 3,12

Avant d’installer l’API, vous devez activer un environnement Python.

Dans ce tutoriel, vous pouvez utiliser conda ou un environnement virtuel (venv).

  1. Pour créer et activer un conda ou un environnement virtuel, ouvrez un terminal de ligne de commande et exécutez les commandes suivantes :

    conda create -n <env_name> python==3.10
    conda activate <env_name>
    
    Copy
  2. Le paquet Snowflake Python APIs est disponible dans PyPI.

    Pour installer le paquet d’API dans le nouveau conda ou environnement virtuel, exécutez la commande suivante :

    pip install snowflake -U
    
    Copy

Configurez votre environnement de développement

Ce tutoriel présente des exemples de code que vous pouvez exécuter dans un notebook Jupyter. Chaque étape du tutoriel présente progressivement les capacités de Snowflake Python APIs.

Vous commencez par configurer votre environnement de développement afin de pouvoir exécuter les exemples de code dans un notebook.

  1. Créez un fichier nommé $HOME/.snowflake/connections.toml avec les paramètres de connexion suivants et mettez-le à jour avec vos véritables identifiants de connexion :

    [default]
    account = "<YOUR ACCOUNT NAME>"
    user = "<YOUR ACCOUNT USER>"
    password = "<YOUR ACCOUNT USER PASSWORD>"
    # optional
    # warehouse = "<YOUR COMPUTE WH>"
    # optional
    # database = "<YOUR DATABASE>"
    # optional
    # schema = "<YOUR SCHEMA>"
    
    Copy

    Note

    Le paramètre account ne prebd pas en charge les identificateurs de compte avec des traits de soulignement. Vous devez spécifier un identificateur de compte avec des tirets à la place des traits de soulignement. Pour plus d’informations, voir Nom du compte dans votre organisation.

    Cet exemple spécifie ces paramètres comme connexion par défaut à Snowflake dans votre environnement en créant une définition de connexion nommée default.

  2. Utilisez l’une des méthodes suivantes pour ouvrir un notebook :

    • Ouvrez un nouveau Notebook dans un éditeur de code prenant en charge les Notebooks Jupyter (tel que Visual Studio Code).

    • Pour ouvrir un notebook dans votre navigateur, démarrez un serveur de notebook avec la commande jupyter notebook.

      Pour vous assurer que votre environnement peut exécuter un notebook, exécutez conda install notebook dans votre terminal avant de démarrer le serveur de notebook.

  3. Dans la première cellule du notebook, exécutez les instructions d’importation suivantes :

    from datetime import timedelta
    
    from snowflake.snowpark import Session
    from snowflake.snowpark.functions import col
    from snowflake.core import Root, CreateMode
    from snowflake.core.database import Database
    from snowflake.core.schema import Schema
    from snowflake.core.stage import Stage
    from snowflake.core.table import Table, TableColumn, PrimaryKey
    from snowflake.core.task import StoredProcedureCall, Task
    from snowflake.core.task.dagv1 import DAGOperation, DAG, DAGTask
    from snowflake.core.warehouse import Warehouse
    
    Copy

    Note

    Après avoir exécuté cette cellule, vous serez peut-être invité à définir votre noyau Python. Si vous avez activé un environnement conda, sélectionnez conda comme noyau Python (par exemple, quelque chose de similaire à : ~/miniconda3/envs/<votre env conda>/bin/python).

    Dans cette cellule, vous importez Snowpark et les APIs du noyau qui gèrent les objets Snowflake.

  4. Dans la cellule suivante, exécutez le code suivant :

    connection_params = {
        "connection_name": "default"
    }
    
    Copy

    Dans cette cellule, vous définissez les paramètres de connexion Snowflake pour votre session en créant un dictionnaire connection_params spécifiant la définition de connexion nommée default que vous avez précédemment configurée.

  5. Pour établir une connexion à Snowflake, créez une session Snowpark et transmettez connection_params comme argument :

    session = Session.builder.configs(connection_params).create()
    
    Copy
  6. Pour créer un objet Root, transmettez votre objet session au constructeur Root :

    root = Root(session)
    
    Copy

Et c’est tout ! En exécutant le code dans ces quatre cellules, vous êtes maintenant prêt à utiliser Snowflake Python APIs.

Quelle est la prochaine étape ?

Vous pouvez maintenant explorer Tutoriel 1 : Créer une base de données, un schéma, une table et un entrepôt.