在实时分析场景下,Avro、Parquet、JSON 等序列化格式有哪些权衡?你会如何根据 schema 演进、压缩与处理速度选择合适格式?
Discuss the trade-offs between different data serialization formats such as Avro, Parquet, and JSON in the context of real-time analytics. How would you choose the appropriate format for a given use case, considering factors such as schema evolution, compression, and processing speed?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: data-formats, real-time-analytics
标签: Avro, Parquet, JSON, Schema Evolution, Compression, OLAP, Kafka
参考答案摘要
TL;DR 选择取决于场景需求: Avro :支持 schema 演进、结构紧凑,适合 Kafka 消息 Parquet :列式存储、压缩高、查询性能强,适合 OLAP JSON :可读性强但空间与处理效率较低 实时分析偏重速度时可优先 Avro;若还需要强分析查询,可将流数据先 Avro 进入系统,长期存储再转换为 Parquet。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。