我做了一些实验,用brotli压缩将随机整数的数据帧保存到拼花地板上。我的一个测试是找出存储为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.
目前没有回答
相关问题 更多 >
编程相关推荐