2017-08-14 55 views

回答

0

这实质上是因为parquet是一种列式存储格式。因此,我们可以说你已经存储了1GB大小的3GB文件。要阅读整条记录,如果每列的信息不在一个单独的块中(这可能是因为柱状格式),则需要重新构建记录,这意味着必须在一台机器中重构需要的记录从其他节点传输数据以重新组装记录。

编辑:

对于下面的图像,其比较的行存储针对列存储,想象列费用不适合您的块大小,这意味着该列将是你的块之外,将创建一个新的块。如果要将数据用于整个特定行,则需要将费用列的数据发送给另一个无效的节点。我希望这是有道理的。

enter image description here

+0

“1GB行组,1GB HDFS块大小”足以避免传输数据,不是吗? – cola

+0

你是对的,但要实现列式存储中的数据,你将需要1GB文件 – hlagos

+0

为什么需要1GB文件? – cola