Hive index mapreduce内存错误



我是hive和hadoop的新手,刚刚在hive上创建了一个表(orc文件格式)。我现在试图在我的hive表(位图索引)上创建索引。每次运行索引构建查询时,hive都会启动索引的map reduce作业。在某些时候,我的map reduce作业只是挂起,我的一个节点(在多次重试中随机不同,所以可能不是节点)失败了。我试图增加我的mapreduce.child.java.opts到2048mb,但这给了我错误使用更多的内存比可用的,所以我增加,mapreduce.map.memory.mbmapreduce.reduce.memory.mb到8GB。其他配置保持默认值

任何帮助我错过了什么配置将非常感激。

只是为了上下文,我试图索引一个表24亿行,这是450GB的大小,有3个分区。

首先,请确认索引是否适用于小规模数据。假设它完成了,map reduce作业由Hive运行的方式取决于许多问题。1. 查询类型(使用count(*)或Select *)。2. 还有,在执行阶段分配的减速器的内存量。(这是由hive.exec.reducers.bytes.per控制的。减速机属性)。

在你的照顾下它可以是第二点。给出运行程序的比例,请相应地计算内存需求。这篇文章有更多的信息。快乐学习和编码

最新更新