如何从现有Parquet文件中确定parquet.writer.version版本?
如何确定Parquet文件的Writer版本(v1/PARQUET_1_0或v2/PARQUET_2_0)
你提到的PARQUET_1_0(v1)和PARQUET_2_0(v2)对应Parquet文件格式的两个版本,以下是几种直接查看的方法:
方法1:使用parquet-tools工具
执行以下命令查看文件元数据:
parquet-tools meta your_file.parquet
在输出结果中找到File Version字段:
- 值为
1.0对应PARQUET_1_0(v1) - 值为
2.0对应PARQUET_2_0(v2)
如果之前用parquet-tools dump没找到相关信息,是因为dump侧重文件内容展示,meta命令才会输出完整的文件元数据。
方法2:用Python的pyarrow库查询
编写简单脚本读取文件元数据:
import pyarrow.parquet as pq # 替换为你的Parquet文件路径 file_path = "your_file.parquet" parquet_file = pq.ParquetFile(file_path) print(f"文件格式版本: {parquet_file.metadata.format_version}")
输出结果中,1.0对应v1版本,2.0对应v2版本。
方法3:用Java代码查询(基于parquet-mr)
如果使用Java生态,可以通过parquet-mr库读取文件元数据:
import org.apache.parquet.hadoop.ParquetFileReader; import org.apache.parquet.hadoop.metadata.ParquetMetadata; import java.io.File; public class ParquetVersionChecker { public static void main(String[] args) throws Exception { // 替换为你的Parquet文件路径 File parquetFile = new File("your_file.parquet"); ParquetMetadata metadata = ParquetFileReader.readFooter(parquetFile); System.out.println("文件格式版本: " + metadata.getFileMetaData().getVersion()); } }
同样,版本值1.0对应PARQUET_1_0,2.0对应PARQUET_2_0。
内容的提问来源于stack exchange,提问作者ranger_sim_g
相关产品推荐
相关产品推荐

