Carregamento de um pacote Python existente¶
O Snowflake CLI permite que você adicione pacotes Python existentes às importações do Snowpark usando os comandos snow snowpark package. Você pode usar pacotes já implementados, como os de PyPi, em suas funções e procedimentos.
Para adicionar um pacote Python às importações do Snowpark, faça o seguinte:
Verificação se um pacote já está disponível¶
Para verificar se um pacote ainda não está disponível, use o comando de pesquisa de pacote snow snowpark package lookup.
O exemplo a seguir ilustra a busca por um pacote que já está disponível no canal Snowflake Anaconda:
Se um pacote não estiver disponível no canal Snowflake Anaconda, você poderá receber uma mensagem semelhante à seguinte:
Para mais informações, consulte o comando snowpark package lookup.
Download de um pacote e criação de um artefato Snowflake¶
Para baixar um pacote e criar um artefato Snowflake para upload, use o comando snow snowpark package create.
onde:
<name >pode ser qualquer especificador de requisito compatível compip, como um nome de pacote, um URL para um pacote ou um caminho de arquivo local.
Opções adicionais:
--allow-shared-libraries: Permite bibliotecas compartilhadas (.so/.dll) ao usar pacotes instalados através depip.--ignore-anaconda: não procura pacotes no canal Snowflake Anaconda.--index-url: especifica o URL básico do Python Package Index a ser usado para pesquisa de pacotes. Esse URL deve apontar para um repositório compatível com PEP 503 (a API do repositório simples) ou um diretório local disposto no mesmo formato.--skip-version-check: ignora a comparação de versões de dependências entre requisitos e Anaconda.
Os exemplos a seguir ilustram algumas situações diferentes para criar artefatos Snowflake:
Exemplo: criar um pacote com dependências do Anaconda¶
Este exemplo cria um pacote Python como um arquivo zip que pode ser carregado em um estágio e posteriormente importado por um aplicativo Snowpark Python. As dependências do pacote “july” são encontradas no canal Anaconda, então elas foram excluídas do arquivo .zip. O comando exibe os pacotes que você precisa incluir no requirements.txt de seu projeto Snowpark.
Exemplo: criar um pacote usando a opção --ignore-anaconda¶
Este exemplo cria o pacote july.zip que você pode usar em seu projeto Snowpark sem precisar adicionar nenhuma dependência ao arquivo requirements.txt. As mensagens de erro indicam que alguns pacotes contêm bibliotecas compartilhadas, o que pode não funcionar, como ao criar um pacote usando o Windows.
Exemplo: criar um pacote já disponível no canal Snowflake Anaconda¶
Este exemplo falha ao criar o pacote porque ele já existe. Você ainda pode criar o pacote à força usando a opção --ignore-anaconda.
Para obter mais informações sobre como criar um pacote, consulte o comando snowpark package create.
Carregamento do pacote em um estágio Snowflake¶
Para enviar seu pacote, use o comando snow snowpark package upload.
Este comando carrega um arquivo zip do pacote Python para um estágio do Snowflake para que ele possa ser referenciado nas importações de um procedimento ou função.
Uso do pacote em procedimentos e funções do Snowpark¶
Para usar o pacote em procedimentos ou funções, adicione-o ao parâmetro imports da seção definição do Snowpark em snowflake.yml.
Em seguida, importe seu pacote no manipulador de funções.