前言
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系
正文
- hive 如果有过多的分区,由于底层是存储在 HDFS 上,HDFS 上只用于存储大文件而非小文件,因为过多的分区会增加 NameNode 的负担。
可以参考我的这篇博客来理解——Block块是不是设置的越大越好?Block块是不是设置的越小越好?
- hive 会转化为 MapReduce, MapReduce 会转化为多个 task。过多小文件的话,每个文件一个 task,每个 task ー个 JVM 实例,JVM 的开启与销毀会降低系统效率。
注意: 合理的分区不应该有过多的分区和文件目录,并且每个目录下的文件应该足够大