gpt4 book ai didi

apache-spark - Spark 输出 JSON 与 Parquet 文件大小差异

转载 作者:行者123 更新时间:2023-12-05 05:15:13 27 4
gpt4 key购买 nike

这里是新的 Spark 用户。我无法通过 Spark 找到有关同一数据帧的 JSON 和 Parquet 输出之间的文件大小比较的任何信息。

目前使用非常小的数据集进行测试,执行 df.toJSON().collect() 然后写入磁盘会创建一个 15kb 的文件。但是执行 df.write.parquet 会创建 105 个文件,每个文件大约 1.1kb。为什么在这种情况下使用 parquet 的总文件大小比使用 JSON 大得多?

提前致谢

最佳答案

您使用 df.toJSON.collect 所做的是从所有数据(在您的情况下为 15kb)中获取单个 JSON 并将其保存到磁盘 - 这对于您想要使用的情况而言不可扩展以任何方式激发灵感。

为了保存 Parquet ,您使用的是 spark 内置函数,并且由于某种原因,您似乎有 105 个分区(可能是您进行操作的结果),所以您得到 105 个文件。这些文件中的每一个都有文件结构的开销,并且可能存储 0,1 或 2 条记录。如果你想保存一个文件,你应该在保存之前合并(1)(同样这只是为了你的玩具示例)所以你会得到 1 个文件。请注意,由于文件格式开销,它仍然可能更大(即开销可能仍然大于压缩 yield )

关于apache-spark - Spark 输出 JSON 与 Parquet 文件大小差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51827042/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com