在 Parquet 中使用嵌套数据类型有什么好处?

use*_*850 1 nested data-files apache-spark parquet

在 Parquet 文件格式中使用嵌套数据类型是否有任何性能优势?

AFAIK Parquet 文件通常是专门为查询服务创建的,例如 Athena,因此创建这些文件的过程也可以简单地展平值 - 从而允许更容易的查询、更简单的架构,并保留每列的列统计信息。

使用嵌套数据类型有什么好处,例如struct

Avi*_*rya 5

在镶木地板中保留嵌套结构会产生负面影响。问题是如果镶木地板文件中有嵌套结构,则火花谓词下推将无法正常工作。

因此,即使您正在处理镶木地板数据集中的几个字段,spark 也会加载并具体化整个数据集。

这是有关此问题已打开很长时间的票证

编辑

该问题已在 spark 2.4 版本中得到解决。