对比
Avro 与 ORC 对比
Avro 常用于交换受模式约束的记录。ORC 按列存放带类型的数据,以便分析读取。
应该选择哪种格式?
面向记录的处理流程可考虑 Avro;在支持的分析系统中按列读取时可考虑 ORC。
适用于 Avro
按照定义好的模式交换记录
- 跟踪模式版本的事件和数据管道
适用于 ORC
为分析存储大型结构化表格
- 读取所选列并利用索引的查询
基本信息
| 项目 | Avro | ORC |
|---|---|---|
| 扩展名 | .avro | .orc |
| MIME 类型 | application/avro | application/vnd.apache.orc |
| 常见用途 | 按照定义好的模式交换记录 | 为分析存储大型结构化表格 |
| 打开方式 | 使用支持 Avro 的工具检查模式、字段、类型和记录。 | 使用支持 ORC 的工具检查模式、列、行数、压缩和示例值。 |
| 导出或转换 | 转换为 JSON 或 Parquet 时,检查字段名、类型、空值、逻辑类型、记录数和模式兼容性。 | 转换为 Parquet 或 CSV 时,检查类型、空值、时间戳、小数、分区和行数。 |
按用途选择
跟踪模式版本的事件和数据管道
按照定义好的模式交换记录
Avro读取所选列并利用索引的查询
为分析存储大型结构化表格
ORC关键点 1
Avro 以记录及模式为核心。
进一步了解差异关键点 2
ORC 使用列式存储和索引支持分析。
进一步了解差异进一步了解差异
按处理模式及目标平台工具选择,并测试模式处理与典型查询。
- Avro 适合记录序列化与交换。
- ORC 面向列式分析读取。
- 计算引擎支持及工作负载比笼统的格式排名更重要。
常见问题
ORC 能直接替代事件流程中的 Avro 吗?
不能想当然。先确认流程需要的是记录消息还是列式分析文件。