Criação de um aplicativo Streamlit usando SQL¶
Atenção
Este recurso está disponível para contas nas regiões comerciais do AWS e Microsoft Azure. AWS PrivateLink e Azure Private Link não são suportados.
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.
Pré-requisitos¶
Antes de implantar um aplicativo Streamlit usando SQL, você deve atender aos seguintes pré-requisitos:
Revise o Recursos Streamlit não suportados e Limitações adicionais ao usar Streamlit in Snowflake
Certifique-se de que sua conta tenha os privilégios corretos conforme descrito em Privilégios necessários para criar e usar um aplicativo Streamlit.
Certifique-se de poder criar ou ter acesso a um estágio nomeado onde você pode fazer upload dos arquivos do aplicativo Streamlit.
Criação de um aplicativo Streamlit usando SQL¶
Para criar um aplicativo Streamlit no Snowflake usando comandos SQL, execute cada uma das seguintes tarefas:
Criação dos arquivos Streamlit em seu sistema de arquivos local
Carregamento de seus arquivos Streamlit para um estágio nomeado
Criação dos arquivos Streamlit em seu sistema de arquivos local¶
Esta seção descreve como criar um aplicativo Streamlit de uma ou várias páginas. Para obter exemplos de cada tipo de aplicativo, consulte Exemplo - Aplicativo Streamlit de página única e Exemplo - Aplicativo Streamlit de 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 Instalação de 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
.
Carregamento de 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;
Criação de 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;
Instalação de pacotes usando o arquivo environment.yml
¶
Para instalar pacotes Python adicionais em seu aplicativo Streamlit:
Adicione um arquivo
environment.yml
ao aplicativo.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.
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.
Modificação de um objeto STREAMLIT existente¶
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;