mapreduce 作业完成后,_temporary 目录不会从输出位置删除

Posted

技术标签:

【中文标题】mapreduce 作业完成后,_temporary 目录不会从输出位置删除【英文标题】:_temporary directory is not getting deleted from output location when mapreduce job is completed 【发布时间】:2017-05-05 08:57:21 【问题描述】:

我正在解析数据,以便通过 MapReduce 作业从中获得一些意义。解析后的数据以批次的形式出现。它通过火花流作业进一步加载到配置单元外部表。这是一个实时过程。现在我今天遇到了一个不寻常的事件,因为在输出位置创建了一个 _temporary 目录,由于无法将目录加载到 hive 表中,因此加载到 hive 表中失败。它只发生了一次,其余的工作都运行良好。请参考截图。

_temporary 目录还包含任务 ID 作为空的子目录。任何人都可以帮助解决这个问题,以便将来避免它。

【问题讨论】:

【参考方案1】:

_temporary 目录是在有一些任务尚未完成时创建的,可能还有少量数据尚未将其实际位置从其临时位置移动。该任务可能在 Web UI 中显示为已完成,但数据移动尚未完成。完成此过程后,将只有 _SUCCESS 文件。您可以通过监视 _temporary 目录的大小来检查这一点。这将逐渐减少。

【讨论】:

该目录下没有任何内容,批处理成功完成。理想情况下,它应该删除 _temporary 目录,但即使在作业完成后,该目录仍然存在。 嘿伙计,我在这里遇到了同样的问题,你找到解决这个幻像 _temporary 问题的方法了吗? @MohitRaja

以上是关于mapreduce 作业完成后,_temporary 目录不会从输出位置删除的主要内容,如果未能解决你的问题,请参考以下文章

大数据处理技术作业——使用HBase&MongoDB&MapReduce进行数据存储和管理

大数据处理技术作业——使用HBase&MongoDB&MapReduce进行数据存储和管理

所有任务尝试都已完成,但mapreduce中的作业失败

Hadoop MapReduce 作业成功完成,但未向 DB 写入任何内容

mapreduce shuffle 和sort 详解

MapReduce 作业永远运行