Desenvolvimento de aplicativos e extensões

Você pode escrever aplicativos que estendem o Snowflake, atuar como cliente ou atuar como um componente integrador.

Consulta e processamento de dados com a API Snowpark

Usando as APIs Snowpark em Java, Python ou Scala, é possível criar aplicativos que processam dados no Snowflake sem mover os dados para o sistema em que o código do aplicativo é executado.

Com o Snowpark, você pode:

  • Criar aplicativos, pipelines e lógica de processamento definidos como Java, Python ou Scala.

  • Criar instruções de dados usando bibliotecas que se integram nativamente com as linguagens suportadas.

  • Reduzir a sobrecarga da transferência de dados de e para o Snowflake ao processar os dados.

  • Criar funções definidas pelo usuário ao escrever em Java, Python ou Scala. Snowflake gera o código SQL necessário nos bastidores.

Para uma Visão geral do Snowpark, consulte API Snowpark.

Guias do desenvolvedor

Guia

Descrição

Um guia e uma referência para escrever código do Snowpark em Java.

Um guia e uma referência para escrever código do Snowpark em Python.

Um guia e uma referência para escrever código do Snowpark em Scala.

Registro de mensagens de funções e procedimentos

Um guia para escrever código para registrar mensagens de log armazenadas em uma tabela de eventos.

Eventos de rastreamento para funções e procedimentos

Um guia para escrever código para registrar dados de rastreamento armazenados em uma tabela de eventos.

Guias de início rápido

Você pode usar os seguintes tutoriais de início rápido para obter uma introdução prática ao Snowpark.

ML Snowpark

Snowpark ML é uma biblioteca Python para aprendizado de máquina e ciência de dados no Snowflake, incluindo pré-processamento, modelagem, gerenciamento de modelo e ingestão de dados. Funciona com o Snowpark Python, permitindo que você use o Snowpark DataFrames para dados de treinamento e teste.

Extensão do Snowflake com procedimentos, funções definidas pelo usuário e funções externas

Você pode melhorar e estender o Snowflake escrevendo procedimentos, funções definidas pelo usuário e funções externas.

  • Com um procedimento, você pode realizar operações programadas ou sob demanda executando instruções de código ou SQL. Você escreve a lógica em uma das linguagens de programação suportadas.

  • Com uma função definida pelo usuário (UDF), você pode executar a lógica para calcular e retornar dados. UDFs são úteis para o processamento em lote e para integrar lógica personalizada em SQL. Você escreve a lógica em uma das linguagens de programação suportadas.

  • Com uma função externa, você pode configurar uma integração entre o Snowflake e o código personalizado executado fora do Snowflake, depois use o código personalizado como se fosse uma função definida pelo usuário.

Para saber mais sobre a escolha entre estas duas opções, consulte Escolha se deseja escrever um procedimento armazenado ou uma função definida pelo usuário.

Guias do desenvolvedor

Guia

Descrição

Visão geral dos procedimentos armazenados

Um guia sobre como escrever procedimentos armazenados, como escrever os manipuladores nas linguagens suportadas.

Visão geral das funções definidas pelo usuário

Um guia sobre como escrever UDFs, como escrever os manipuladores nas linguagens suportadas.

Diretrizes de projeto e restrições para funções e procedimentos

Diretrizes gerais sobre segurança, convenções e muito mais.

Empacotamento do código do manipulador

Informações sobre como criar o código do manipulador que você manterá em um estágio.

Visão geral do acesso à rede externa

Um guia para acessar pontos de extremidade de rede externa com UDF e manipuladores de procedimentos.

Como escrever funções externas

Um guia para escrever funções externas, com as quais você pode invocar código em outros sistemas.

Registro de mensagens de funções e procedimentos

Um guia para escrever código para registrar mensagens de log que são armazenadas em uma tabela de eventos.

Eventos de rastreamento para funções e procedimentos

Um guia para escrever código para registrar dados de rastreamento que são armazenados em uma tabela de eventos.

Como criar um aplicativo de cliente com drivers e APIs

Você pode integrar as operações Snowflake em um aplicativo de cliente. Além da API Snowpark, você também pode usar drivers específicos da linguagem e plataforma.

Drivers

Os drivers permitem que você se conecte a partir de seu código ou aplicativos ao Snowflake. Usando linguagens como C#, Go e Python, você pode desenvolver aplicativos que realizam operações no Snowflake. Para obter informações específicas sobre cada um dos drivers que você pode utilizar para acessar o Snowflake, consulte as seções seguintes.

RESTful API

Usando a RESTful API SQL Snowflake, você pode acessar e atualizar dados por HTTPS e REST. Por exemplo, você pode enviar instruções SQL, criar e executar procedimentos armazenados, provisionar usuários etc.

Na REST API SQL, você envia uma instrução SQL para execução no corpo de uma solicitação POST. Em seguida, você verifica o status de execução e busca os resultados com solicitações GET.

Para o guia de desenvolvedores de REST API SQL, consulte REST API SQL Snowflake.

API de Python do Snowflake

A API de Python do Snowflake é a API de Python unificada que você pode usar para gerenciar recursos do Snowflake em cargas de trabalho no Snowflake sem usar comandos SQL.

Por exemplo, você pode usar esta API de Python para criar e gerenciar tarefas, bancos de dados, tabelas e warehouses virtuais do Snowflake.

Para obter o guia do desenvolvedor da API de Python do Snowflake, consulte Snowflake Python API: gerenciamento de objetos Snowflake com Python.

Integração com outros sistemas

Snowflake inclui conectores com APIs para integração com sistemas fora do Snowflake. Consulte os guias do desenvolvedor abaixo para obter detalhes.

Guias do desenvolvedor

Conector

Descrição

Conector Snowflake para Kafka

O Apache Kafka é uma plataforma de transmissão de eventos. Este conector pode enviar eventos de Kafka para Snowflake para ingestão.

Conector Snowflake para Spark

Apache Spark é um mecanismo de análise para processamento de dados em grande escala. O conector Spark pode ser integrado em cargas de trabalho Spark para fazer mais processamento de dados diretamente no Snowflake para reduzir a transferência de dados e melhorar significativamente o desempenho.

Você também pode integrar o Snowflake com muitos outros sistemas para troca de dados, realizando análises com machine learning, aumentando a segurança, e muito mais. Para saber mais sobre a integração do Snowflake com estes sistemas, consulte Ecossistema do Snowflake.

Linguagens suportadas

Snowflake oferece suporte a várias linguagens para a criação de aplicativos e extensões. A tabela a seguir lista as linguagens suportadas para desenvolvimento no Snowflake, juntamente com o que você pode criar com cada uma delas.

Linguagem

Recurso Snowflake

Java

Você pode:

JavaScript

Você pode:

PHP

Você pode:

Python

Você pode:

Scala

Você pode:

Script Snowflake

Você pode:

  • Utilizar constructos de procedimento em SQL, como em procedimentos.

SQL

Você pode: