对比
Parquet 与 ORC
Parquet 和 ORC 都是面向大规模分析数据的列式格式。应根据查询引擎、现有平台和实测工作负载选择。
应该选择哪种格式?
优先选择现有引擎和工具支持更好的格式,并用有代表性的数据和查询进行测试。
适用于 Parquet
为分析保存结构化表格
- 只需读取部分列的大型数据集
适用于 ORC
为分析存储大型结构化表格
- 读取所选列并利用索引的查询
基本信息
| 项目 | Parquet | ORC |
|---|---|---|
| 扩展名 | .parquet | .orc |
| MIME 类型 | application/vnd.apache.parquet | application/vnd.apache.orc |
| 常见用途 | 为分析保存结构化表格 | 为分析存储大型结构化表格 |
| 打开方式 | 使用支持 Parquet 的工具检查模式、列类型、行数和值。 | 使用支持 ORC 的工具检查模式、列、行数、压缩和示例值。 |
| 导出或转换 | 从 CSV 等格式转换时,检查类型、空值、时间戳、编码、分区和行数。 | 转换为 Parquet 或 CSV 时,检查类型、空值、时间戳、小数、分区和行数。 |
按用途选择
只需读取部分列的大型数据集
为分析保存结构化表格
Parquet读取所选列并利用索引的查询
为分析存储大型结构化表格
ORC关键点 1
两者都按列存储值,适合分析读取。
进一步了解差异关键点 2
ORC 包含类型信息和文件内索引。
进一步了解差异进一步了解差异
使用真实数据集比较读取性能、压缩、模式处理和互操作性。应保留适合生产流程的格式,而不要只按扩展名决定。
- Parquet 广泛用于分析引擎和数据湖工作流。
- ORC 提供带索引的列式存储,可帮助选择性读取。
- 引擎支持、表格式和查询模式都会影响结果。
常见问题
其中一个总是更快吗?
不是。性能取决于引擎、数据形状、压缩设置和查询。请基准测试目标负载。