3

我们在(Python) 和(R using the packet )中生成了一个parquet文件 。我们注意到了几个问题: DaskDrillSergeant

  1. Dask(ie )的格式fastparquet有 a_metadata和 a_common_metadata文件,而parquetin 中的文件R \ Drill没有这些文件,parquet.crc而是有文件(可以删除)。这些实现之间有什么区别parquet
4

1 回答 1

3

(仅回答1),请单独发布问题,以便于回答)

_metadata并且_common_metadata是 Parquet 数据集不需要的帮助文件,这些文件由 Spark/Dask/Hive/... 用于推断数据集的所有 Parquet 文件的元数据,而无需读取所有文件的页脚。与此相反,Apache Drill 在每个文件夹中(按需)生成一个类似的文件,其中包含所有 Parquet 文件的所有页脚。仅在对数据集的第一次查询时读取所有文件,进一步的查询将仅读取缓存所有页脚的文件。

工具使用_metadata并且_common_metadata应该能够利用它们来获得更快的执行时间,但不依赖于它们进行操作。在它们不存在的情况下,查询引擎只需要读取所有页脚。

于 2017-07-31T12:57:52.470 回答