Conversion from one dataset to another that will not fit in memory?
- 主要言語
- C++
- スター
- 17.1k
- フォーク
- 4.3k
- 平均マージ
- 3日 20時間
- マージ済み PR(30日)
- 94
説明
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?
コントリビューションガイド
調査の方向性
Python のデータセットドキュメントにある大量のデータの書き込みに関するセクションから始め、Windows で scanner-to-write_dataset の例を再現します。R の open_dataset |> write_dataset の例と比較してください。文書化されているどちらかの変換が、メモリより大きい入力に対してクラッシュするかを確認し、文書化された操作がメモリを使い果たさずに完了するか、制限が明確に文書化されていれば、issue は完了したものとします。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python, r
- 領域
- data-engineering
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 30/100