我们在(Python) 和(R using the packet )中生成了一个parquet
文件 。我们注意到了几个问题: Dask
Drill
Sergeant
Dask
(ie )的格式fastparquet
有 a_metadata
和 a_common_metadata
文件,而parquet
in 中的文件R \ Drill
没有这些文件,parquet.crc
而是有文件(可以删除)。这些实现之间有什么区别parquet
?
我们在(Python) 和(R using the packet )中生成了一个parquet
文件 。我们注意到了几个问题: Dask
Drill
Sergeant
Dask
(ie )的格式fastparquet
有 a_metadata
和 a_common_metadata
文件,而parquet
in 中的文件R \ Drill
没有这些文件,parquet.crc
而是有文件(可以删除)。这些实现之间有什么区别parquet
? (仅回答1),请单独发布问题,以便于回答)
_metadata
并且_common_metadata
是 Parquet 数据集不需要的帮助文件,这些文件由 Spark/Dask/Hive/... 用于推断数据集的所有 Parquet 文件的元数据,而无需读取所有文件的页脚。与此相反,Apache Drill 在每个文件夹中(按需)生成一个类似的文件,其中包含所有 Parquet 文件的所有页脚。仅在对数据集的第一次查询时读取所有文件,进一步的查询将仅读取缓存所有页脚的文件。
工具使用_metadata
并且_common_metadata
应该能够利用它们来获得更快的执行时间,但不依赖于它们进行操作。在它们不存在的情况下,查询引擎只需要读取所有页脚。