如何在 HIVE 的分区中重命名文件

Posted

技术标签:

【中文标题】如何在 HIVE 的分区中重命名文件【英文标题】:How to rename file within a partition in HIVE 【发布时间】:2019-02-16 20:18:07 【问题描述】:

我在 hive 中有一个日期分区数据。但是,某个分区中的文件的名称类似于 000112_0。有没有办法重命名这个文件

【问题讨论】:

为什么要重命名,名称应该是什么? 既然是分区下的文件,我想你可以简单地使用 hdfs dfs -mv 命令重命名文件 【参考方案1】:

没有配置属性可以做到这一点,但您可以编写自定义减速器类,如OutputFormat 来实现这一点。

OutputFormat 描述了 Map-Reduce 作业的输出规范。 Map-Reduce 框架依赖作业的 OutputFormat 来:

验证作业的输出规范。例如检查输出目录是否不存在。 提供RecordWriter 实现以用于写出作业的输出文件。输出文件存储在FileSystem

【讨论】:

【参考方案2】:

你可以。运行:

hadoop fs -mv /path_to_file/old_name /path_to_file/new_name

【讨论】:

我就是这样完成任务的。感谢您的反馈

以上是关于如何在 HIVE 的分区中重命名文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET 中重命名文件?

如何在 C++ 中重命名文件

如何在上传过程中重命名图像文件

在 Hive 表中重命名名称为 count( distinct( id )) 的列

如何在 JGit 中重命名文件

如何在 Laravel 8 中重命名 .env 文件