我在蜂巢里有一个分区的兽人表。在用HDFS上所有可能的分区加载表之后--多个ORC文件,即HDFS上的每个分区目录都有一个ORC文件。我需要将每个分区下的所有这些ORC文件组合成一个大的ORC文件,用于一些用例。
有人能建议我将这些多个ORC文件(属于每个分区)合并成一个大的ORC文件吗?
我尝试过从分区表中创建一个新的非分区ORC表。它确实减少了文件的数量,但没有减少到一个文件。
PS:从另一个表中创建一个表是一个完全的映射任务,因此使用属性“set mapred.reduce.tasks=1;”将减缩器的数量设置为1是没有帮助的。
谢谢
发布于 2017-12-29 23:22:32
您可以使用CONCATENATE命令组合小的orc文件。这可以在表和分区级别完成:按照兽人文档的语法:
用户可以通过在表或分区上发出串联命令,请求有效合并小型ORC文件。这些文件将在条带级别合并,而不进行重新序列化。
ALTER TABLE istari [PARTITION partition_spec] CONCATENATE;https://stackoverflow.com/questions/48027514
复制相似问题