Conversion from one dataset to another that will not fit in memory?
- 主要語言
- C++
- 星號
- 17.1k
- 分支
- 4.3k
- 平均合併
- 3 天 20 小時
- 30 天內合併 PR
- 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