You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Fewer files. The big one for me--taking up 2x as many inodes is a problem in an HPC environment.
More portable
Downsides:
Requires a pyarrow dependency for parquet, rather than flexibility about using fastparquet instead.
Requires either breaking exist pyarrow installations, or some term-unlimited multiple format support.
The text was updated successfully, but these errors were encountered:
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:
The text was updated successfully, but these errors were encountered: