Repolode
pola-rs

pola-rs/polars

Um mecanismo rápido de consultas para DataFrames, escrito em Rust, com bindings para Python, Node.js, R, Rust e SQL.

Alternativa open source a:pandas

Estrelas
40,274
Forks
3,221
Issues abertas
2,953
Último commit
há 24 horas

O que é?

Polars é um mecanismo analítico de consultas para DataFrames, escrito em Rust. Ele oferece execução lazy e eager, e as consultas lazy são otimizadas antes de serem executadas em todos os núcleos de CPU disponíveis. Seu mecanismo de streaming pode processar conjuntos de dados maiores que a memória disponível, trabalhando em partes da consulta por vez.

A API é construída com expressões combináveis, permitindo encadear transformações como filtragem, agrupamento, agregação e ordenação em uma única consulta. Os dados são armazenados no formato colunar Apache Arrow, que permite compartilhamento sem cópia com outras ferramentas baseadas em Arrow. É possível adicionar extensões por meio de plugins de I/O e de expressões, e um backend opcional de GPU acelera consultas em hardware NVIDIA.

Há bindings para Python, Rust, Node.js, R e SQL, e o projeto pode ser instalado via pip, npm, crates.io e o sistema de pacotes do R.

Recursos principais

  • 01Execução lazy e eager com otimização de consultas integrada
  • 02Mecanismo de streaming para conjuntos de dados maiores que a RAM disponível
  • 03Execução vetorizada e multithread
  • 04API baseada em expressões para compor consultas complexas
  • 05Formato colunar Apache Arrow para compartilhamento de dados sem cópia
  • 06Aceleração opcional por GPU NVIDIA e plugins personalizados de I/O ou de expressões

Casos de uso

  • Analisar arquivos Parquet ou CSV grandes demais para caber na memória de uma única máquina
  • Substituir fluxos de trabalho mais lentos com pandas por filtros e agregações agrupadas mais rápidos
  • Criar pipelines de dados em Rust ou Node.js que precisam de um mecanismo de DataFrame
  • Executar cargas de trabalho de consultas escaláveis que possam ser estendidas a um cluster

Início rápido

  1. 1

    Instale o Polars para Python com pip

    pip install polars
  2. 2

    Execute uma consulta lazy em um arquivo Parquet (substitua orders.parquet pelo nome do seu arquivo)

Antes de usar

  • A instalação para Python é a opção mais simples; compilar a partir do código-fonte requer a toolchain do Rust e o maturin.

Tópicos

#dataframe#query-engine#rust#python#data-processing#arrow#columnar#analytics#dataframe-library#dataframes

Perguntas frequentes

O que é polars?
Um mecanismo rápido de consultas para DataFrames, escrito em Rust, com bindings para Python, Node.js, R, Rust e SQL. Polars é um mecanismo analítico de consultas para DataFrames, escrito em Rust. Ele oferece execução lazy e eager, e as consultas lazy são otimizadas antes de serem executadas em todos os núcleos de CPU disponíveis. Seu mecanismo de streaming pode processar conjuntos de dados maiores que a memória disponível, trabalhando em partes da consulta por vez.
polars é gratuito? Qual é a licença?
polars é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
polars ainda é mantido?
Manutenção ativa. O último commit de polars foi em 6 de nov. de 2026.
Para que posso usar polars?
Analisar arquivos Parquet ou CSV grandes demais para caber na memória de uma única máquina Substituir fluxos de trabalho mais lentos com pandas por filtros e agregações agrupadas mais rápidos Criar pipelines de dados em Rust ou Node.js que precisam de um mecanismo de DataFrame Executar cargas de trabalho de consultas escaláveis que possam ser estendidas a um cluster
Como instalar polars?
Instale o Polars para Python com pip: pip install polars Execute uma consulta lazy em um arquivo Parquet (substitua orders.parquet pelo nome do seu arquivo)
Onde consigo polars?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pola-rs/polars

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Um acelerador para Spark que executa operadores de Spark SQL e DataFrame sobre dados colunares do Apache Arrow com um mecanismo Rust baseado em DataFusion, sem alterações no código.

Dados e análise#spark#arrow#datafusion
1,3 mil+9 esta semana413ScalaApache-2.0Atualizado ontem