Création d’une application Streamlit en utilisant SQL¶
Attention
Cette fonctionnalité est disponible pour les comptes des régions commerciales AWS et Microsoft Azure. AWS PrivateLink et Azure Private Link ne sont pas pris en charge.
Cette rubrique décrit comment déployer une application Streamlit dans Snowflake en utilisant des commandes SQL. Elle décrit comment déployer des applications Streamlit à une ou plusieurs pages.
Conditions préalables¶
Avant de déployer une application Streamlit en utilisant SQL, vous devez remplir les conditions préalables suivantes :
Examinez les Fonctions Streamlit non prises en charge et Limitations supplémentaires lors de l’utilisation de Streamlit in Snowflake.
Assurez-vous que votre compte dispose des privilèges appropriés, comme décrit dans Privilèges requis pour créer et utiliser une application Streamlit.
Assurez-vous que vous pouvez créer ou avoir accès à une zone de préparation nommée où vous pouvez charger les fichiers de l’application Streamlit.
Création d’une application Streamlit en utilisant SQL¶
Pour créer une application Streamlit dans Snowflake en utilisant des commandes SQL, effectuez chacune des tâches suivantes :
Création des fichiers Streamlit sur votre système de fichiers local
Chargement de vos fichiers Streamlit vers une zone de préparation nommée
Création des fichiers Streamlit sur votre système de fichiers local¶
Cette section explique comment créer une application Streamlit à une ou plusieurs pages. Pour des exemples de chaque type d’application, voir Exemple - Application Streamlit à page unique et Exemple - Application Streamlit multi-pages.
Pour créer les fichiers de votre application Streamlit, procédez comme suit :
Sur votre système de fichiers local, créez votre application principale Streamlit.
Facultatif : si vous créez une application Streamlit multi-pages, créez un dossier appelé
pages
sur votre système de fichiers local, et ajoutez les pages Streamlit supplémentaires dans ce sous-dossier.Facultatif : pour inclure des paquets externes dans votre application Streamlit, créez un fichier
environment.yml
. Pour plus de détails sur l’inclusion de paquets externes, consultez Installation de paquets en utilisant le fichier environment.yml.
Après avoir créé les pages Streamlit, la structure de votre répertoire devrait ressembler à ceci :
└── streamlit/
└── environment.yml
└── streamlit_main.py
└── pages/
└── data_frame_demo.py
└── plot_demo.py
Note
Le fichier environment.yml
et le sous-dossier pages
facultatif doivent se trouver au même niveau que votre fichier principal Streamlit. Toute page Streamlit supplémentaire doit être incluse dans le sous-dossier pages
.
Chargement de vos fichiers Streamlit vers une zone de préparation nommée¶
Pour créer une application Streamlit dans Streamlit in Snowflake, vous devez charger vos fichiers d’application dans une zone de préparation nommée.
Pour charger des fichiers d’application, procédez de l’une des manières suivantes :
Chargez les fichiers d’application à l’aide de Snowsight, comme décrit dans Mise des fichiers en zone de préparation à l’aide de Snowsight
Chargez les fichiers d’application en utilisant SnowSQL, comme indiqué dans l’exemple suivant :
PUT file:///<path_to_your_root_folder>/streamlit/streamlit_main.py @streamlit_db.streamlit_schema.streamlit_stage overwrite=true auto_compress=false; PUT file:///<path_to_your_root_folder>/streamlit/environment.yml @streamlit_db.streamlit_schema.streamlit_stage overwrite=true auto_compress=false; PUT file:///<path_to_your_root_folder>/streamlit/pages/streamlit_page_2.py @streamlit_db.streamlit_schema.streamlit_stage/pages/ overwrite=true auto_compress=false; PUT file:///<path_to_your_root_folder>/streamlit/pages/streamlit_page_3.py @streamlit_db.streamlit_schema.streamlit_stage/pages/ overwrite=true auto_compress=false;
Création d’un objet STREAMLIT¶
Un objet STREAMLIT est un objet de base de données dans Snowflake qui encapsule les fichiers requis par votre application Streamlit.
Pour créer un objet STREAMLIT, exécutez la commande CREATE STREAMLIT, comme indiqué dans l’exemple suivant :
CREATE STREAMLIT hello_streamlit ROOT_LOCATION = '@streamlit_db.streamlit_schema.streamlit_stage' MAIN_FILE = '/streamlit_main.py' QUERY_WAREHOUSE = my_warehouse;
Cette commande crée un objet STREAMLIT nommé
hello_streamlit
en fonction du chemin et du fichier spécifiés dans ROOT_LOCATION et MAIN_FILE.Note
Bien que la clause QUERY_WAREHOUSE soit facultative, vous devez spécifier un entrepôt de requêtes pour pouvoir exécuter l’application Streamlit dans Snowflake.
Pour vérifier que l’objet Streamlit a été créé, exécutez la commande SHOW STREAMLITS, comme indiqué dans l’exemple suivant :
SHOW STREAMLITS;
Installation de paquets en utilisant le fichier environment.yml
¶
Pour installer des paquets Python supplémentaires dans votre application Streamlit :
Ajoutez un fichier
environment.yml
à l’application.Pour télécharger le fichier à l’emplacement de la zone de préparation spécifié par le paramètre
ROOT_LOCATION
de l’objet STREAMLIT, exécutez la commande PUT.Les paquets répertoriés dans le fichier
environment.yml
sont installés à partir du canal Snowflake Anaconda.
L’exemple suivant environment.yml
montre comment installer scikit-learn
dans l’environnement Streamlit :
name: sf_env
channels:
- snowflake
dependencies:
- scikit-learn
Les propriétés name
et channels
sont obligatoires. De plus, la clé - snowflake
est requise sous la propriété channels
.
Note
Vous ne pouvez installer que les paquets répertoriés dans le canal Anaconda Snowflake. Streamlit dans Snowflake ne prend pas en charge les canaux Anaconda externes.
Visualisation d’une application Streamlit¶
Pour voir les informations d’un objet STREAMLIT, exécutez la commande DESCRIBE STREAMLIT comme indiqué dans l’exemple suivant :
DESC STREAMLIT hello_streamlit;
Pour voir votre application Streamlit dans Snowsight, sélectionnez Visualiser une application Streamlit.
Modification d’un objet STREAMLIT existant¶
Après avoir créé un objet STREAMLIT, utilisez la commande ALTER STREAMLIT pour modifier les différentes propriétés décrites dans les sections suivantes.
Renommer un objet STREAMLIT¶
Pour renommer un objet STREAMLIT, utilisez la clause RENAME TO de la commande ALTER STREAMLIT comme le montre l’exemple suivant :
ALTER STREAMLIT hello_streamlit RENAME TO hello_snowflake;
Modifier la zone de préparation ou le fichier principal d’un objet STREAMLIT¶
Pour modifier le chemin d’accès à la zone de préparation d’un objet STREAMLIT, utilisez la commande ALTER STREAMLIT pour définir la propriété ROOT_LOCATION de l’objet, comme le montre l’exemple suivant :
ALTER STREAMLIT hello_streamlit SET ROOT_LOCATION '@snowflake_db.snowflake_schema.snowflake_stage'
Pour modifier le fichier Streamlit principal dans un objet STREAMLIT, utilisez la commande ALTER STREAMLIT pour définir la propriété MAIN_FILE de l’objet, comme le montre l’exemple suivant :
ALTER STREAMLIT hello_streamlit SET MAIN_FILE 'snowflake_main.py'
Modifier l’entrepôt de requêtes attribué à un objet STREAMLIT¶
Pour ajouter un entrepôt de requêtes ou modifier l’entrepôt de requêtes actuel pour un objet STREAMLIT, utilisez la commande ALTER STREAMLIT pour définir la propriété QUERY_WAREHOUSE de l’objet, comme le montre l’exemple suivant :
ALTER STREAMLIT hello_streamlit SET QUERY_WAREHOUSE my_new_warehouse;
Répertorier les objets STREAMLIT disponibles¶
Pour dresser la liste des applications Streamlit disponibles pour votre rôle actuel, exécutez la commande SHOW STREAMLITS, comme indiqué dans l’exemple suivant :
SHOW STREAMLITS;
Supprimer un objet STREAMLIT¶
Pour supprimer un objet STREAMLIT, exécutez la commande DROP STREAMLIT, comme indiqué dans l’exemple suivant :
DROP STREAMLIT hello_streamlit;