The used SeekableInputStream and all other components of the ParquetFileReader already support random access and row groups should be independent of each other.
This would allow reusing the opened InputStream when you want to go back a row group. It also makes accessing specific row groups a lot easier.
I've already developed a patch that would enable this functionality. I will link the merge request in the next few days.
Is there a related ticket that i have overlooked?