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:

Diagrama mostrando a estrutura de empacotamento de alto nível da Snowflake Python APIs

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):

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 e ml) para que você possa simplesmente começar com o comando pip 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:

  1. Instale a biblioteca.

  2. Conecte-se ao Snowflake.

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 a biblioteca Snowflake Python APIs.

Instale o pacote Snowflake Python APIs.

Conexão ao Snowflake com o 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.

Gerenciamento de alertas Snowflake com Python

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.

Gerenciamento de tabelas dinâmicas Snowflake com Python

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.

Gerenciamento de integrações do Snowflake com Python

Use a API para criar e gerenciar integrações de catálogo e integrações de notificação.

Gerenciamento de políticas de rede Snowflake com Python

Use a API para criar e gerenciar políticas de rede.

Gerenciamento de Snowflake Notebooks com Python

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.

Gerenciamento de fluxos Snowflake com Python

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.