Snowflake Python APIs: Gerenciamento de objetos Snowflake com Python¶
O pacote Snowflake Python APIs é uma biblioteca unificada que conecta perfeitamente o Python com as cargas de trabalho do Snowflake. O objetivo é fornecer APIs abrangentes para interagir com os recursos do Snowflake em engenharia de dados, Snowpark, Snowpark ML e cargas de trabalho de aplicativos usando uma Python APIde primeira classe.
É possível usar o Snowflake Python APIs para gerenciar recursos Snowflake criando, descartando ou alterando-os, dentre muitas outras opções. Você pode usar Python para executar tarefas que você poderia executar com os comandos SQL do Snowflake.
O diagrama a seguir mostra a estrutura de empacotamento do Snowflake Python APIs de alto nível:
Para saber mais sobre a API, incluindo seus conceitos gerais e padrões de design, consulte Snowflake Python APIs: conceitos gerais.
Objetos de recurso Snowflake compatíveis¶
Com o Snowflake Python APIs, é possível gerenciar atualmente os seguintes objetos de recurso do Snowflake (versão mínima da API necessária entre parênteses):
-
Contas (0.13.0)
Contas gerenciadas (0.13.0)
Alertas (0.13.0)
-
Volumes externos (0.13.0)
Canais (0.13.0)
Estágios (0.9.0)
Databases and database objects
Tabelas dinâmicas (0.10.0)
Tabelas de evento (0.13.0)
Exibições (0.13.0)
-
Procedimentos armazenados (0.13.0)
-
Integrações de catálogo (0.13.0)
Integrações de notificação (0.13.0)
Políticas de rede (0.13.0)
Notebooks (0.13.0)
Fluxos (0.13.0)
-
Usuários (0.9.0)
Funções (0.9.0)
Funções de banco de dados (0.13.1)
Privilégios de acesso (0.13.1)
Ecossistema Python em Snowflake¶
O Snowflake Python APIs, a API Snowpark para Python e o Snowflake Connector para Python são interfaces que têm propósitos distintos no Snowflake. Esta seção explica suas diferenças e descreve os casos de uso típicos de cada uma.
- Snowflake Python APIs
Você pode usar este conjunto APIs de Python de primeira classe para definir e gerenciar recursos principais (como tabelas, warehouses e tarefas) em cargas de trabalho do Snowflake. Ao contrário do Python Connector, estas APIs interagem com Snowflake usando Python nativo sem a necessidade de usar SQL.
O pacote Snowflake Python APIs unifica todas as bibliotecas Python do Snowflake (incluindo
connector
,core
,snowpark
eml
) para que você possa simplesmente começar com o comandopip install snowflake
.Seguindo a abordagem de programação declarativa, esta API pode ser usado como uma ferramenta DevOps para gerenciar alterações em seus recursos e automatizar a implantação de código e infraestrutura no Snowflake.
- Snowpark
Este conjunto de bibliotecas e ambientes de execução de código pode executar Python e outras linguagens de programação junto com seus dados no Snowflake.
Bibliotecas: com o Snowpark API, você pode usar o Snowpark DataFrames no seu código para consultar e transformar dados inteiramente dentro do Snowflake. Os aplicativos Snowpark processam seus dados em escala diretamente no mecanismo Snowflake sem mover os dados para o sistema onde o código do aplicativo é executado.
A API Snowpark está disponível em Python, Java e Scala.
Ambientes de execução de código: os ambientes de execução do Snowpark oferecem suporte a imagens de contêiner e códigos Python, Java e Scala.
Você pode executar código Python personalizado por meio de funções definidas pelo usuário Python (UDFs) ou procedimentos armazenados para criar pipelines de dados, aplicativos e muito mais. Os ambientes de tempo de execução Python têm acesso a um repositório de pacotes e ao gerenciador de pacotes do Anaconda.
Ambientes de tempo de execução também estão disponíveis em Scala e Java.
Você pode executar aplicativos em contêineres diretamente no Snowflake usando Snowpark Container Services.
- Conector Snowflake para Python
Use este driver SQL para conectar-se ao Snowflake, executar instruções SQL e, em seguida, obter os resultados usando um cliente Python.
Com o Python Connector, você escreve todas as suas interações com o Snowflake usando cadeias de caracteres de instruções SQL.
Introdução ao Snowflake Python APIs¶
Para começar a usar o Snowflake Python APIs, consulte as instruções nos tópicos a seguir:
Para tutoriais sobre como começar a usar o Snowflake Python APIs, consulte Tutoriais: Introdução ao Snowflake Python APIs.
Versões Python compatíveis¶
As versões suportadas do Python são:
3.9
3,10
3,11
3,12
Guias do desenvolvedor¶
Guia |
Descrição |
---|---|
Instale o pacote Snowflake Python APIs. |
|
Conecte-se ao Snowflake a partir do código Python. |
|
Gerenciamento de contas Snowflake e contas gerenciadas com Python |
Use a API para criar e administrar contas e contas gerenciadas. |
Use a API para criar e gerenciar alertas. |
|
Gerenciamento de recursos de carregamento e descarregamento de dados com Python |
Use a API para criar e gerenciar recursos de carregamento e descarregamento de dados, incluindo volumes externos, canais e estágios. |
Gerenciamento de bancos de dados, esquemas, tabelas e exibições Snowflake com Python |
Use a API para criar e gerenciar bancos de dados, esquemas e tabelas. |
Use a API para criar e gerenciar tabelas dinâmicas. |
|
Gerenciamento de funções Snowflake e procedimentos armazenados com Python |
Use a API para criar e gerenciar funções definidas pelo usuário (UDFs) e procedimentos armazenados. |
Use a API para criar e gerenciar integrações de catálogo e integrações de notificação. |
|
Use a API para criar e gerenciar políticas de rede. |
|
Use a API para criar e gerenciar Snowflake Notebooks. |
|
Gerenciamento do Snowpark Container Services (incluindo funções de serviço) com Python |
Use a API para gerenciar componentes do Snowpark Container Services, incluindo pools de computação, repositórios de imagens, serviços e funções de serviço. |
Use a API para criar e gerenciar fluxos. |
|
Gerenciamento de tarefas e gráficos de tarefas do Snowflake com Python |
Use a API para criar, executar e gerenciar tarefas e gráficos de tarefas. |
Gerenciamento de usuários, funções e concessões Snowflake com Python |
Use a API para criar e gerenciar usuários, funções e concessões. |
Gerenciamento de warehouses virtuais do Snowflake com Python |
Use a API para criar e gerenciar warehouses virtuais. |
Referências¶
Referência da Snowflake Python APIs
Custos de acesso ao Snowflake¶
Para reduzir custos – tanto de crédito de uso quanto de atividade de rede – o Snowflake Python APIs foi projetado para se comunicar com o Snowflake somente quando você chama métodos projetados para sincronizar com o Snowflake.
Os objetos na API são referências locais (ou manipuladores) ou instantâneos de estado armazenados no Snowflake. Em geral, ao processar informações recuperadas do Snowflake, você faz isso por meio de um objeto de referência local na memória.
Essas referências não são sincronizadas com o Snowflake até que você chame um método. Quando você chama um método, geralmente incorre em custos tanto no crédito de uso quanto na atividade da rede. Por outro lado, quando você trabalha com referências na memória, como ao acessar atributos, seu trabalho é executado localmente e não incorre em tais custos.