apache / apache/arrow

Conversion from one dataset to another that will not fit in memory?

Aberta
#12,653 6 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
C++
Estrelas
17.1k
Forks
4.3k
Merge médio
3d 20h
PRs com merge (30d)
94

Descrição

Having found the following description in the documentation, I tried the operation of scanning a dataset larger than memory and writing it to another dataset.

https://arrow.apache.org/docs/python/dataset.html#writing-large-amounts-of-data

> The above examples wrote data from a table. If you are writing a large amount of data you may not be able to load everything into a single in-memory table. Fortunately, the write_dataset() method also accepts an iterable of record batches. This makes it really simple, for example, to repartition a large dataset without loading the entire dataset into memory:

```python
import pyarrow.dataset as ds

input_dataset = ds.dataset("input")
ds.write_dataset(inpute_dataset.scanner(), "output", format="parquet")
```

```r
arrow::open_dataset("input") |>
arrow::write_dataset("output")
```

But both Python and R on Windows crashed due to lack of memory. Am I missing something?
Is there a recommended way to convert one dataset to another without running out of computer memory?

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pela seção da documentação de Python sobre datasets dedicada à escrita de grandes quantidades de dados e reproduza o exemplo scanner-to-write_dataset no Windows; compare-o com o exemplo do R open_dataset |> write_dataset. Verifique se alguma das duas conversões documentadas falha para uma entrada maior que a memória disponível e considere a issue concluída quando a operação documentada for concluída sem esgotar a memória ou quando a limitação estiver claramente documentada.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python, r
Domínio
data-engineering
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.