文件格式存储的最佳实践 (Hadoop)

Best practice for file format storage (Hadoop)

我想获得有关数据格式的建议,尤其是将我的数据存储在 HDFS 中的最佳解决方案是什么。

我收到了很多 JSON 和 XML 格式的消息。为了高效处理,我需要将这些文件转换为适合 Hadoop 的更好格式,并将它们存储在 HDFS 中。 这些文件的架构不会随时间改变,并且这些文件可大可小 (<64Mb)。我需要压缩这些文件。然后,我会通过Spark对数据进行处理,判断是否有错误,然后生成报告。

因此,经过一些研究,我认为最适合我的用例的格式是 Avro(即使我不需要进行模式演化),因为它提供了压缩和可拆分性。但是,我不确定这个解决方案。

感谢您的帮助:)

取决于您的需求:

  • Avro 是一种很好的存储文件的文件格式,因为它具有良好的压缩性,并且 Avro 可插入 pig、hive、spark ...此外还有 schemaregistry of confluent I/O 你可以随着模式的演变进行管理。

  • Parquet压缩率top不错,但是是柱状格式。它与 pig、hive、spark 的可插拔性太强,但 Parquet 对于过滤器查询更有效。

在我看来,如果你只是想存储数据并对数据进行全面扫描,我会继续使用 avro,但如果你想使用 impala 或 hive 查询数据以进行商业智能,你会变得更好Parquet 的结果。

我的 2 美分