Чтение документов "Запись и чтение потоков" . Там использовался следующий код для чтения всего буфера в конце
import pyarrow as pa
sink = pa.BufferOutputStream()
## here loop for reading data to sink
buf = sink.getvalue() # this close sink as well
reader = pa.ipc.open_stream(buf)
Проблема в том, что sink.getvalue()
закрывает поток.
И из doc совершенно непонятно, как читать данные частично, порциямикусок в том же цикле, когда данные записываются в sink
Когда я пытаюсь sink.readall()
или sink.read()
, я получаю ошибку «OSError: допустимо только для файлов только для чтения»: (
В чем причина такогопотоки, если их можно будет прочитать один раз в конце? Это не спасет меня от Out of memory
при чтении таблицы из миллиарда записей