You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/09/10 11:22:15 UTC

[GitHub] [arrow-rs] alamb commented on issue #47: [Parquet] Too many open files (os error 24)

alamb commented on issue #47:
URL: https://github.com/apache/arrow-rs/issues/47#issuecomment-1242708749

   Hi @jinyius 
   
   There has been some non trivial work by @tustvold  to support reading parquet files without having to clone filehandles -- e.g. https://docs.rs/parquet/22.0.0/parquet/file/serialized_reader/struct.SerializedFileReader.html now takes a `ChunkReader` which is implemented on Bytes. 
   
   https://docs.rs/parquet/22.0.0/parquet/file/reader/trait.ChunkReader.html
   
   Thus, in order to read such a file, you can buffer it into `Bytes` https://docs.rs/parquet/22.0.0/parquet/file/reader/trait.ChunkReader.html#impl-ChunkReader-for-Bytes
   
   Perhaps with something like this (untested):
   
   ```rust
   let mut v = vec![];
   let parquet_file: File = open_your_parquet_file();
   // read parquet into memory (TODO error checking)
   parquet_file.read_to_end(&mut v).unwrap();
   
   // convert to Bytes so we can read the file 
   let b: Bytes = v.into();
   let reader = SerializedFileReader::new(b).unwrap();
   ```
   
   >  any update here as it's been a year? i can provide some test parquet files that triggers this issue if that helps.
   
   If you could provide an example file and the code you are using that shows the error, I would be happy to help try and apply the method above. If it works for you, I think we should update the documentation to explain this
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org