我们在parquet
(Python)和Dask
(使用Drill
数据包的R)中生成了Sergeant
文件。我们注意到了一些问题:
Dask
(即fastparquet
)的格式包含_metadata
和_common_metadata
个文件,而parquet
中的R \ Drill
文件的格式为parquet.crc
没有这些文件,而是有parquet
个文件(可以删除)。这些CMD ["java", "-jar", "/usr/src/myapp/dist/some.jar"]
实现之间有什么区别? 答案 0 :(得分:2)
(只回答1),请发出单独的问题,以便更容易回答)
_metadata
和_common_metadata
是Parquet数据集不需要的辅助文件,Spark / Dask / Hive / ...使用这些辅助文件来推断所有Parquet文件的元数据。数据集,无需读取所有文件的页脚。与此相反,Apache Drill在每个文件夹(按需)中生成一个类似的文件,其中包含所有Parquet文件的所有页脚。只有在数据集的第一个查询中,才会读取所有文件,进一步的查询只会读取缓存所有页脚的文件。
使用_metadata
和_common_metadata
的工具应该能够利用它们来加快执行速度,但不依赖于它们进行操作。如果它们不存在,则查询引擎只需要读取所有页脚。