2

我有一个数据集,其中包含近 20 亿行镶木地板格式,包含 200 个文件。它在 S3 上占用 17.4GB。该数据集有接近 45% 的重复行。我使用 Spark 中的“distinct”函数对数据集进行了重复数据删除,并将其写入 S3 上的不同位置。

我预计数据存储将减少一半。相反,去重数据占用了 34.4 GB(重复数据的两倍)。

我检查了这两个数据集的元数据。我发现重复数据和去重数据的列编码存在差异。

列编码的差异

我想了解如何获得减少存储大小的预期行为。

话虽如此,我还有几个问题:

  1. 我还想了解这种异常是否会以任何方式影响性能。在我的过程中,我必须在这些列上应用大量过滤器并distinct在保留过滤数据的同时使用函数。
  2. 我在网上的一些镶木地板博客中看到,一列的编码只是一个。在这种情况下,我看到不止一个列编码。这是正常的吗?
4

0 回答 0