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:

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

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:

  1. No sistema de arquivos local, crie seu aplicativo Streamlit principal.

  2. 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.

  3. 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
Copy

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;
    
    Copy

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.

  1. 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;
    
    Copy

    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.

  2. Para verificar se o objeto Streamlit foi criado, execute o comando SHOW STREAMLITS, conforme mostrado no exemplo a seguir:

    SHOW STREAMLITS;
    
    Copy

Instalação de pacotes usando o arquivo environment.yml

Para instalar pacotes Python adicionais em seu aplicativo Streamlit:

  1. Adicione um arquivo environment.yml ao aplicativo.

  2. 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
Copy

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;
Copy

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;
Copy

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'
Copy

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'
Copy

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;
Copy

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;
Copy

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;
Copy