哪种更好的文件格式可以在蜂巢中存储更多的小文件?为什么呢?

时间:2019-06-04 06:43:10

标签: hive hdfs

如果我有更多的小文件需要存储在蜂巢表中。哪种文件格式是更好的存储方式,为什么?

2 个答案:

答案 0 :(得分:0)

您可以将此mapred.job.reuse.jvm.num.tasks进行改进。下面的链接很有用 https://blog.cloudera.com/blog/2009/02/the-small-files-problem/

reuse JVM in Hadoop mapreduce jobs

答案 1 :(得分:0)

使用效率低的文件格式(例如TextFile格式)和不压缩就存储数据会使小文件问题更加复杂,从而以不同方式影响性能和可伸缩性。例如,如果您在Hive中有一个表,而在hdfs中有很多非常小的文件,那不是最佳选择,最好将这些文件合并为较小的文件,因为在读取该表时会创建很多映射器。

使用Hive 连接功能:

当数据存储在Hadoop中并在其上构建hive表时,此方法将非常有用。基本上,Apache Hive提供了一个命令,用于将小文件合并为分区内的大文件。该命令的外观如下:

ALTER TABLE table_name [PARTITION (partition_key = 'partition_value' [, ...])] CONCATENATE;

仅当数据文件以 RC ORC 格式存储时,此功能才有效。