我试图了解HIVE中ALTER TABLE CONCATENATE的工作原理。
我看到了这个链接How does Hive 'alter table <table name> concatenate' work?,但是我从该链接中得到的仅仅是ORC文件的合并发生在 strip 级别。
我正在寻找有关CONCATENATE如何工作的详细说明。例如,我最初在HDFS中有500个小的ORC文件。我运行了Hive ALTER TABLE CONCATENATE,文件合并为27个更大的文件。随后的CONCATENATE运行将文件数量减少到16,最后我最终得到了两个大文件。(使用Hive 0.12版本)所以我想了解
任何帮助表示赞赏,并在此先感谢
最佳答案
正如@leftjoin所评论的,确实可以为同一基础数据获取不同的输出文件。
linked HCC thread中对此进行了更多讨论,但关键是:
请注意,在正常情况下,拥有不同大小的文件应该不是问题。
如果要简化过程,则根据数据量的大小,可能还需要在写入HDFS之前对其进行一点批处理。例如,通过在NiFi中设置批量大小。
关于hadoop - HIVE中的ALTER TABLE命令中的CONCATENATE如何工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52170452/