SO 和网络上的大多数问题/答案都讨论使用 Hive 将一堆小 ORC 文件合并为一个较大的文件,但是,我的 ORC 文件是按天分隔的日志文件,我需要将它们分开。我只想每天“汇总”ORC 文件(HDFS 中的目录)。
我最有可能需要用 Java 编写解决方案,并且遇到过Orc文件合并操作符 https://hive.apache.org/javadocs/r1.2.2/api/index.html?org/apache/hadoop/hive/ql/exec/OrcFileMergeOperator.html这可能是我需要使用的,但现在下结论还为时过早。
解决这个问题的最佳方法是什么?
您不需要重新发明轮子。
ALTER TABLE table_name [PARTITION partition_spec] CONCATENATE
可用于将小 ORC 文件合并为较大文件,因为Hive 0.14.0.
合并发生在条带级别,这避免了对数据的解压缩和解码。它工作速度很快。我建议创建一个按天分区的外部表(分区是目录),然后将它们全部合并指定PARTITION (day_column)
作为分区规范。
看这里:语言手册+ORC https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)