gpt4 book ai didi

java - 需要删除 HDFS 中的part-m-0000* 文件

转载 作者:行者123 更新时间:2023-12-01 15:39:49 25 4
gpt4 key购买 nike

在 HDFS 处理中,每个作业后都会创建空文件,其名称如part-m-0000*。这些文件中的每一个都是空的,但它们消耗了 64MB 的磁盘空间,因为这是 block 的默认大小。

有必要更改代码以跳过这些文件的创建。我该怎么做?

注意:我正在使用org.apache.hadoop.mapreduce.lib.output.MultipleOutputs<KEYOUT,VALUEOUT>写入输出记录,而不是上下文,所以无论如何我最终都会在“successful-m-00000”等文件中得到输出记录。

最佳答案

根据Hadoop : The Definitive Guide ,因此如果文件为空,底层文件系统将不会采用HDFS block 大小。

Unlike a filesystem for a single disk, a file in HDFS that is smaller than a single block does not occupy a full block’s worth of underlying storage.

要抑制输出文件(如果它们为空),请使用 LazyOutputFormat#setOutputFormatClass 。这是 Apache documentation对于同样的。

关于java - 需要删除 HDFS 中的part-m-0000* 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8242664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com