Produto e tecnologia

Tenha acesso a pacotes PyPI no Snowpark por meio de UDFs e procedimentos armazenados

Photo illustration of a man using a computer with the Snowpark  icon and PyPI in Snowpark label

Para desenvolvedores, engenheiros e cientistas de dados que usam o Snowpark, um dos maiores desafios tem sido acessar os pacotes Python de que eles precisam, bem como gerenciar as dependências dos pacotes carregados on stage. Embora o Snowpark Python já ofereça suporte a pacotes Anaconda e pacotes personalizados, a falta de acesso direto ao amplo ecossistema do Python Package Index (PyPI) exigia etapas adicionais para gerenciar dependências e lidar com as limitações.

Mas, hoje isso mudou. Temos novidades para melhorar ainda mais o desenvolvimento em Snowpark Python! Por isso, é com satisfação que anunciamos o acesso direto ao vasto Python Package Index (PyPI), agora disponível em versão preliminar pública, que revoluciona seu fluxo de trabalho, oferecendo flexibilidade sem precedentes. Imagine poder integrar com facilidade qualquer pacote Python de que você precisa diretamente às funções definidas pelo usuário (user-defined functions, UDFs) do Snowpark Python e aos procedimentos armazenados, sem tempo de espera. Sim, você ouviu direito! O confiável canal Snowflake Anaconda continua disponível e agora você tem a liberdade de acessar todo o ecossistema PyPI, que hospeda mais de 600.000 pacotes Python. 

Essa nova função simplifica muito os fluxos de trabalho de desenvolvimento, mais do que nunca, facilitando a criação e o dimensionamento em escala de aplicações que usam tecnologia Python no Snowflake.

Como isso funciona

O Snowflake conta com um Artifact Repository padrão que permite aos usuários conectar e instalar pacotes PyPI dentro dos procedimentos armazenados e das UDFs do Snowpark. Basta dar acesso a um repositório PyPI integrado e instalar o pacote dentro de uma UDF ou de um procedimento (obtenha mais detalhes sobre o processo em nossa documentação).

Diagram showing how Artifact Repository allows Snowpark users to directly connect and install PyPI packages within UDFs and stored procedures.
Figura 1. O Artifact Repository permite aos usuários do Snowpark conectar e instalar diretamente pacotes PyPI em UDFs e procedimentos armazenados.

"A CARTO, uma plataforma líder de inteligência de localização nativa da nuvem, está colaborando no projeto EMERALDS, financiado pela UE, para trazer análises avançadas de mobilidade para dados de trajetória para a nuvem. Os métodos existentes que usam bibliotecas como PyMEOS e MovingPandas oferecem uma análise de trajetória poderosa, mas não são dimensionáveis em escala para grandes conjuntos de dados ou aplicações em tempo real. Com o Snowflake Artifact Repository, agora podemos integrar esses métodos como UDFs Python, tornando-os facilmente acessíveis e dimensionáveis no Snowflake sem pipelines de dados complexos. Isso facilita para os usuários resolverem desafios de mobilidade, como melhorar a tecnologia de assistência ao motorista, analisando trajetórias de carros autônomos, otimizando modelos de seguro por meio da análise do comportamento do motorista e melhorando o planejamento da rede, mapeando os padrões de movimento do usuário."

Giulia Carella
Principal Data Scientist, CARTO

Vantagens

O suporte aprimorado do Snowflake para pacotes PyPI em procedimentos e UDFs do Snowpark traz muitas vantagens:

  • Acesso instantâneo, sem esforço: agora, qualquer pacote PyPI (whl) está ao seu alcance. 

  • Oferece possibilidades ilimitadas: use qualquer pacote `.whl` do PyPI e até o Snowpark Optimized Warehouse para pacotes específicos de arquitetura de CPU x86. Para opções personalizadas, os usuários podem enviar esses pacotes para uma área de teste (stage) e importá-los para uma UDF ou procedimento armazenado. 

  • Desenvolvimento simplificado: simplifique bastante o processo de desenvolvimento, tornando a criação e o dimensionamento em escala de aplicações com tecnologia Python no Snowflake mais rápido e fácil do que nunca.

Isso garante uma experiência contínua e segura para as organizações. Os usuários não precisam instalar pacotes o tempo todo para realizar um trabalho de análise ou engenharia de dados. Em vez disso, eles só precisam especificar o nome do pacote como parte do ARTIFACT_REPOSITORY_PACKAGES. O pacote é instalado, em segundo plano, no ambiente de sandbox associado ao armazenamento virtual. Para simplificar, o Snowflake fornece um Artifact Repository padrão chamado SNOWFLAKE.SNOWPARK.PYPI_SHARED_REPOSITORY, utilizado para conectar e instalar pacotes PyPI. É necessário que um ACCOUTADMIN conceda acesso a uma função (ROLE) para habilitar o uso. Em segundo plano, também armazenamos os pacotes em cache para evitar o acesso constante ao PyPI, pois isso ajuda a melhorar o desempenho. 

"Na Tacoma Public Utilities, hospedamos nossos pipelines de dados em procedimentos armazenados Snowflake Python, alguns dos quais exigem bibliotecas Python não incluídas no canal Anaconda. Por exemplo, usamos o PGPy para criptografar dados compartilhados com parceiros, que os analisam para identificar oportunidades de eficiência energética para nossos clientes. Anteriormente, a incorporação de bibliotecas não Anaconda era complicada, exigindo downloads manuais, uploads para um servidor de stage Snowflake e manutenção contínua de versões estáticas da biblioteca. Com o novo recurso Artifact Repository, agora podemos nos integrar perfeitamente ao PyPI, simplificando a configuração e eliminando a necessidade de gerenciamento manual de versões. Isso garante que nossos dutos sempre tenham acesso aos mais recentes pacotes armazenados, aumentando a eficiência e a confiabilidade."

Nicole Edwards
Data Architecture Manager, Tacoma Public Utilities

Por que isso é importante

  • Os desenvolvedores podem criar aplicações de dados mais avançadas com uma variedade mais ampla de bibliotecas Python.

  • Os engenheiros de dados podem desenvolver pipelines e usar pacotes (como asyncmy, bitstruct, stumpy, sparse, etc.) do PyPI em vários casos de uso, desde enriquecimento de dados, ingestão, transformação, validação e muito mais. 

  • Os cientistas de dados podem executar continuamente fluxos de trabalho de aprendizado de máquina usando pacotes já conhecidos, como TensorFlow ou scikit-learn com as versões mais recentes do PyPI.

Como começar

Ter acesso a recursos PyPI traduz-se em mais capacidade, maior flexibilidade e menos atrito. Aproveite um mundo de possibilidades infinitas em Python e melhore o nível de seus projetos Snowpark.

Pronto para o futuro do desenvolvimento no Snowpark Python? Comece a usar o acesso direto ao PyPI hoje mesmo e comprove a diferença! Consulte a documentação de recursos aqui. Além disso, neste artigo, você encontrará um exemplo completo de como usar pacotes PyPI para processamento de dados não estruturados com o Snowpark. 

Share Article

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Onde os dados fazem mais

  • Avaliação gratuita de 30 dias
  • Sem precisar de cartão de crédito
  • Cancele a qualquer hora