在编写元数据文件时,ThriftParquetWriter实际上会生成两个文件:_metadata和_common_metadata。 https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java 这两个文件有什么不同之处?它们的文件大小不同,因此一定有所不同。谢谢。
在查看https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetFileWriter.java源代码时,我认为: _common_metadata包含该目录中parquet文件的合并模式。 _metadata将仅包含该目录中最近编写的parquet文件的模式。
这似乎不是这种情况。我只在分层集合中看到_common_metadata(其中有列编码为目录名称)。_common_metadata 包含整个表的模式,包括这些分层列,而 _metadata 包含用于部分文件的模式(省略分层列),还包括所有文件的每个文件列统计信息(最小值、最大值等)及其完整相对路径名。