Criação e implementação de aplicativos Streamlit usando SQL¶
Este tópico descreve como implantar um aplicativo Streamlit no Snowflake usando comandos SQL. Ele descreve como implantar aplicativos Streamlit de página única e de várias páginas.
Criação de um aplicativo Streamlit usando SQL¶
Antes de criar um aplicativo Streamlit usando SQL, certifique-se de atender aos pré-requisitos necessários.
Para criar um aplicativo Streamlit no Snowflake usando comandos SQL, execute cada uma das seguintes tarefas:
Criação de arquivos Streamlit em seu sistema de arquivo local¶
Esta seção descreve como criar um aplicativo Streamlit de uma ou várias páginas.
Para criar os arquivos para seu aplicativo Streamlit, faça o seguinte:
No sistema de arquivos local, crie seu aplicativo Streamlit principal.
Opcional: se você estiver criando um aplicativo Streamlit de várias páginas, crie uma pasta chamada
pages
em seu sistema de arquivos local e adicione as páginas Streamlit adicionais a essa subpasta.Opcional: para incluir pacotes externos em seu aplicativo Streamlit, crie um arquivo
environment.yml
. Para obter detalhes sobre a inclusão de pacotes externos, consulte Gerencie pacotes usando o arquivo environment.yml.
Depois de criar as páginas Streamlit, sua estrutura de diretórios deverá ser semelhante a esta:
└── streamlit/
└── environment.yml
└── streamlit_main.py
└── pages/
└── data_frame_demo.py
└── plot_demo.py
Nota
O environment.yml
e a subpasta pages
opcional deve estar no mesmo nível que o arquivo Streamlit principal. Quaisquer páginas Streamlit adicionais devem ser incluídas na subpasta pages
.
Carregue seus arquivos Streamlit para um estágio nomeado¶
Para criar um aplicativo Streamlit em Streamlit in Snowflake, você deve carregar os arquivos do seu aplicativo para um estágio nomeado.
Para fazer upload de arquivos de aplicativo, siga um destes procedimentos:
Carregue os arquivos do aplicativo usando Snowsight, conforme descrito em Preparação de arquivos usando o Snowsight
Carregue os arquivos do aplicativo usando SnowSQL, conforme mostrado no exemplo a seguir:
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;
Crie um objeto STREAMLIT¶
Um objeto STREAMLIT é um objeto de banco de dados no Snowflake que encapsula os arquivos exigidos pelo seu aplicativo Streamlit.
Para criar um objeto STREAMLIT, execute o comando CREATE STREAMLIT, conforme mostrado no exemplo a seguir:
CREATE STREAMLIT hello_streamlit ROOT_LOCATION = '@streamlit_db.streamlit_schema.streamlit_stage' MAIN_FILE = 'streamlit_main.py' QUERY_WAREHOUSE = my_warehouse;
Este comando cria um objeto STREAMLIT chamado
hello_streamlit
com base no caminho e no arquivo especificados em ROOT_LOCATION e MAIN_FILE.Nota
Embora a cláusula QUERY_WAREHOUSE seja opcional, você deve especificar um warehouse de consulta para poder executar o aplicativo Streamlit no Snowflake.
Para verificar se o objeto Streamlit foi criado, execute o comando SHOW STREAMLITS, conforme mostrado no exemplo a seguir:
SHOW STREAMLITS;
Gerencie pacotes usando o arquivo environment.yml
¶
Para instalar pacotes Python adicionais em seu aplicativo Streamlit:
Crie um arquivo
environment.yml
em seu sistema de arquivo local.Para carregar o arquivo para o local de preparação especificado pelo parâmetro
ROOT_LOCATION
do objeto STREAMLIT, execute o comando PUT.Os pacotes listados em
environment.yml
são instalados no Canal Snowflake Anaconda.
O exemplo environment.yml
a seguir mostra como instalar scikit-learn
no ambiente Streamlit:
name: sf_env
channels:
- snowflake
dependencies:
- scikit-learn
As propriedades name
e channels
são exigidas. Além disso, a chave - snowflake
é obrigatória na propriedade channels
.
Nota
Você só pode instalar pacotes listados no Canal Snowflake Anaconda. Streamlit no Snowflake não oferece suporte a canais Anaconda externos.
Fixação da versão do Streamlit no arquivo environment.yml
¶
Para fixar a versão do Streamlit no arquivo environment.yml
, inclua uma dependência streamlit
, conforme mostrado no exemplo a seguir:
name: sf_env
channels:
- snowflake
dependencies:
- scikit-learn
- streamlit=1.31.1
Visualização de um aplicativo Streamlit¶
Para visualizar informações sobre o objeto STREAMLIT, execute o comando DESCRIBE STREAMLIT conforme mostrado no exemplo a seguir:
DESC STREAMLIT hello_streamlit;
Para visualizar seu aplicativo Streamlit em Snowsight, selecione Visualização de um aplicativo Streamlit.
Gerenciamento de objetos STREAMLIT¶
Depois de criar um objeto STREAMLIT, use o comando ALTER STREAMLIT para modificar diferentes propriedades conforme descrito nas seções a seguir.
Renomeação de um objeto STREAMLIT¶
Para renomear um objeto STREAMLIT, use a cláusula RENAME TO do comando ALTER STREAMLIT, conforme mostrado no exemplo a seguir:
ALTER STREAMLIT hello_streamlit RENAME TO hello_snowflake;
Alteração do estágio ou arquivo principal em um objeto STREAMLIT¶
Para alterar o caminho para o estágio de um objeto STREAMLIT, use o comando ALTER STREAMLIT para definir a propriedade ROOT_LOCATION do objeto, conforme mostrado no exemplo a seguir:
ALTER STREAMLIT hello_streamlit SET ROOT_LOCATION = '@snowflake_db.snowflake_schema.snowflake_stage'
Para alterar o arquivo Streamlit principal em um objeto STREAMLIT, use o comando ALTER STREAMLIT para definir a propriedade MAIN_FILE do objeto, conforme mostrado no exemplo a seguir:
ALTER STREAMLIT hello_streamlit SET MAIN_FILE = 'snowflake_main.py'
Alteração do warehouse de consultas atribuído a um objeto STREAMLIT¶
Para adicionar um warehouse de consultas ou alterar o warehouse de consultas atual de um objeto STREAMLIT, use o comando ALTER STREAMLIT para definir a propriedade QUERY_WAREHOUSE do objeto, conforme mostrado no exemplo a seguir:
ALTER STREAMLIT hello_streamlit SET QUERY_WAREHOUSE = my_new_warehouse;
Listagem de objetos STREAMLIT disponíveis¶
Para listar os aplicativos Streamlit disponíveis para sua função atual, execute o comando SHOW STREAMLITS, conforme mostrado no exemplo a seguir:
SHOW STREAMLITS;
Exclusão de um objeto STREAMLIT¶
Para excluir um objeto STREAMLIT, execute o comando DROP STREAMLIT, conforme mostrado no exemplo a seguir:
DROP STREAMLIT hello_streamlit;