Créer et déployer des applications Streamlit à l’aide de SQL¶
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.
Créer une application Streamlit avec SQL¶
Avant de créer une application Streamlit en utilisant SQL, assurez-vous de répondre aux exigences requises.
Pour créer une application Streamlit dans Snowflake en utilisant des commandes SQL, effectuez chacune des tâches suivantes :
Créer des fichiers Streamlit sur votre système de fichiers local
Charger vos fichiers Streamlit vers une zone de préparation nommée
Créer des fichiers Streamlit sur votre système de fichiers local¶
Cette section explique comment créer une application Streamlit à une ou plusieurs 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 Gérer des 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
.
Charger 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éer 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;
Gérer des paquets en utilisant le fichier environment.yml
¶
Pour installer des paquets Python supplémentaires dans votre application Streamlit :
Créer un fichier
environment.yml
sur votre système de fichiers local.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.
Épinglez la version Streamlit dans le fichier environment.yml
.¶
Pour épingler la version Streamlit dans le fichier environment.yml
, inclure une dépendance streamlit
comme indiqué dans l’exemple suivant :
name: sf_env
channels:
- snowflake
dependencies:
- scikit-learn
- streamlit=1.31.1
Visualiser 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.
Gérer les objets STREAMLIT¶
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;