gpt4 book ai didi

hadoop - 如何将分区 Hive ORC 表中的多个 ORC 文件(属于每个分区)组合成一个大的 ORC 文件

转载 作者:可可西里 更新时间:2023-11-01 15:52:08 26 4
gpt4 key购买 nike

我在 Hive 中有一个分区的 ORC 表。在用所有可能的分区加载表后,我得到了 HDFS - 多个 ORC 文件,即 HDFS 上的每个分区目录都有一个 ORC 文件。对于某些用例,我需要将每个分区下的所有这些 ORC 文件组合成一个大的 ORC 文件。

有人可以建议我将这些多个 ORC 文件(属于每个分区)组合成一个大的 ORC 文件的方法。

我已经尝试从分区表创建一个新的非分区 ORC 表。它确实减少了文件数量,但没有减少到单个文件。

PS:从另一个表创建一个表完全是一个 map 任务,因此使用属性“set mapred.reduce.tasks=1;”将 reducer 的数量设置为 1;没有帮助。

谢谢

最佳答案

您可以使用CONCATENATE 命令来合并小的orc 文件。这可以在表和分区级别完成:根据 orc 的语法文档:

users can request an efficient merge of small ORC files together by issuing a CONCATENATE command on their table or partition. The files will be merged at the stripe level without reserialization.

ALTER TABLE istari [PARTITION partition_spec] CONCATENATE;

关于hadoop - 如何将分区 Hive ORC 表中的多个 ORC 文件(属于每个分区)组合成一个大的 ORC 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48027514/

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