apache / apache/arrow

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

Đang mở
#12,653 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
17.1k
Fork
4.3k
Merge trung bình
3 ngày 18 giờ
Pull request đã merge (30 ngày)
91

Mô tả

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?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với phần tài liệu Python về dataset nói về việc ghi lượng dữ liệu lớn và tái hiện ví dụ scanner-to-write_dataset trên Windows; so sánh ví dụ này với ví dụ open_dataset |> write_dataset của R. Kiểm tra xem một trong hai phép chuyển đổi được tài liệu hóa có bị crash đối với đầu vào lớn hơn bộ nhớ hay không, và coi issue là hoàn tất khi thao tác được tài liệu hóa hoàn thành mà không làm cạn kiệt bộ nhớ hoặc giới hạn này được tài liệu hóa rõ ràng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python, r
Lĩnh vực
data-engineering
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.