Open bmschmidt opened 3 years ago
Goes without saying I'm volunteering to do these tasks. Can push to the Denver repo first. I've decided to move my personal workflow away from feather from parquet because it's more space-efficient, but would need these cghanges to do it.
I think that's fine. In the short term, I wouldn't want to make the json metadata unsupported - perhaps just discouraged - because it's too soon after the last changes.
Hmm. Does raise an issue though. The current schema makes it sensible to store only, say, character counts as parquet, in which case you'd need to bind the metadata to all three... Rather than deprecate or discourage json metadata, I'll just allow it to be written, but also include the metadata in tokenlist and read from there first.
I've been happily using feather the last year as a backend with volume metadata on the files.
But parquet is smaller than feather, and also supports volume and chunk-level metadata.
So rather than storing metadata in a separate
.json
file, I propose storing the data in the footer of the parquet file, and caching it when needed with pyarrow.parquet.read_metadata.Reason:
Downsides: