Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support compress UnsafeRow and CompactRow #11497

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

jinchengchenghh
Copy link
Contributor

@jinchengchenghh jinchengchenghh commented Nov 11, 2024

Flush the buffers to IOBufOutputStream, use folly to compress, and record some stats, skip compression when compressedSize/uncompressedSize exceeds minCompressionRatio with default value 0.8.
Serialization format is:
| uncompressedSize | compressedSize | compressed | serializedData for Iterator[Row] |
Test the RowVector with all types and size is 500, the test output is as following:

row kind compression kind uncompressedSize compressedSize compression ratio
UnsafeRow zlib 519344 227749 44%
UnsafeRow snappy 307936 115012 37%
UnsafeRow zstd 689544 273433 40%
UnsafeRow lz4 622688 205956 33%
UnsafeRow gzip 759608 213922 28%
CompactRow zlib 263474 129241 49%
CompactRow snappy 388313 78297 20%
CompactRow zstd 224144 92744 41%
CompactRow lz4 110043 61615 56%
CompactRow gzip 224631 93989 42%

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Nov 11, 2024
Copy link

netlify bot commented Nov 11, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit e67e248
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/673430639d3e5100084ff692

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants