伙计们,
可以在Hadoop处理的不同阶段使用的推荐文件格式是什么。
处理:我一直在hive中使用文本格式/JSONserde进行处理。这是我执行ETL(转换)操作的暂存表的好格式吗?我应该使用更好的格式吗?我知道Parquet/ORC/AVRO是专门的格式,但它是否适合ETL(转换)操作。此外,如果我使用诸如Snappy for Zlib的压缩技术,这是否是推荐的方法(我不想因为压缩而导致额外的CPU利用率而降低性能,纠正我,如果压缩会有更好的性能)
报告:根据我的查询需要
聚合:使用列式存储似乎是一个合乎逻辑的解决方案。ParquetSnappy压缩是否很合适(假设我的hadoop发行版是Cloudera)。
完整的行获取如果我的查询模式需要一行中的所有列,选择列式存储是明智的决定吗?或者我应该选择AVRO文件格式
存档:对于存档数据,我计划使用AVRO,因为它以良好的压缩处理模式演变。
选择文件格式取决于使用情况。您正在hive中处理数据,因此建议如下。
处理:使用ORC进行处理,就像使用聚合和其他列级操作一样。它将有助于将性能提高许多倍。
压缩:在案例基础上明智地使用它将有助于通过减少昂贵的IO操作时间来提高性能。
如果用例是基于行的操作,则建议使用Avro。
希望这将有助于做出决定。