微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

brotli如何在INT64上比INT32上实现更好的Parquet文件压缩?

如何解决brotli如何在INT64上比INT32上实现更好的Parquet文件压缩?

我进行了一些实验,在其中我通过brotli压缩将随机整数的DataFrame保存到镶木地板中。我的测试之一是找到存储为32位整数与64位整数之间的大小比:

df = pd.DataFrame(
    np.random.randint(0,10000000,size=(1000000,4)),columns=["a","b","c","d"]
)

df.astype("Int32").to_parquet("/tmp/i32.parquet",compression="brotli")
i32_size = int(Path("/tmp/i32.parquet").stat().st_size)

df.astype("Int64").to_parquet("/tmp/i64.parquet",compression="brotli")
i64_size = int(Path("/tmp/i64.parquet").stat().st_size)

print(i64_size / i32_size)

我希望它输出的数字大于1,因为我希望INT64大于INT32,但实际上我得到的是〜0.96。为什么呢?

我已经使用parquet-tools进行了检查,文件肯定分别保存为INT32和INT64。如果我尝试使用gzip压缩,则得到的比率> 1。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。