使用to_parquet函数创建的dask实木复合地板文件结构

时间:2019-12-03 14:05:48

标签: dask parquet

这更多是一个理论上和直觉上的问题。 当我在dask_dataframe.to_parquet()中为partition_on变量提供列列表时,它按提供的列顺序创建了类似Directory的结构,提供的列更像是嵌套结构。

但是,实木复合地板的实际文档说这是一种列存储数据结构,如果我们向其提供列列表,则它将基于这些列创建分区,即所有行(如果不是,rowsize不是指定的列)放在一个分区中。敏捷的to_parquet做正确的方式吗?

1 个答案:

答案 0 :(得分:1)

  

实木复合地板的实际记录说

典范实木复合地板文档未解决将数据集拆分为多个文件的问题。我相信,目录结构和可选的特殊_metadata文件是Hive首先设计的约定。它是标准实木复合地板规格的附加内容,但并不违反标准。

每个数据文件包含许多行,并且本身就是一个有效的镶木地板数据集,包含一个或多个“行组”(镶木地板的逻辑分区),每一列都写入文件的单独部分并进行编码作为许多“页面”。 Parquet允许字典编码,但这是每页的事情,并且没有全局分类标签方案,因此将值编码到路径名中非常有用,并且还允许对我们要过滤的文件进行预过滤。访问,只需要一些值。

简短的回答:是的,dask在做正确的事!

相关问题