Format Atlas

Comparar

Arrow vs ORC

Apache Arrow é uma representação colunar em memória, independente de linguagem, para análise e intercâmbio. ORC é um formato de arquivo colunar que organiza linhas em stripes com dados de colunas, índices e estatísticas para leitura analítica.

Qual formato você deve escolher?

Escolha Arrow para transferir tabelas com eficiência entre processos ou sistemas em memória. Considere ORC para data lakes persistentes ou fluxos Hive que aproveitam compressão, seleção de colunas e leitura por stripe. Não confunda o layout em memória Arrow com arquivos IPC.

Indicado para Apache Arrow IPC

Trocar dados tabulares colunares entre programas e linguagens compatíveis · Transferir conjuntos de dados analíticos entre ferramentas com suporte a Arrow

  • Mover dados tipados entre bibliotecas Arrow e mecanismos analíticos
  • Acessar lotes de registros aleatoriamente no formato de arquivo IPC

Indicado para ORC

Guardar grandes tabelas estruturadas para análise

  • Consultas que leem colunas escolhidas e usam índices

Informações básicas

CampoApache Arrow IPCORC
Extensão.arrow, .feather, .arrows.orc
Tipo MIMEapplication/vnd.apache.arrow.file, application/vnd.apache.arrow.streamapplication/vnd.apache.orc
Usos comunsTrocar dados tabulares colunares entre programas e linguagens compatíveis · Transferir conjuntos de dados analíticos entre ferramentas com suporte a ArrowGuardar grandes tabelas estruturadas para análise
Como abrirLeia com uma biblioteca Apache Arrow ou uma ferramenta analítica compatível com Arrow IPC. A extensão .arrow costuma indicar o formato de arquivo e .arrows o formato de fluxo, mas confirme o que a ferramenta receptora espera e quais codecs aceita. Para arquivos Feather, verifique a compatibilidade com o antigo Feather V1.Use ferramenta ORC para conferir esquema, colunas, linhas, compressão e valores de exemplo.
Exportar ou converterParquet pode ser adequado para armazenar e distribuir dados analíticos; CSV, para troca simples de tabelas. A conversão pode alterar ou descartar tipos próprios do Arrow, estruturas aninhadas, codificação por dicionário ou configurações de compressão. Confira os tipos e a precisão necessários e mantenha os dados de origem.Ao converter para Parquet ou CSV, confira tipos, nulos, datas, decimais, partições e linhas.

Escolha por finalidade

Mover dados tipados entre bibliotecas Arrow e mecanismos analíticos

Trocar dados tabulares colunares entre programas e linguagens compatíveis · Transferir conjuntos de dados analíticos entre ferramentas com suporte a Arrow

Apache Arrow IPC

Acessar lotes de registros aleatoriamente no formato de arquivo IPC

Trocar dados tabulares colunares entre programas e linguagens compatíveis · Transferir conjuntos de dados analíticos entre ferramentas com suporte a Arrow

Apache Arrow IPC

Consultas que leem colunas escolhidas e usam índices

Guardar grandes tabelas estruturadas para análise

ORC

Ponto principal 1

Arrow especifica arrays, buffers e tipos em memória, permitindo compartilhamento sem cópia em certos casos. ORC usa fluxos de colunas, stripes, índices e estatísticas no rodapé.

Mais sobre as diferenças

Ponto principal 2

Arrow se concentra em representação e transporte em memória; ORC, em armazenamento persistente comprimido e leituras analíticas seletivas.

Mais sobre as diferenças

Mais sobre as diferenças

Use Arrow para análises e transferências interoperáveis em memória. Use ORC quando o ecossistema de armazenamento e consultas aceitar seu layout e aproveitar seleção de colunas e índices. Avalie cargas representativas.

  • Arrow define arrays e buffers colunares em memória. Arrow IPC serializa essa representação; ORC define outra estrutura em disco, com stripes e fluxos de colunas.
  • ORC pode usar compressão, projeção de colunas e índices para reduzir os dados lidos. A especificação principal do Arrow é um formato de memória, não substitui todos os formatos persistentes.
  • Confira suporte de leitores e gravadores e o mapeamento de tipos, nulos, timestamps e decimais. Compare tamanho e desempenho com codecs, engines e consultas reais.

Perguntas frequentes

Um arquivo de tabela Arrow é o mesmo formato que ORC?

Não. Arrow define um formato colunar em memória e formatos IPC separados; ORC é um formato de arquivo próprio.

Saiba mais

Referências e especificações