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

标签 file hadoop format avro

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

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

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

感谢您的帮助:)

最佳答案

取决于您的需求:

  • Avro 是一种很好的存储文件的文件格式,因为它具有良好的压缩性,并且 Avro 可插入 pig、hive、spark ...模式。

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

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

我的 2 美分

关于file - 文件格式存储的最佳实践 (Hadoop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34527799/

相关文章:

linux - 释放函数在另一个进程上下文中被调用

hadoop - 在 Pig 中对多列使用 SUM 时出错

php - 如何转换yyyy-MM-dd HH :mm:ss to "15th Apr 2010" using PHP

python - 如何以固定宽度打印字符串?

format - LibreOffice Calc 单元格格式代码中的新行

java - 在 android 中恢复下载时视频文件已损坏

windows - 在 Windows cmd 中查找两个文本文件之间的交集

java - 为什么 setLastModified(time) 不适用于此文件?

hadoop - 在运算符之外使用 Airflow 宏

hadoop - 如何在hadoop中安排作业