Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 拼花地板文件大小如何随Spark数据集中的计数而变化_Apache Spark_Parquet - Fatal编程技术网

Apache spark 拼花地板文件大小如何随Spark数据集中的计数而变化

Apache spark 拼花地板文件大小如何随Spark数据集中的计数而变化,apache-spark,parquet,Apache Spark,Parquet,我遇到了一个场景,其中spark数据集有24列,其中我按前22列进行分组,并对后两列进行汇总 我从查询中删除了group by,现在已经选择了所有24列。 数据集的初始计数为79304 在我删除group by之后,计数增加到138204,这是可以理解的,因为我删除了group by 但我不清楚拼花地板文件的初始大小是2.3MB,但后来它减小到1.5MB。谁能帮我理解这一点 也不是每次尺寸减小时, 我在22个专栏中也有类似的场景 之前的计数为35298226,删除group by后的计数为598

我遇到了一个场景,其中spark数据集有24列,其中我按前22列进行分组,并对后两列进行汇总

我从查询中删除了group by,现在已经选择了所有24列。 数据集的初始计数为79304

在我删除group by之后,计数增加到138204,这是可以理解的,因为我删除了group by

但我不清楚拼花地板文件的初始大小是2.3MB,但后来它减小到1.5MB。谁能帮我理解这一点

也不是每次尺寸减小时, 我在22个专栏中也有类似的场景 之前的计数为35298226,删除group by后的计数为59874208
在这里,尺寸从466.5MB增加到509.8MB,在处理拼花地板尺寸时,这与行数无关,而与数据本身有关。 Parquet是面向列的格式,因此它按列存储数据并按列压缩数据。因此,问题不在于行的数量,而在于列的多样性


拼花地板将做得更好的压缩,因为在表中最多样化的列的多样性。因此,如果您有一列数据框,它将被压缩为列值之间的距离。

在处理拼花地板尺寸时,它与行数无关,而是与它自身的数据有关。 Parquet是面向列的格式,因此它按列存储数据并按列压缩数据。因此,问题不在于行的数量,而在于列的多样性


拼花地板将做得更好的压缩,因为在表中最多样化的列的多样性。因此,如果您有一个列数据帧,它将被压缩为列值之间的距离。

非常清楚的解释+1.因此,即使是相同的数据,当我删除相同数据的group by时,压缩会发生变化??在不知道数据是什么的情况下很难回答。但是如果我们谈论的是24列,那么是的,压缩的质量会改变。即使在某种程度上,分组数据可能比原始数据更重要。正如我所说,压缩的质量与表中最多样化的列的多样性相同。由于分组更改了表中最多样化的列,因此可能会出现这种情况。非常详细。谢谢你的解释+1.因此,即使是相同的数据,当我删除相同数据的group by时,压缩会发生变化??在不知道数据是什么的情况下很难回答。但是如果我们谈论的是24列,那么是的,压缩的质量会改变。即使在某种程度上,分组数据可能比原始数据更重要。正如我所说,压缩的质量与表中最多样化的列的多样性相同。由于分组更改了表中最多样化的列,因此可能会出现这种情况。非常详细。谢谢