如何解决Hive1.1.0-通过动态分区将数据加载到RC表中时获取小文件
我正在使用insert into
命令将数据从txt表加载到RC表。
目标表(RC)是分区表,因此,启用了动态分区。在insert into
命令的结尾,我在每个分区中都有多个小文件...我试图设置几个用于合并的Hive参数,但结果大致相同...
对我唯一有用的是在order by [any column]
命令中添加insert into
的情况。在这种情况下,存在一个减少过程,最终导致每个分区中只有一个文件。
这就像丑陋的解决方法,我正在寻找一种更优雅的方法。
有什么建议吗?
谢谢
解决方法
尝试添加DISTRIBUTE BY <partition key(list)>
而不是ORDER BY
,它将按分区键对数据进行分组,最终reducer将处理每个分区,而不是每个reducer进程都写入每个分区文件,并且比{{1 }}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。