Hive分区
动态分区插入数据时,因为创建的目录较多、文件较多,而导致系统报错,如何处理?
可以通过hive配置,增加动态分区支持的目录数,和创建的文件数。
set hive.exec.max.dynamic.partitions.pernode=10000;
set hive.exec.max.dynamic.partitions=100000;
set hive.exec.max.created.files=150000;
Hive内存溢出
Yarn 内存配置
yarn.nodemanager.resource.memory-mb、yarn.scheduler.maximum-allocation-mb配置的值要保持一致,将主机剩余的可用内存,都划分到这两个配置中。比如系统一共分配了32G内存,系统和程序已经使用了12G内存,剩下20G内存,这两个配置就都配置为20G。
yarn.app.mapreduce.am.command-opts(JVM内存)的值也要同步修改为略小的值,格式:-Xmx1024m。
MR内存配置
根据需求进行调配,但此处的配置不能高于Yarn的内存配置。
mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的内存设置,要大于mapreduce.map.java.opts、mapreduce.reduce.java.opts的配置。
关闭MapJoin
MapJoin能够提高hive分析性能,但是占用