Data Engineering

Crie melhores pipelines de dados: criação e orquestração com SQL e Python no Snowflake

As transformações de dados são o motor das operações de dados modernas, pois elas viabilizam as inovações em IA, análises de dados e aplicações. Essas transformações são a base de qualquer estratégia de dados eficaz, sendo indispensáveis para a criação de pipelines de dados sólidos e dimensionáveis em escala. Recentemente, anunciamos as últimas novidades em produtos do Snowflake para criar e organizar pipelines de dados.

Na atual momento de rápido desenvolvimento da IA, os pipelines são a base para o sucesso dos fluxos de dados. Isso coloca os engenheiros de dados em uma posição-chave. No entanto, muitos deles ainda se veem, com frequência, tendo de lidar com o conflito de prioridades, como: 

  • Configuração e gerenciamento de recursos de processamento e infraestrutura.

  • Depuração de bugs em diferentes stacks.

  • Rastreamento e gestão de mudanças no fluxo de dados.

  • Garantia de agilidade e segurança do desenvolvimento.

  • Gestão de complexidades associadas a volumes cada vez maiores de dados, especialmente dados não estruturados.

Historicamente, o ponto forte do Snowflake é a capacidade de lidar com esses desafios. Durante anos, os esforços da Snowflake têm-se concentrado ativamente na redução dessas complexidades, criando uma plataforma que simplifica os fluxos de trabalho organizacionais, permitindo que as equipes de dados concentrem-se no trabalho de maior valor, ou seja: promover a inovação. Ao otimizar a movimentação de dados brutos da origem ao destino, usando conjuntos de dados especialmente selecionados, liberamos os engenheiros dos custos operacionais. Assim, eles podem focar na inovação.

Para fazer isso, lançamos recursos novos e melhores capazes de simplificar fluxos de trabalho complexos em todo o cenário de engenharia de dados, desde fluxos de trabalho SQL com suporte à colaboração até pipelines mais complexos em Python.

Figura 1. O Snowflake oferece suporte à criação de pipelines de dados com transformações SQL e Python, bem como opções flexíveis de orquestração para simplificar o ciclo de vida dos dados e oferecer suporte a uma ampla variedade de casos de uso e personas de engenharia de dados.
Figura 1. O Snowflake oferece suporte à criação de pipelines de dados com transformações SQL e Python, bem como opções flexíveis de orquestração para simplificar o ciclo de vida dos dados e oferecer suporte a uma ampla variedade de casos de uso e personas de engenharia de dados.

Pipelines de dados acessíveis em SQL

Para muitas organizações, os pipelines SQL são o nível mais básico em termos de transformação de dados, permitindo que mais membros das equipes trabalhem com isso, como analistas de dados, aliviando assim a carga de trabalho dos engenheiros de dados. A natureza modular desses pipelines, que podem ser criados por usuários com diversos níveis de conhecimento de SQL, possibilita a execução de centenas de fluxos de trabalho, com escalabilidade e confiança. Essa estratégia democratizada ajuda a garantir uma base sólida e adaptável.

Apresentando o dbt Projects no Snowflake (em breve, em versão preliminar pública)

No mundo inteiro, as equipes de dados amam o dbt, pois ele traz práticas recomendadas e adiciona eficiência de engenharia de software aos fluxos de trabalho de transformação de dados SQL e Snowpark em seus data warehouses. Ao integrar o dbt diretamente aos serviços gerenciados e de automação do Snowflake, os engenheiros de dados agora podem se concentrar na criação, implementação e monitoramento desses pipelines em vez de gerenciar a infraestrutura ou combinar a observabilidade de vários sistemas.

Agora, os usuários do Snowflake podem criar, carregar, editar e executar projetos dbt de forma nativa no Snowflake (em versão preliminar pública) em uma nova interface do Workspaces. Essa integração nativa torna o desenvolvimento mais simples e o fornecimento de dados transformados muito mais rápido.

Atualizações de Dynamic Tables

Dynamic Tables fornece um método de processamento declarativo para pipelines em lotes e de streaming, que simplifica a configuração de pipelines, oferecendo orquestração automática e processamento de dados contínuo e incremental. Os usuários conseguem ter ampla visibilidade por meio da visualização de DAG, receber alertas em tempo real e se beneficiar dos recursos integrados de qualidade dos dados, o que leva a um gerenciamento de pipeline de dados mais eficiente e confiável. As atualizações incluem:

  • Suporte para Apache Iceberg (atualmente disponível ao público): agora, as Dynamic Tables possuem mais funções com suporte a formatos de tabela aberta, incluindo Apache Iceberg. Os usuários podem criar pipelines de processamento em lote e de streaming em tabelas Apache IcebergTM (usando o Snowflake ou um catálogo externo) com definições declarativas, orquestração automática e maior capacidade de processamento. Os dados resultantes podem ser consultados por qualquer mecanismo do Iceberg. 

  • Baixa latência (em versão preliminar privada): criar pipelines em tempo real com latência completa (desde a ingestão até a transformação) de cerca de 15 segundos. 

  • Melhorias de desempenho (disponível ao público): melhores atualizações incrementais de funções de janela, OUTER JOINs, QUALIFY RANK () = 1 e tabelas agrupadas, bem como novas otimizações de CURRENT_TIMESTAMP e IS_ROLE_IN_SESSION.

  • Definição de integridade (disponível ao público): as novas extensões SQL, IMMUTABLE WHERE e INSERT ONLY, oferecem mais controle em relação à integridade dos dados, evitando que os usuários realizem atualizações ou exclusões. Elas também restringem as modificações de dados com base em condições e preenchem dados dos pipelines existentes para migrações.

Desenvolvimento Python de nível empresarial

O Snowpark possibilita o desenvolvimento em Python de nível empresarial para criar e dimensionar pipelines de dados diretamente no Snowflake. Com o uso de sintaxe Python e Pandas DataFrames já conhecidos, é possível realizar transformações complexas de forma contínua usando o mecanismo elástico do Snowflake, eliminando a movimentação de dados para um processamento eficiente de dados em grande escala. Sem sobrecarga de infraestrutura, o Snowpark lida com o aumento do volume de dados e com as demandas de processamento, oferecendo uma solução Python poderosa e dimensionável em escala.

Atualizações de pandas on Snowflake

pandas on Snowflake integra a flexibilidade de pandas à escalabilidade do Snowflake, simplificando o desenvolvimento de fortes pipelines de dados em Python. Agora, os usuários podem:

  • Integrar várias fontes de dados, incluindo acesso e armazenamento a tabelas do Snowflake, visualizações, Iceberg Tables, Dynamic Tables e formatos de arquivo comuns (CSV, Parquet, Excel, XML).

  • Desenvolver pipelines pandas que podem ser dimensionados desde protótipos iniciais até implementações em produção total, sem alterações de código.

  • Utilizar sintaxes pandas já conhecidas para empregar os recursos analíticos do Snowflake na transformação flexível dos dados, incluindo as funções do Snowflake Cortex AI LLM para o desenvolvimento de fluxos de trabalho impulsionados por IA.

Com o pandas on Snowflake, os desenvolvedores podem criar pipelines de dados Python completos por meio da leitura de uma tabela Iceberg, transformar dados com pandas e salvar o pipeline resultante como uma tabela dinâmica do Iceberg.

Para dar suporte a pipelines pandas em todas as escalas de dados, lançamos a função pandas on Snowflake com Hybrid Execution (versão preliminar privada). Esse novo recurso inovador determina de forma inteligente o backend ideal para executar suas consultas pandas, levando-o ao Snowflake para grandes conjuntos de dados ou em memória com pandas padrão, para suporte a testes e o desenvolvimento rápidos interativos. 

Figure 2: Hybrid execution for pandas on Snowflake intelligently determines whether to run queries by pushing down to Snowflake or locally in-memory with vanilla pandas.
Figure 2: Hybrid execution for pandas on Snowflake intelligently determines whether to run queries by pushing down to Snowflake or locally in-memory with vanilla pandas.

Atualizações do Snowpark

O Snowpark acelera o desenvolvimento de dados, possibilitando a transformação com Python e outras linguagens no Snowflake. Essa extensibilidade é fortemente integrada à segurança e à escalabilidade da plataforma Snowflake, permitindo que os desenvolvedores usem ferramentas familiares sem movimentação de dados ou gerenciamento de infraestrutura separada.

Com o uso do Snowpark, os clientes observaram um desempenho 5,6 vezes mais rápido e uma redução de custos de 41% em média em relação ao Spark tradicional.[1]

O Snowpark agora oferece recursos aprimorados para trazer o código para os dados de forma segura e eficiente em várias linguagens, com suporte ampliado em integração de dados, gerenciamento de pacotes e conectividade segura. As atualizações incluem:

  • Integração de dados: com o suporte para Python DB-API (versão preliminar privada), os desenvolvedores agora podem usar o Snowpark para trazer dados de bancos de dados relacionais externos diretamente para o Snowflake. O Python XML RowTag Reader (versão preliminar privada) permite carregar arquivos XML grandes e aninhados usando uma opção simples de rowTag. Com o uso dessa função, é possível ingerir apenas as partes relevantes de um documento XML e, como resultado, receber uma tabela estruturada para processamento posterior. 

  • Gerenciamento de pacotes: com o Artifact Repository (disponível ao público), nosso suporte flexível para pacotes simplifica o gerenciamento de pacotes para fazer download e instalação fácil de pacotes do PyPI dentro das funções definidas pelo usuário (user-defined functions, UDFs) e dos procedimentos armazenados do Snowpark. Para usuários de pacotes personalizados, agora é possível carregar pacotes com código nativo e importá-los como parte de suas UDFs ou procedimentos armazenados. 

  • Gravações de arquivos do Python UD(T)F (atualmente disponível ao público): o lançamento desta função amplia os recursos gerais do Snowpark para casos de uso de engenharia de dados, especialmente quando é necessário gravar arquivos personalizados em paralelo com as UDFs. Esses exemplos incluem a gravação de arquivos personalizados (por exemplo, arquivos do modelo, arquivos não estruturados, como PDFs e imagens, ou arquivos semiestruturados, como JSON) da função aos Stages e a transformação de arquivos como parte de pipelines de dados no Stage. Agora, é possível transformar arquivos avro orientados por linha em arquivos JSON e dividir arquivos grandes em arquivos menores para serem usados como parte das aplicações do fluxo de trabalho.

Simplificamos o acesso a fontes de dados externos e endpoints do Snowpark com recursos, como suporte ao wildcard nas regras de rede, suporte ao permissão para que todos acessem qualquer endpoint nas regras de rede e integração com AWS IAM para simplificar a conectividade aos recursos AWS. Além disso, o External Access Outbound Private Connectivity agora está disponível em mais regiões, incluindo AWS Gov (disponível ao público), Azure Gov (disponível ao público) e Google Cloud Platform (em versão preliminar privada).

Automatização de pipelines

Orquestração automatizada encontra-se integrada aos fluxos de trabalho de transformação com recursos como Dynamic Tables, com suporte nativo adicional usando o Snowflake Tasks, visando fornecer uma estrutura confiável e com escalabilidade para a execução consistente, sem sobrecarga operacional.

Atualizações de Tasks e Serverless Task

As Tasks e as Serverless Tasks requerem orquestração, pois elas permitem definir fluxos de trabalho complexos como uma série de instruções SQL ou código Python dependentes executadas diretamente dentro do Snowflake, eliminando a necessidade de ferramentas de orquestração externas. Essa estreita integração simplifica o gerenciamento e utiliza os sólidos recursos de processamento do Snowflake para uma automação confiável e econômica. Em 2024, realizamos diversas melhorias nesses recursos de orquestração nativa, incluindo: 

  • Melhorias do Task Graph: defina fluxos de trabalho mais avançados para modelar pipelines de dados com novas visualizações e notificações. Agora, é possível enviar notificações para serviços de mensagens na nuvem após a conclusão bem-sucedida de um Task Graph (com possibilidade de ativar ações em etapas posteriores) e visualizar a representação gráfica de dependências de execução de tarefas com informações de metadados para tarefas.

  • Acionamento de tarefas: realize tarefas imediatamente quando novos dados chegarem às tabelas de origem com processamento baseado em eventos para SQL e Snowpark. Agora, você também pode criar uma tarefa sem precisar especificar um cronograma ou um armazenamento virtual. Além disso, é possível executar tarefas automaticamente quando os dados vierem de um compartilhamento de dados ou de tabelas de diretórios (em adição ao suporte já existente para tabelas, visualizações, tabelas dinâmicas e Iceberg). 

  • Agendador de tarefas de baixa latência: organize pipelines de dados de forma confiável com intervalos de 10 segundos para processar dados com frequência.

  • Controles de governança e otimização: controle as otimizações de custo e de desempenho em tarefas que não precisam de servidor. 

  • Edição de tarefas no Snowsight: edite tarefas existentes a partir do menu de ações para alterar a programação, o processamento, os parâmetros ou adicionar comentários. 

  • Automação de Python/JVM: automatize UDFs (Python/JVM) e procedimentos armazenados em tarefas sem servidor.

Experiência de pipeline mais completa com o Snowflake

O Snowflake continua a evoluir como o mecanismo central para operações modernas de dados, fornecendo um amplo conjunto de ferramentas para criar e organizar pipelines de dados de forma fácil e eficiente. Com a acessibilidade do SQL, o poder do dbt e a flexibilidade do Python (via Snowpark e pandas), as atualizações mais recentes capacitam engenheiros de dados a superar complexidades operacionais e a focar na inovação. Ao aproximar o código dos dados, simplificar os fluxos de trabalho e melhorar o desempenho em diversos casos de uso e conjuntos de habilidades, a Snowflake tem o compromisso de possibilitar que as equipes de dados liberem todo o potencial de seus dados no atual cenário ágil e orientado por IA.

Quer conhecer melhor esses recursos e muito mais? Assista às sessões do Data Engineering Connect, realizado em 29 de julho de 2025. 

 


Declarações prospectivas:

Este artigo contém declarações prospectivas, inclusive sobre nossas futuras ofertas de produtos. Elas não constituem compromissos de fornecimento ou produção de quaisquer ofertas de produtos. Os resultados e os produtos reais podem diferir e estão sujeitos a riscos e incertezas conhecidos e desconhecidos. Consulte nosso documento 10-Q mais recente para obter mais informações.

 

1Com base em casos de uso de produção de clientes e testes de prova de conceito comparando a velocidade e os custos do Snowpark em relação aos serviços Spark gerenciados no período de novembro de 2022 a maio de 2025. Todas as conclusões referem-se a resultados de clientes reais, com base em dados verídicos, não representando conjuntos de dados fabricados para benchmarks.

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